-
Notifications
You must be signed in to change notification settings - Fork 1.2k
PYTHON-5947 Add OpenTelemetry Operation and Transaction Span Support #2964
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
Draft
blink1073
wants to merge
63
commits into
mongodb:otel
Choose a base branch
from
blink1073:PYTHON-5947-otel-impl
base: otel
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
29edd6a
PYTHON-5947 Ignore .worktrees/ for local worktree isolation
blink1073 85b5635
PYTHON-5947 Add implementation plan for operation/transaction spans
blink1073 62a3746
PYTHON-5947 Add operation-span primitives to pymongo._otel
blink1073 70f2e80
PYTHON-5947 Revert accidental opentelemetry-sdk requirement addition
blink1073 404fa4d
PYTHON-5947 Add transaction pseudo-span primitives to pymongo._otel
blink1073 6ecf29c
PYTHON-5947 Add _OperationTelemetry class
blink1073 b67f77d
PYTHON-5947 Wire operation spans into the retryable read/write loop
blink1073 df42a32
PYTHON-5947 Pin sensitive-command operation-span gap in otel test
blink1073 815cb60
PYTHON-5947 Add transaction pseudo-spans
blink1073 51463ea
PYTHON-5947 Cover transaction early-return and retried-commit span paths
blink1073 165ea43
PYTHON-5947 Add operation span for unacknowledged client bulk writes
blink1073 3f0e7ca
PYTHON-5947 Update tracing docs for operation/transaction spans
blink1073 cbdc779
PYTHON-5947 Wire observeTracingMessages/expectTracingMessages into th…
blink1073 c8ae168
PYTHON-5947 Vendor OpenTelemetry unified spec tests and drop redundan…
blink1073 df50944
PYTHON-5947 Add regression test for _truncate_documents falsy-value bug
blink1073 b9a97bb
PYTHON-5947 Fix OTel operation-span naming/exception-attribute bugs f…
blink1073 6e5d940
PYTHON-5947 Add regression tests and refresh stale comments for OTel …
blink1073 488edd0
PYTHON-5947 Add replica-set coverage to the OTel Evergreen variant
blink1073 0de5fb9
PYTHON-5947 Remove internal SDD planning doc from git tracking
blink1073 5cffd77
PYTHON-5947 Add design spec for remaining OTel span coverage gaps
blink1073 3b8bf01
PYTHON-5947 Add implementation plan for OTel span coverage gaps
blink1073 a297446
PYTHON-5947 Add eager attributes and detached mode to operation spans
blink1073 04597f0
PYTHON-5947 Fix duplicate exception recording in use_operation_span
blink1073 f95d082
PYTHON-5947 Plumb dbname/collection and caller-owned spans through th…
blink1073 14b4e4c
PYTHON-5947 Thread dbname/collection to operation spans from all call…
blink1073 e28216e
PYTHON-5947 Fix change-stream namespace misclassification in _target_…
blink1073 7cbb6c6
PYTHON-5947 Nest find cursor getMores under one operation span
blink1073 bb2e8cf
PYTHON-5947 Nest command cursor getMores under their operation span
blink1073 bc09330
PYTHON-5947 Nest client bulk-write results cursor getMores under bulk…
blink1073 e8c1e2e
PYTHON-5947 Add operation spans for killCursors and endSessions
blink1073 610cc7e
PYTHON-5947 Reset OpenTelemetry context in the async periodic executor
blink1073 02340a4
PYTHON-5947 Add withTransaction span and fix retried-commit transacti…
blink1073 d321301
PYTHON-5947 Reuse one transaction span across with_transaction retries
blink1073 d91035d
PYTHON-5947 Guard against reentrant with_transaction span leak
blink1073 0b9f50c
PYTHON-5947 Document expanded OTel span coverage
blink1073 4350a1b
PYTHON-5947 Mention background-monitor span fix, polish changelog bullet
blink1073 a80e2a4
PYTHON-5947 Fix flaky otel span-capture cross-talk from stale monitors
blink1073 fa8ee79
PYTHON-5947 Route every managed test client through the monitor join
blink1073 2acf149
PYTHON-5947 Gate the monitor-join cleanup on tracing being enabled
blink1073 a0af1c2
PYTHON-5947 Fix with_transaction() clobbering a concurrent direct-API…
blink1073 6218352
PYTHON-5947 End single-batch command cursors' operation spans at cons…
blink1073 d4c973d
PYTHON-5947 Address final-review minor findings (assert, comment, cle…
blink1073 f40a62d
PYTHON-5947 Remove internal SDD planning docs from git tracking
blink1073 78723c5
PYTHON-5947 Tighten the OpenTelemetry changelog and docstring entries
blink1073 0e6aea2
PYTHON-5947 Clarify the OpenTelemetry span-nesting wording
blink1073 71e7f96
PYTHON-5947 Let test_operation_id_retry tolerate added _CommandTeleme…
blink1073 a4963f2
PYTHON-5947 Drop eager dbname/collection threading from the retry layer
blink1073 ca797ae
PYTHON-5947 Centralize namespace-parsing logic
blink1073 a7ec812
PYTHON-5947 Refresh a change-stream test comment after _target_namesp…
blink1073 6d3a17c
PYTHON-5947 Describe current behavior in the client bulk write span c…
blink1073 84679d3
PYTHON-5947 Extract with_transaction's retry loop and trim span comments
blink1073 1238aa4
PYTHON-5947 Restore original formatting at untouched retryable call s…
blink1073 6529f69
PYTHON-5947 Restore base formatting at three more untouched call sites
blink1073 b516237
PYTHON-5947 Declare cursor type on its own line
blink1073 5a0de65
PYTHON-5947 Let _ClientConnectionRetryable own its operation span
blink1073 05f2708
PYTHON-5947 Extract _retryable_read_cursor to dedupe cursor telemetry…
blink1073 1933c9d
PYTHON-5947 Leave _list_databases and _retryable_read_command untouched
blink1073 0b1b1d0
PYTHON-5947 Mirror _retryable_read's signature in _retryable_read_cursor
blink1073 49588fd
PYTHON-5947 Drop a trailing comma that forced a call to reformat
blink1073 b1ba1b0
PYTHON-5947 Fix CI-only OpenTelemetry test failures on pre-4.4/8.2 se…
blink1073 92d85b3
PYTHON-5947 Avoid em-dashes and 'via' in new comments and docs
blink1073 3afc2b4
PYTHON-5947 Rewrite ASCII double-dash prose in OTel comments and docs…
blink1073 bc9e680
PYTHON-5947 Reword three comments left awkward by the dash removal
blink1073 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -49,3 +49,6 @@ server.log | |
|
|
||
| # uv lockfiles | ||
| uv.lock | ||
|
|
||
| # Local git worktrees | ||
| .worktrees/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes were needed for the new
distinct.json, which has a falsey value for the field. These fields should not be dropped.