Java trace between different services, instances

Good Day

I have an application that is composed for several Java services distributed in different servers, right now I have apm java agent installed in each server and can collect the data from each server without problem. now we want to have a major overview of the platform and the idea is have a trace that show how a request made by a client go for each server, I was wondering if some of you know how can I configure the apm java agent to have this global view and how all servers related between them

Thanks.

Regards.

Hi Luis,

If you use the supported technologies, then the Java agent should automatically trace requests between the servers/services.

How do your applications communicate with each other?

Hi

Thanks for your response,

They use JMS for communication,

I have the agent 1.7.0 and apm-server 7.2 with the default configuration, should I set up any special parameter?

Regards.

Hi Luis,

Yes! JMS support was just added in 1.7.0. Since it's new and we are in the process of evaluating what we need to do to provide full support for messaging systems in our APM solution as a whole, it was added as an "incubating" feature, which means it is still off by default. As said in the documentation:

In order to enable, set the disable_instrumentations config option to an empty string

I hope this helps,
Eyal.

Hi

Thanks for your help

we had (in theory) the instrumentations enabled but is not working, we only can see the trace from the local services and not the whole platform,

On the systemd file that executes the java application we have

ExecStart=/usr/bin/java -javaagent:/opt/apm/java/elastic-apm-agent-1.7.0.jar -Delastic.apm.disable_instrumentations=jms -Delastic.ap
m.service_name=servicename -Delastic.apm.server_urls=http://ipaddress:8200 -Xmx4096m -jar service.jar --spring.profiles.
active=stage --server.port=8081 \

I'm really sure that I'm doing something wrong but I don't know what it is

Any help is more than welcome.

Regards.

Hi Luis,

Change -Delastic.apm.disable_instrumentations=jms to -Delastic.apm.disable_instrumentations=. This should make the JMS work

In addition to @Eyal_Koren instructions, you might want to check to make sure that trailing \ required as well? that usually means the next line is a continuation of the current line.

Can you describe what you use at the JMS consumer side? A MessageListener? The receive API?

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.