-
Notifications
You must be signed in to change notification settings - Fork 619
feat(oracledb): Add support for Oracle DB instrumentation #2612
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
Conversation
Add Oracledb instrumentation
|
|
maryliag
left a comment
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.
Thank you for addressing all comments. It's almost there :)
I added a few more comments, all easy to fix!
plugins/node/opentelemetry-instrumentation-oracledb/src/semconv.ts
Outdated
Show resolved
Hide resolved
|
|
||
| import { | ||
| ATTR_SERVER_ADDRESS, | ||
| SEMATTRS_NET_TRANSPORT, |
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'm still seeing a lot of SEMATTRS_ here
maryliag
left a comment
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.
Great work on this!
|
Thanks @maryliag and @blumamir for your review and thanks @marcalff for the sponsor support! |
Thank you so much... |
|
It looks like the failed test may be flaky (intermittently asserting different connection counts). Would it be possible to either ignore this failure for this PR, or re-run the CI? Thanks for your time! |
@onurtemizkan, I believe this is a flaky error and can be safely ignored. |
|
Thanks @blumamir for merging this PR. |
Add Oracledb instrumentation
Which problem is this PR solving?
Adding instrumentation support for node-oracledb applications connecting to Oracle database.
Short description of the changes
From node-oracledb version 6.7 onwards, oracledb module exports a class,
TraceHandlerBasewhich simulates interface kind of functionality with abstract methods to be overwritten by the derived class.The current OT module derives this class
TraceHandlerBaseand implements abstract methods; It usessetTraceInstancemethod oforacledbmodule to register this new derived classOracleTelemetryTraceHandlerThese methods are invoked by
oracledbmodule providing thetraceContextwhich is used to dump the data in to the span after converting to standard span attributes.Following are the abstract methods implemented:
oracledbmodule when application invokesgetConnectionto create a connection todatabase or
executemethod to run a sql. It is invoked before invoking the public API calls made by application.