Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ownership Transition for Fastify Instrumentation #2647

Open
1 of 2 tasks
metcoder95 opened this issue Jan 15, 2025 · 7 comments
Open
1 of 2 tasks

Ownership Transition for Fastify Instrumentation #2647

metcoder95 opened this issue Jan 15, 2025 · 7 comments

Comments

@metcoder95
Copy link

  • This only affects the JavaScript OpenTelemetry library
  • This may affect other libraries, but I would like to get opinions here first

Hello! 👋
I'm part of the Fastify Core Collaborators, and I'm opening this issue to continue the efforts towards the ownership signup for the @opentelemetry/instrumentation-fastify instrumentation.

After we received the following issue fastify/fastify#5862 to sign up as component owners of the instrumentation library previously mentioned, we decided internally to adopt and issue within Fastify organization an official instrumentation for Fastify: https://github.com/fastify/otel

As a further step, we would like to know your thoughts and ask you if mark the @opentelemetry/instrumentation-fastify as a deprecated library in favor of @fastify/otel.

We will be maintaining the instrumentation under our umbrella from now on, but we would like to communicate this to further users so they are able to transition into the new instrumentation.

Thanks!

@pichlermarc
Copy link
Member

Hi @metcoder95 - this is great news! We're super happy to see this being officially instrumented by fastify authors 🎉
I'll sync with the other maintainers today how we go about deprecating the component - I'll document what we talked about here.

I expect that we're going to:

  • update the README.md that the package is now deprecated, pointing to https://github.com/fastify/otel as the replacement
  • add a @deprecated annotation to point towards @fastify/otel as a replacement
  • deprecate @opentelemetry/instrumentation-fastify in npm and point towards @fastify/otel as a replacment
  • remove the code here so that only the README.md remains for people that are looking for @opentelemetry/instrumentation-fastify

While we're doing that, I think adding the instrumentation to the OTel Registry (see instructions) would help a lot with discoverability of the new instrumentation. 🙂

@pichlermarc
Copy link
Member

I'll sync with the other maintainers today how we go about deprecating the component - I'll document what we talked about here.

Alright, this is the full plan:

  • As a first step, we'll modify the @opentelemetry/auto-instrumentations-node package and make @opentelemetry/instrumentation-fastify default-disabled, we'll document how users can move forward with @fastify/otel.
  • To smooth over the transition, we'll have a 2 month period where they can still enable @opentelemetry/instrumentation-fastify via the OTEL_ENABLED_INSTRUMENTATIONS env var.
  • we will update the README.md that the package is now deprecated, pointing to https://github.com/fastify/otel as the replacement
  • we will add a @deprecated annotation to point towards @fastify/otel as a replacement
  • we will deprecate @opentelemetry/instrumentation-fastify in npm and point towards @fastify/otel as a replacement
  • after the two months we will drop @opentelemetry/instrumentation-fastify
  • we will then remove the code here so that only the README.md remains for people that are looking for @opentelemetry/instrumentation-fastify

I'll get started working on this as soon as possible. 🙂

@metcoder95
Copy link
Author

Hi @pichlermarc, thanks a lot for the clarity of the process, the support and the good reception of the new change! 🙌

Let us know if there’s something extra that needs to be done by our side towards this deprecation; in the meanwhile, I’ll be preparing the needed to onboard the instrumentation into the OTel Registry 🙂

@dormesica
Copy link

dormesica commented Jan 22, 2025

Hi @pichlermarc @metcoder95

Please correct me if I'm wrong @metcoder95 but as far as I understand it fastify/otel only supports Fastify v5 at the moment. In that case the only way to instrument Fastify v4 would be using instrumentation-fastify.

Will instrumentation-fastify be supported until Fastify v4 is deprecated?

@pichlermarc
Copy link
Member

@dormesica the way I understand fastify@4's LTS support ends June 30, 2025 - so that'd be 3 months on top of what's the current plan.

I'd be okay with keeping it around until June 30 unless we run into problems that require us to drop it earlier than that. We will drop support for Node.js <18 way earlier than that though (February 17) - so the utility of keeping it around may be somewhat limited.

@metcoder95
Copy link
Author

@pichlermarc is right, that's the timeline support for v4.

We are planning to add support for Fastify v4 for @fastify/otel; nevertheless and if the OTel team is fine with this, it would be great if is possible to keep limited support until v4 goes EOL on June that will definitely help the community, as switching instrumentation requires some effort due to the way the work.

@pichlermarc
Copy link
Member

pichlermarc commented Jan 23, 2025

@metcoder95 yep, makes sense. I'll change the PR to keep it around until June 30 then. Thanks for the feedback 🙂
Edit: PRs updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants