Kibana version: 7.14.1
Elasticsearch version: 7.14.1
APM Server version: 7.14.1
Open-telemetry collector version: 0.36
Description of the problem including expected versus actual behavior:
I am using opentelemetry to send traces to Elastic APM. My problem is that my nodejs application is not recognized as such (it shows the generic opentelemetry logo) and I am not able to set the deployment environment either.
I have instrumented another application in java using the opentelemetry java agent, and this one shows up properly as a java application and has the proper environment.
In my java application, I see this in the trace metadata:
But in my nodejs application, they appear under labels
:
This is how I declare the attributes for my tracer:
const provider = new NodeTracerProvider({
resource: new Resource({
[ResourceAttributesSC.SERVICE_NAME]: serviceName,
[ResourceAttributesSC.SERVICE_NAMESPACE]: "API",
[ResourceAttributesSC.DEPLOYMENT_ENVIRONMENT]: "dev",
[ResourceAttributesSC.TELEMETRY_SDK_NAME]: "opentelemetry/nodejs",
[ResourceAttributesSC.TELEMETRY_SDK_LANGUAGE]: "nodejs",
}),
});
Note that I do see the serviceName
with the proper value in the UI.
I was not able to configure my tracer in such a way that these metadata are interpreted properly by APM.