You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When diagnosing some performance issues, I noticed that the execution times for child spans in traces are incorrect for APIs that are implemented using Spring Async controller feature with Completable futures.
Here is a sample trace:
Take S3.HeadBucket child span for example - the waterfall view clearly shows that the exec time is 223ms. However, in the span summary we see that exec time is reported as 111ms (exactly half).
Below is a sample code to show how we use the Completable futures:
We extensively use Completable futures in spring controller for all our java services. Given this issue, the time spent charts incorrectly represent the time spent in the service v/s the downstream components. This defeats the purpose of using APM tracing to a large extent for us.
The text was updated successfully, but these errors were encountered:
Hi,
When diagnosing some performance issues, I noticed that the execution times for child spans in traces are incorrect for APIs that are implemented using Spring Async controller feature with Completable futures.
Here is a sample trace:
Take
S3.HeadBucket
child span for example - the waterfall view clearly shows that the exec time is 223ms. However, in the span summary we see that exec time is reported as 111ms (exactly half).Below is a sample code to show how we use the Completable futures:
Annoyances:
We extensively use Completable futures in spring controller for all our java services. Given this issue, the time spent charts incorrectly represent the time spent in the service v/s the downstream components. This defeats the purpose of using APM tracing to a large extent for us.
The text was updated successfully, but these errors were encountered: