Kibana version : 6.8.0
Elasticsearch version : 6.8.0
APM Server version : 6.8.0
APM Agent language and version : JAVA apm-agent-attach:1.17.0, apm-agent-api:1.17.0
Java version : openjdk:11
We have Spring-boot application with following APM config:
service_name=app-name
server_urls=http://apm-server-ops.app.com
transaction_sample_rate=0.05
application_packages=com.app.package
ignore_urls:/actuator*, /swagger-ui*
enable_log_correlation=true
The application is not very loaded and it processes 1-2 requests per 30sec for an entity creation (persists in the DB). The request comes from the other (upper-steam) application. Once the entity is created the application emits an event to ActiveMQ which is picked up by five-six ActiveMQ listeners which live in the same application.
The problem was that though we set transaction_sample_rate=0.05
, we don't have any samples in apm UI
neither for http requests (Filter by type:request) not for activemq transactions (Filter by type:messagin)
First, I though the problem was caused by warning in the logs:
2020-09-17 14:15:30,649 [DefaultMessageListenerContainer-2] WARN co.elastic.apm.agent.impl.transaction.Span -
Max spans (500) for transaction 'JMS RECEIVE from queue Consumer.SmsServiceImpl.VirtualTopic.****CreatedEvent' 00-6efa3ce85265c5f6d3f8d53feed3d11f-acdeb259e07a8286-00 (5084b178) has been reached.
For this transaction and possibly others, further spans will be dropped. See config param 'transaction_max_spans'.
but from my understanding, even if we were loosing SOME spans (as the warning says), we would receive some one them which are not lost, so we would see at least some request samples
So I've tried to increase transaction_max_spans=1000
, just to try it. The warnings are almost gone now.
But we are still getting 0 transaction samples.
Now I am thinking in this direction:
we have enable_log_correlation=true
in the upper-stream system with transaction_sample_rate=0
Can it cause that in our (downstream) application this leads to 0 transaction samples in APM?
Can someone help me to understand how it works please and in which direction to look?