Hi,
I'm trying to troubleshoot spans that seem to be disappearing in a distributed trace environment.
In my current case, associations between transactions across multiple services are correctly tracked.
However, some spans I expect to show up are not showing up. One service is affected. I have a couple of ideas of where complications might arise.
This service is using knex
which seems to be listed as an "offending module"
https://www.elastic.co/guide/en/apm/agent/nodejs/master/supported-technologies.html
It's also using babel-register
which I am sure to require
before I require elastic-apm-node
and start()
it. This service's entry point checks NODE_ENV
and then either evaluates a module that was built by babel statically and stored on disk, or in the case of a non-production environment does require('babel-register')
to get on-demand transpilation. This latter situation is the one I'm troubleshooting now.
Here are my exact versions:
elastic-apm-node@2.8.0
babel-register@6.26.0
babel-core@6.26.3
knex@0.13.0
Are there any docs that explain the mechanisms used by apm-agent-nodejs
track the "active" transaction so that when I call the startSpan()
method of the Agent instance it knows which transaction it belongs to? I think that might be useful knowledge in troubleshooting this.
Any advice for troubleshooting would be welcome.
Thanks!