Not receiving transaction

We have a project with multiple NodeJS components. In all of the project we have built in the APM connection. Every component works fine except one. For this one we receive the Metrics in APM but not the Transactions. Therefor we think the connection with APM is fine, probelly something else is wrong.

Some info :
• APM on premise: 7.9
• NodeJS : V12
• elastic-apm-node : 3.7.0

What have done already:
• Starting the APM als first.

• Downgrade NodeJS to V10

Is there someone who has the same problem and has a solution?

Hey there @keon109, nice to meet you.

There are myriad reasons why a component or service might be sending metrics without generating transactions.

Looking at your code, a few questions that might help clarify things comes to mind

  1. Are all these "components" using the same source code, or is each component a different service/application?

  2. I noticed that your code is using an import statement. What are you using to transpile your ES6 imports into code that Node.js can understand?

  3. What web framework are you using in ./app that you expect to be generating transactions?

If you can answer those questions, folks may be better able to help you get to the bottom of things.

Hey Alanstorm, thanks for the response....

To answer your questions:

  1. Each component is a different application
  2. We use Babel (cli: 7.2.3, core: 7.3.4, node: 7.2.2 and polyfill: 7.0.0)
  3. The framwork is Express.js (4.14.1)

Hope this will help you to find mine problem

That's useful information, thank you @keon109. Express is definitely a supported framework, so we're good there and can move on to the next set of questions.

You mentioned you're using Babel -- what does the final compiled source file that you're running via NodeJS look like? Is the elastic-apm-node require still at the top?

What does your invocation of node look like that starts the application?

The basic gist of these questions is trying to understand the actual JavaScript code that node is running for your application. Once we've got these answered, we'll either know the problem, or can move on to debugging your actual application.