No transaction data sent to APM Server

Kibana version:
7.11.1

Elasticsearch version:
7.11.1

APM Server version:
{
"build_date": "2021-02-15T12:37:48Z",
"build_sha": "e77061bb3aaedae5ae8dd0ca193eb662513aedde",
"version": "7.11.0"
}

APM Agent language and version:

Browser version:
Chrome

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

Fresh install or upgraded from other version?
Fresh install

Is there anything special in your setup?
No

Description of the problem including expected versus actual behavior. Please include screenshots (if relevant):
I am running the Running as a Standalone Process - WireMock java application. I would like to see transactions information in Kibana APM dashboard.

Actual behavior:
Only metrics are sent to APM server

Expected behavior:
Metrics and transaction information to be sent to APM server.

Steps to reproduce:

  1. Download wiremock

  2. Run Application
    java -javaagent:elastic-apm-agent-1.21.0.jar -Delastic.apm.log_level=TRACE -Delastic.apm.log_file=AGENT_HOME/logs/elastic-apm.log -Delastic.apm.service_name=my-wire-mock -Delastic.apm.server_url=http://10.3.103.95:8200 -jar wiremock-jre8-standalone-2.27.2.jar

  3. Check Kibana APM transaction information
    Only JVM metrics can be seen in Kibana APM, no transactions.
    When starting the agent there are a lot of Java Null Pointer Exception

Errors in browser console (if relevant):

Provide logs and/or server output (if relevant):

Didn't find a way to upload the APM agent logs, I believe it would be useful for this issue.

Hi and welcome to the forum!

I am not sure this wiremock setup relies on Servlets. If it is not, this may explain why we don't capture anything.
Try setting log_level to debug and see in the agent log which instrumentations were applied. Log messages containing Method match for instrumentation... will tell you that. Then go through the rest of the log, it would tell you if there are errors, when a transaction/span is started/ended and so forth.
Sorry that I cannot assist much further. We first need to know which of the supported technologies are relevant and only then we may realize if there is a problem.

Thanks @Eyal_Koren . Is there a way to upload the agent log here in this thread? I have it with TRACE level enabled.

You can use https://gist.github.com.
However, before I start digging into huge trace-level logs, I'd ask you to find out which of the supported technologies are expected to be captured when using your application, and to look into the logs yourself, trying to provide some more accurate info.

I have uploaded the file: APM Agent log file · GitHub

Well, regarding supported technologies, I am new to it and I am unsure what I want. The goal is to have some transaction into Kibana APM Dashboard. The wiremock app allows doing some gets for specific URLs which returns a custom output. For example:
ubuntu@app-vm:~/mappings$ cat mytest.json
{
"request": {
"method": "GET",
"url": "/api/mytest"
},
"response": {
"status": 200,
"body": "More content\n"
}
}

I would expect this transaction (the http get I am doing via browser) to show in Kibana APM.

Appreciate your input!

Best,
George

Well, your log suggests that this wiremock setup doesn't rely on Servlets. The agent doesn't instrument anything that can create transactions, which is why you don't see them.

Thanks @Eyal_Koren .

For my knowledge, could you paste here the line(s) that are indicating that wiremock does not rely on Servlets?

Thanks again,
George

It's not the presence of such lines, it's the absence of Method match for instrumentation... lines for Servlet-related instrumentations :slight_smile:

Thanks for the help @Eyal_Koren . All the best!

George

Sounds like a good bye, I meant that you try another app instead, don't give up :grinning_face_with_smiling_eyes:

Yea, I need to find another Java app to test the agent. Looking for a simple one, a Flask like app.

Thanks,
G

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