Investigate feasibility of calculating breakdown metrics
- Dominant language
- Go
- Stars
- 1.3k
- Forks
- 543
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 109
Description
Currently if someone uses OTel or Jaeger, the "time spent by span type" will be empty: https://github.com/elastic/apm/issues/471. The reason behind this is that breakdown metrics are computed by agents.
As an alternative, we could hypothetically have a feature where APM Server computes breakdown metrics. Similar to tail-based sampling, it would work by buffering events. When a transaction is received, the server would assemble all related spans (i.e. those with a matching `transaction.id`), and compute breakdown metrics.
This would only work (and only be supported) when all transaction (not trace) events are sent to the same APM Server. That would be straightforward when running APM Server co-located with the instrumented service.
Contributor guide
Assessment
This issue has not been assessed yet.