Skip to content

SDK 3.0: Performance powered by OpenTelemetry #4337

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

Open
stephanie-anderson opened this issue Sep 25, 2024 · 23 comments
Open

SDK 3.0: Performance powered by OpenTelemetry #4337

stephanie-anderson opened this issue Sep 25, 2024 · 23 comments
Assignees

Comments

@stephanie-anderson
Copy link
Contributor

stephanie-anderson commented Sep 25, 2024

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:

Success Criteria

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

Timeframe

Estimated GA: May 2025

See also

@sentrivana
Copy link
Contributor

sentrivana commented Nov 4, 2024

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
Copy link
Contributor

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
Copy link
Contributor

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:

@sentrivana
Copy link
Contributor

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.

@stephanie-anderson
Copy link
Contributor Author

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

@sentrivana
Copy link
Contributor

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
Copy link
Contributor

No update -- last week was triage week

@sentrivana
Copy link
Contributor

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
Copy link
Contributor

sentrivana commented Jan 14, 2025

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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

@sentrivana
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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

@sentrivana
Copy link
Contributor

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

@sentrivana
Copy link
Contributor

sentrivana commented Mar 24, 2025

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
Copy link
Contributor

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

@sentrivana
Copy link
Contributor

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
Copy link
Contributor

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

@sentrivana
Copy link
Contributor

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

@stephanie-anderson stephanie-anderson transferred this issue from another repository Apr 28, 2025
@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Apr 28, 2025
@stephanie-anderson stephanie-anderson transferred this issue from another repository Apr 28, 2025
@sentrivana sentrivana changed the title [Python] Performance powered by OpenTelemetry SDK 3.0: Performance powered by OpenTelemetry Apr 29, 2025
@sentrivana sentrivana pinned this issue Apr 29, 2025
@sentrivana
Copy link
Contributor

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
Copy link
Contributor

3.0.0a1 is out now!

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

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

No branches or pull requests

3 participants