Configure APM for java based application

Kibana version: 7.7.0

Elasticsearch version: 7.7.0

APM Server version: 7.7.0

APM Agent language and version: elastic-apm-agent-1.16.0.jar

Browser version: Chrome 84.0

Original install method (e.g. download page, yum, deb, from source, etc.) and version: rpm from download page

Fresh install or upgraded from other version? Fresh install

I have an application which is based on pure Java and is using below frameworks -

Asynchronous framework : executorservice

networking framework : httpurlconnection

logging framework : log4j

Also, OpenTracing is enabled and we are trying to configure APM by giving below options -

java -javaagent:/home/devops/apm/elastic-apm-agent-1.17.0.jar -Delastic.apm.server_urls=http://10.131.111.32:8200 -Delastic.apm.service_name=SIT_TEST3 -Delastic.apm.hostname=Sit_Test3 -Delastic.apm.enable_log_correlation=true -jar OptimaProxyServer-1.0.jar

But we are unable to get transactions in APM. We are only getting data related to JVM. Please let us know how to get transactions in APM for our application.


Take a look at this post which provides a general explanation on how OpenTracing integration works.
Then you will need to adjust to your specific use case - see which OpenTracing library needs to be attached (in addition to the OP API) and learn how it requires you to setup a Tracer.

Hi Eyal,

I have gone through the post but we don't use Camel framework. So, camel tracing will not work , I believe.
Is there any other framework based on my configurations, which I can use as a replacement for camel tracing.

This link is mainly for you to see the explanation about how our OpenTracing integration works, regardless of the traced framework.
Since you wrote:

I am assuming you already know what you what you want to get with OT. If not, you should look for OT libraries that are suitable for the frameworks you are using. If this is about using the OpenTracing API manually within your code, then follow this, and you may also look into using our public API instead.