Open maxandersen opened 4 years ago
Without digging too much, i guess a quarkus extension using the OneAgent SDK is the official and cleaner way to go.
But this extension will have to propose integration with other framework to automatically trace the different layers / calls (database, etc.), or at least an annotation to easy flag what must be traced in the application.
If you're only interested into the PurePath (tracing) and/or metrics, the other way is to pass by opentelemetry. The dynatrace agent can receive opentelemetry data, and newer versions of quarkus (don't remember from which major version) are now officially supporting opentelemetry for tracing & metrics if i'm not wrong.
If you are looking for tracing / analytics features more specific to what dynatrace does, then supporting the OneAgent SDK might be better, did not really check what this SDK does when "tracing" the code.
Describe the extension Dynatrace supports detailed tracing of both native and java based applications; but out of the box it does not work in native-image. Would be great if by just adding this extension it would be made to work.
As things are now users will have to turn of dynatrace injection completely.
Additional context By default Dynatrace uses an agent and in a kubernetes cluster setup this agent gets injected "blindly" causing errors similar to this:
Seems this is caused by use of finalizers in dynatrace agent library which is not supported in native-images.
Would be nice if we could have a dynatrace extension that would at minimum work around this issue and remove the offending bits at best to enable just enough of dynatrace that it would work at least somewhat out of the box.