Skip to content

feat(instrumentation-pg): propagate context using set application_name#3454

Open
mhennoch wants to merge 5 commits intoopen-telemetry:mainfrom
mhennoch:pgsetappname
Open

feat(instrumentation-pg): propagate context using set application_name#3454
mhennoch wants to merge 5 commits intoopen-telemetry:mainfrom
mhennoch:pgsetappname

Conversation

@mhennoch
Copy link
Copy Markdown
Contributor

Changes

Adds SET application_name as a context propagation mechanism, 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:

  • Prepared statements -- SQL Commenter cannot be used with named/prepared queries, as the comment is baked into the statement text and every subsequent execution carries stale trace context.
  • Stored procedures -- SQL comments on the outer CALL statement are not visible to queries executed inside the procedure body.

SET application_name operates at the session level and avoids all of these issues.

There is ongoing discussion in the npgsql community about this not being the ideal long-term solution, but no better alternative currently exists for PostgreSQL, and getting to one will take a long time. I will also create a semconv issue about it. This feature is disabled by default, as in the other instrumentations.

Existing and related implementations

@mhennoch mhennoch requested a review from a team as a code owner March 26, 2026 09:29
@github-actions github-actions bot added pkg:instrumentation-mysql2 pkg:instrumentation-pg pkg:sql-common pkg-status:unmaintained This package is unmaintained. Only bugfixes may be acceped until a new owner has been found. labels Mar 26, 2026
@github-actions github-actions bot requested a review from maryliag March 26, 2026 09:29
@github-actions
Copy link
Copy Markdown
Contributor

This package does not have an assigned component owner and is considered unmaintained. As such this package is in feature-freeze and this PR will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
Are you familiar with this package? Consider becoming a component owner.

@raphael-theriault-swi raphael-theriault-swi removed pkg-status:unmaintained This package is unmaintained. Only bugfixes may be acceped until a new owner has been found. pkg-status:unmaintained:autoclose-scheduled labels Mar 27, 2026
@maryliag
Copy link
Copy Markdown
Contributor

maryliag commented Apr 7, 2026

I haven't checked the code yet, but can you add more tests? I can see that the codecov is failing, so this will need to increase the coverage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants