Service identification within J2EE/EAP containers #3151
Unanswered
nosnhojbob
asked this question in
Q&A
Replies: 2 comments 3 replies
-
Hi @nosnhojbob . I don't think there's anything stopping you from adding a custom attribute to your spans to track this. If you're looking to define a standard span attribute that would track this, I recommend opening an issue in the specification repository, as that's where the standard semantic attributes are defined. |
Beta Was this translation helpful? Give feedback.
2 replies
-
First scenario:
Expectation:
Here is a abbreviated potential Zipkin export of spans flowing through this EAP container to visualize the expected output.
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Along with modern microservices, we also have a mix of legacy systems that use J2EE/EAP containers, all in need of Distributed Trace. Often we need to utilize an auto-instrumentation/agent approach to provide trace data, but we are left with overly broad
service.name
for our installation. When the agent is applied to the entire container, theservice.name
is essentially the container itself, but when you have many EAR/WAR/EJB or even vendor-specific deployments, it is hard or impossible to distinguishapp1.war
fromapp2.war
in trace data. Has anyone else had this need? I am hoping to solve or get some guidance at least in proper tagging/identification of these sub-modules.I have looked into service semantic conventions, but these appear to be primarily intended for set-it-once-per-JVM use and doesn't provide the granularity I am looking for.
If there was an attribute similar to the following, it could help the downstream systems filter accurately and consistently for the sub-module of interest.
service.module
service.name
.app1.war
,custom-service.tar
Having an additional attribute such as this would help unlock a lot of possibilities in downstream systems (visualization, alerting), giving them a consistent strategy to perform a click-down for that next level bit of information. Eg. you would continue to see an ambiguous bloom of latency in "j2ee-server-sample", but if you grouped the data by module, you could see which specific WAR within the server was experiencing a problem. That could get directed to a completely different team concerned with just that specific WAR.
Beta Was this translation helpful? Give feedback.
All reactions