I think it could be worth trying the new EDOT Java agent instead to see what is being captured on jvm/pod-3.
Are all the 3 operations executed synchronously when processing a message ?
There are a few differences where it could help:
- the need for
trace_methodsshould be removed as all the spans are being captured with and without a transaction (unlike the Elastic APM Java agent which requires a transaction). - it should have a more exhaustive coverage for instrumentation, which probably includes your use-cases with Kafka
When testing I would suggest to check those things in order:
- do you get a span/transaction for every message received by your custom consumer ?
- are the calls to mongodb and grpc properly captured ?
- are the calls to kafka to publish properly captured ?