RUM navigation timings

Hi! This is more a generic question wondering if anyone can point me with best solution to achieve what we are trying to do, hope nothing so crazy :wink:

First of all our stack is elastic-apm and rum, at the moment running apm-server, logstash (in between elastic-servers and elasticsearch), elasticsearch and kibana on v7.5.1
rum agents are still on 4.1.2, but planing upgrading them shortly to latest 5.x

We use it daily for troubleshooting and performance analysis, now I'm trying to create some simplified dashboards (in grafana) to have highlevel navigationTiming metrics for the instrumented domains.

I don't want to put so many times that are hard to read but simply some highlighting network, backend and frontend so a quick view tell how good is performing. Following image is very descriptive:

which could be directly translated in terms of navigation timing model marks that elastic rum has:

But RUM agent (at least our current version 4.1.2) only contain some of them:
transaction.marks.agent.domComplete
transaction.marks.agent.domInteractive
transaction.marks.agent.renderTime
transaction.marks.agent.timeToFirstByte

What should be the best approach to have other marks such as:

DNS.time = domainLookupEnd- domainLookupStart
Connect.time = connectEnd - connectStart
Backend.time = responseEnd - requestStart
Receive.time = responseEnd - responseStart
. . .

Should those be calculated by rum agent? are plans for something like this?

Thanks in advance?

Hi @moixcruz,

Copying over from GitHub.

RUM agent already captures some of these metrics as part of Breakdown metrics

You would need to enable the breakdownMetrics: true in the configuration which requires APM Server and Kibana >= 7.4 version.

Let us know if it helps your use case.

Thanks,
Vignesh