Performance Monitoring Powered by OpenTelemetry #55023
Replies: 3 comments 2 replies
-
is there any requirement for sentry version? |
Beta Was this translation helpful? Give feedback.
-
Hi, i have problem with enable this feature. No detailed information on operations. {
|
Beta Was this translation helpful? Give feedback.
-
An update regarding OTel and Sentry: 🔭
There are 2 ways to use OpenTelemetry with Sentry
|
Beta Was this translation helpful? Give feedback.
-
Hello everyone!
We are excited to share that we are working on a new blend of Performance (tracing) SDKs that combine the ease of use of Sentry with the broad technology support of OpenTelemetry.
Now that we've just finished our MVP for Node.js and Python, we'd like your feedback.
Below are some FAQs and answers that should help you understand what this is all about and how to get started.
What do I get?
Our goal was to combine the ease of use of Sentry with the tech coverage of OpenTelemetry.
OpenTelemetry offers built-in support for many backend platforms, protocols, and libraries, providing a two to three times wider coverage than you'd get with our current tracing SDKs. Additionally, we will expose the OpenTelemetry API for easy auto-instrumentation, allowing you to install any OpenTelemetry-compatible third-party instrumentation plugin.
How is the SDK different from using vanilla OpenTelemetry?
We released our OpenTelemetry span processor in early 2023, and users with existing OpenTelemetry setups can start sending traces to Sentry by adding three lines of code.
OpenTelemetry is a highly modular set of libraries built for extensibility and flexibility and is often not trivial to set up.
Here are all the dependencies that you need to combine and keep track of when instrumenting your application with OpenTelemetry and Jaeger.
Until now, you had to choose between the OpenTelemetry SDK or Sentry’s - this is no longer necessary as our new SDK bundles OpenTelemetry into a curated distribution -> You don't have to know OpenTelemetry to use it.
Does this also affect Errors and Profiling?
Sentry’s Error monitoring and Profiling capabilities are better than what OpenTelemetry provides today. Consequently, we use our existing instrumentation to collect these signals. All that happens transparently for our users.
What about Browser and Mobile monitoring?
Sentry’s browser and mobile monitoring capabilities are better. While we are considering simplifying the manual instrumentation API to make it similar to OTel, we don't intend to change these SDKs.
Can I mix old and new SDKs throughout my services?
Yes, the SDKs can be mixed (e.g., frontend-backend), and traces collected by them will be connected.
I used the old Sentry SDK for manual instrumentation. Will this still work?
We are still trying to figure that out. There will likely be caveats.
What prompted Sentry's shift to OpenTelemetry for Tracing?
At the time of Sentry's initial performance product development, OpenTelemetry was in the nascent stages of its lifecycle and still needed to be optimized for our requirements. Nevertheless, we maintained similarities in our data models and paradigms with OpenTelemetry. Since then, OpenTelemetry has significantly matured, passed the test of time, and has been generally available (GA) for over a year. It now boasts an extensive ecosystem of integrations spanning multiple technologies, including databases, queues, and protocols. When creating our SDK, we aimed to leverage OpenTelemetry's excellent technology coverage for our customers while staying true to our key paradigms: Easy usage, efficient data storage, and developer-centered performance insights.
How can I try it out?
So far, we offer experimental support for Node.js - please follow the instructions on the readme to try it out. Experimental support for Python was released in version 1.30.0 of the Python SDK - see the instructions in the release notes to check it out.
We also created a sample project comprising multiple connected Node.js services and a frontend.
While there are still some rough edges, traces should be complete and connected, and the data collected should be complete.
Where is the work happening? Where can I learn more?
You find all requirements and a trail of workstreams and issues in this meta issue.
Your feedback is appreciated
Please take the new SDKs for a swing and let us know
• if it was easy to set up
• if you encounter any errors or inconsistencies compared to the current SDKs
• if it's awesome and gives you better insights than you had before :)
Beta Was this translation helpful? Give feedback.
All reactions