sentry-python icon indicating copy to clipboard operation
sentry-python copied to clipboard

SDK 3.0: Performance powered by OpenTelemetry

Open stephanie-anderson opened this issue 1 year ago • 23 comments

Description

Python SDK will use OpenTelemetry under the hood for spans/tracing. This switch will eventually allow us to:

  • add auto-instrumentation support for more libraries and frameworks
  • benefit from upstream bugfixes, integrations, features
  • be part of the OTel community
  • reduce our maintenance burden

In/Out of Scope

In Scope:

  • Releasing a new major version of the SDK with tracing powered by OpenTelemetry
  • A smooth migration path with backwards-compatible API

Out of Scope:

  • Errors-only version of the SDK https://github.com/getsentry/projects/issues/405
  • Adopting OTel instrumentation https://github.com/getsentry/projects/issues/406

Success Criteria

  • New SDK being adopted at a pace comparable with our 2.0 release.

Timeframe

Estimated GA: May 2025

See also

stephanie-anderson avatar Sep 25 '24 14:09 stephanie-anderson

Status update: see https://github.com/getsentry/projects/issues/74#issuecomment-2454606063

The brunt of the work is done, some details still need fixing We're now making sure all our integrations still work the same and CI passes After that we'll do the following: - Polishing code structure and APIs to final releasable state - Manual testing - Dogfooding

sentrivana avatar Nov 04 '24 12:11 sentrivana

We're continuing the work on fixing up our integration test suites and migrating sampling context to use span attributes.

Once the CI is mostly green, we'll sit down and make a plan for the next steps, which are:

  1. polishing the SDK into a final releasable state
  2. manual testing
  3. making a prerelease available
  4. preparing Sentry for dogfooding, actually doing the dogfooding and fixing whatever comes up

sentrivana avatar Nov 18 '24 13:11 sentrivana

This project has been split into three projects. This issue is now tracking the first project (full-featured OTel SDK). The follow up projects are:

  • https://github.com/getsentry/projects/issues/405
  • https://github.com/getsentry/projects/issues/406

sentrivana avatar Nov 18 '24 14:11 sentrivana

Continuing the work from last week: fixing CI & adapting tests, and migrating sampling context (almost done). Progress might be slow this week since multiple people are on sick leave.

sentrivana avatar Nov 25 '24 10:11 sentrivana

Hey @Jeffreyhung! Could you please move this issue for us to the sentry-python repository? 🙏

stephanie-anderson avatar Nov 28 '24 14:11 stephanie-anderson

Continuing work on finishing milestones 2 & 3 (building infrastructure & fixing integrations). Continuing with the sampling context both for tracing and for profiling and fixing more CI.

sentrivana avatar Dec 02 '24 12:12 sentrivana

No update -- last week was triage week

sentrivana avatar Dec 16 '24 10:12 sentrivana

Slow progress over the holidays. Gearing up to pick up where we left off -- fixing CI, and then next week when the whole team's back we'll have a kick-off session for the next steps working towards the first prerelease.

sentrivana avatar Jan 07 '25 10:01 sentrivana

Synced to clarify the way to the first alpha. Categorized what we want done before the alpha is out (code cleanup, fixing CI including linting, migration guide in the docs, some manual testing) and what can wait (general docs update). Cleaned up the milestones and issues.

Currently finishing fixing integration tests (one remaining), the next big step is code cleanup.

sentrivana avatar Jan 14 '25 13:01 sentrivana

Our test suite on the POTel branch is green!

We are now working on cleaning up the code (replacing the old Span/Transaction classes with our new POTelSpan, moving OTel code out of integrations where it originally was to a more prominent place now that it's an integral part of the SDK) and fixing whatever issues our linter and type checker surface.

We've also prepared a comprehensive pre-alpha test plan.

sentrivana avatar Jan 21 '25 09:01 sentrivana

The CI is now all green -- not just tests, but also linting and API docs.

We're continuing with the code cleanup (see previous comment). After that it's manual testing time.

sentrivana avatar Jan 27 '25 12:01 sentrivana

No progress last week, we were focusing on a handful of SDK-wide initiatives.

sentrivana avatar Feb 03 '25 09:02 sentrivana

Same as the week before, no progress on POTel last week, we were still finishing up with the SDK-wide initiatives and couple people were OOO.

sentrivana avatar Feb 10 '25 09:02 sentrivana

Sprinkling some POTel work throughout the still ongoing SDK-wide initiatives this week. Continuing with cleanup. We also started porting recent changes from master to the potel branch.

sentrivana avatar Feb 18 '25 12:02 sentrivana

Last week we were working on porting some of the master changes to the potel branch. We'll continue this week.

sentrivana avatar Feb 24 '25 09:02 sentrivana

Bug bash on master last week, this week as well. Minimal potel progress.

sentrivana avatar Mar 11 '25 07:03 sentrivana

Last week we were mostly continuing with the bug bash, but also cut out some time for POTel:

  • synced the POTel base branch with current master
  • ported the new Sentry logging experience to POTel
  • picked up porting sample_rand again which is the biggest reason tests are failing on the POTel branch, chipping away at failing test cases

sentrivana avatar Mar 24 '25 08:03 sentrivana

The remaining changes from master were ported last week (sample_rand and profiler). CI is now green again.

sentrivana avatar Apr 01 '25 07:04 sentrivana

Finishing up with the clean up this week, ready for the first alpha release next week or the week after (we still want to do some manual testing).

sentrivana avatar Apr 14 '25 09:04 sentrivana

Integrating different otel versions into our ci and starting manual testing this week.

sentrivana avatar Apr 23 '25 12:04 sentrivana

Prepared a migration guide for the docs to release with the alpha. Continuing with manual testing and fixing issues we've found.

sentrivana avatar Apr 28 '25 10:04 sentrivana

Continuing with manual testing, fixing minor issues and gearing up for our first alpha release this week. The migration guide is ready to go as well.

sentrivana avatar May 05 '25 14:05 sentrivana

3.0.0a1 is out now!

We're continuing with the testing and preparing for dogfooding.

sentrivana avatar May 08 '25 10:05 sentrivana