-
Notifications
You must be signed in to change notification settings - Fork 1k
Implement db.query.summary for SqlClientAttributesExtractor #15548
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
base: main
Are you sure you want to change the base?
Conversation
add6c0a to
b7451ce
Compare
f299e7c to
c5970ae
Compare
| equalTo( | ||
| DbAttributes.DB_QUERY_SUMMARY, | ||
| emitStableDatabaseSemconv() ? "CALL" : null)), |
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.
should this be CALL NEXT VALUE?
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.
I think it would be better to call it CALL Customer_SEQ or maybe CALL NEXT VALUE FOR Customer_SEQ. Having the summary contain the sequence name feels more informative. The sample summaries in the spec also contain the table names.
b736229 to
2b193cd
Compare
a10beca to
2aa9083
Compare
When SQL query text cannot be parsed (e.g., invalid SQL or non-SQL text), the span name was incorrectly falling back to server.address instead of the default 'DB Query' name. According to semconv, server.address should only be used as part of the target when combined with an operation (e.g., 'SELECT localhost'). When there is no operation, the fallback should be db.system.name or the default span name. This change ensures that server.address is only used when we have a valid operation to combine it with, preventing span names like 'localhost' when the SQL cannot be parsed. Fixes failing tests in: - :instrumentation:jdbc:javaagent:testStableSemconv - :instrumentation:jdbc:library:testStableSemconv - :instrumentation:cassandra:cassandra-3.0:javaagent:testStableSemconv
Per the stable database semantic conventions, when neither operation nor target are available, the span name should be db.system.name. Updated the test to expect 'other_sql' (the db.system.name value) for stable semconv, while keeping 'DB Query' for old semconv to maintain backward compatibility.
e761302 to
69592b0
Compare
No description provided.