Would like to validate my approach for APM.
We have a web-server application.
Inside that application we can identify the message being send to a JMS queue.
It is possible to identify:
A. the application sending the message to the JMS queue.
B. a unique message Identifier for this message.
We are able to assign this inside a identifier to a Transaction Name, inside the application.
C. The application treating the message from the JMS queue.
This application is running in a different process, different JAVA-VM.
We are able to capture the same message identifier and assure it keeps on being processed inside APM under the same Transaction Name.
D. Most of the processing is of a pattern of request/reply towards/from JMS.
Under all circumstances we are able to track the messageID and assign it to the transactionName.
What we would like to do is the following:
A. Identify the transaction context (with the messageID as the transaction Name).
B. Define a new span for every step in the processing, with identification and associated measurement.
C. Inside Kibana group the APM-SPAN's under a single Transaction Name.
Is this a valid approach ?
The thing which worries me is that the initial tests indicate a new transaction-ID is generated every time a transaction is opened.
Where I would prefer a new transaction ID is generated for every new transaction with the same name.
When I execute this code with the same content of TransactionName
ID = transaction.getId();
I get a different ID, this is not what I prefer.
XXXTransName (this context name is known across my applications)
34658f65d0d65328 (different ID)
XXXTransName (this context name is kept the same)