[db] Add context propagation for PostgreSQL via SET application_name#3581
Open
mhennoch wants to merge 5 commits intoopen-telemetry:mainfrom
Open
[db] Add context propagation for PostgreSQL via SET application_name#3581mhennoch wants to merge 5 commits intoopen-telemetry:mainfrom
mhennoch wants to merge 5 commits intoopen-telemetry:mainfrom
Conversation
Co-authored-by: Sam Xie <sam@samxie.me>
…tions into pg-set-app-name
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add context propagation for PostgreSQL via SET application_name
Part of #2162
Adds SET application_name as a context propagation mechanism for PostgreSQL, following the pattern established for SQL Server (SET CONTEXT_INFO) and Oracle (V$SESSION.ACTION).
Why SET application_name?
PostgreSQL instrumentation already supports SQL Commenter, but it has limitations:
SET application_name operates at the session level and avoids all of these issues. The value is visible in pg_stat_activity and the OpenTelemetry Collector PostgreSQL receiver already parses it to extract trace context from query samples.
Note on application_name
There is ongoing discussion about whether application_name is the ideal long-term mechanism — a protocol-level approach would be better but doesn't exist today. An imperfect convention behind an opt-in flag is still useful: it unblocks users now and can help motivate database-native solutions over time.
Existing implementations