What point in time relates to @timestamp?

I am using the RUM agent in combination with a Python agent to monitor the performance of our app. In the backend I have reliable timestamps that are not available for the clients. The only info I have is the @timestamp field in Elasticsearch. But I am not sure to what it relates: the start of the transaction, its end or the arrival at the APM server? I trigger the transactions manually using startTransaction().
Hope someone can help, thanks!

If I remember correctly, it's the timestamp of arrival on APM Server. The RUM folks should be able to confirm.

Personally, I think it would be useful to set the timestamp to arrival at APM Server minus transaction.duration.

The APM UI compensates for the inconsistent timestamps of the RUM agent and backend agents by making sure that a child transaction (captured by a backend agent) never gets rendered as started before it's parent transaction (captured by the RUM agent).

Hi @stk1,

The timestamp shows the time that the APM server processed the transaction and not the actual time it was created on the browser. This is due to inconsistencies of timestamps on the clients. Please see our transaction reference documentation for more details.

Hope this helps.

Thank you both! I have previously read the API documentation for the transaction, but was not sure if the APM server subtracts the duration from time the event arrives or is processed. Thanks!

We do actually have an open issue regarding this so feel free to subscribe to it to get notified about updates: https://github.com/elastic/apm-server/issues/1830

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