Comments (6)
@derN3rd This is definitely an oversight as mysql2/promise
is not supported at the moment. For now the safest would be to disable plugins and individually enable the plugins you need (except mysql2 until this is fixed). See the API docs for an example.
from dd-trace-js.
@rochdev Thanks for your quick reply. I already got it to work with mysql2 plugin disabled, but wasn't sure if I did something wrong.
I will wait for mysql2/promise
support then 😄
from dd-trace-js.
It seems this bug actually affects even the callback based version. It doesn't happen when mysql2
is required before the plugin however, so that could be a temporary workaround.
For example:
require('mysql2/promise') // require before to work around the bug
const tracer = require('dd-trace').init()
const mysql2 = require('mysql2/promise') // require again to apply patching
from dd-trace-js.
It doesn't crash now, but I also get no traces of my mysql2 queries.
Can this be because I have all queries in a external module?
If so, how can I patch the dependencies of this module too?
from dd-trace-js.
@derN3rd It should still be instrumented in external modules if the external module is required after the tracer is initialized.
Could you try something like this:
require('mysql2') // require callback version to avoid race condition with promise patch
const tracer = require('dd-trace').init()
const externalModule = require('external-module')
Also make sure you have re-enabled the plugin.
from dd-trace-js.
@rochdev Thanks man.
Got it to work. I have to do require('mysql2')
first, then initialize dd-trace. Afterwards I can use mysql2 OR mysql2/promise without any problems (Like your example).
I tried to require('mysql2/promise')
first, but that doesn't work.
Thanks for the help
from dd-trace-js.
Related Issues (20)
- datadog-plugin-graphql is not validating if directives is an array HOT 5
- Cypress tests not reporting correctly in CI Testing Visibility with `cypress-fail-fast` HOT 24
- Timeout Errors not Displayed in Datadog Dashboard Despite Successful Reporting with DD_TRACE_DEBUG HOT 9
- Segmentation for monorepos HOT 5
- Official DD-tracer Document should be updated to point out `none` OF DBM option is replaced with value `disabled` HOT 2
- Unhandled rejection thrown with Mongodb 6.4.0 HOT 1
- Add tags to the Service Entry Span in Middleware HOT 1
- How to trace jest with custom environment HOT 1
- Code that outputs neverthrow ResultAsync promise-like objects cannot be traced or wrapped
- Dogstatsd is undefined during jest tests HOT 7
- Added histogram method to dogstatsd
- Difficulties adding TAGS to test executions in CI Test Visibility HOT 6
- How to trace full request from service A to service B via TCP transport in NEST JS?
- Continuous profiling not working with NextJS instrumentation HOT 3
- Cannot construct a Request with a Request object that has already been used HOT 18
- `child_process` missing from plugin types in TS headers
- `child_process` plugin picks up shell commands not triggered by the traced process
- Error with ESM support when using the `openai` package
- Missing decrement function in NoopDogStatsDClient
- Memory Leak in dd-trace http plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dd-trace-js.