21 Sep 2026 09:08 PM
We're monitoring mobile connections for an ISP client using a web application (RUM Classic) and today we rely on a custom USQL metric (uscm.*) that uses the built-in "carrier" field as a dimension. This works, but it only reflects data once the user session is closed, which for our use case (near real-time visibility of connections per carrier) is too delayed.
What we've confirmed so far from the docs and community:
Our question: is there any supported way to get "carrier" (or an equivalent mobile-operator field) attached to data closer to real time, without waiting for the full session to close? Specifically:
Any pointers from the Dynatrace team or others who've solved something similar would be great. Thanks!
22 Sep 2026 04:49 AM
Hi @julsgs
1: Does the new RUM (Grail) expose carrier/ISP at the user action/event level with lower latency?
The new Grail-backed RUM stores data in two tables: user.events and user.sessions
The carrier attribute is part of the RUM semantic model and is associated with session context. However, I have not found definitive documentation confirming whether this field is populated directly within user.events, or only becomes available when the corresponding session record is written to user.sessions.
the most practical next step is to validate directly in your environment, run below dql
fetch user.events
| filter isNotNull(carrier)
| fields timestamp, carrier, useraction.name
| limit 20
If recent event records contain the carrier field, then Grail may provide the near real-time visibility you're looking for without waiting for session closure based on that you can create metrics.
2: Is there any way to have business events automatically enriched with carrier/isp the same way they get geolocation, or is this a hard limitation today?
No — this is a hard limitation today.
3: If not, is a custom server-side IP-to-carrier lookup (maintained by us) the only realistic path to get this in near real time?
If carrier information is not available in user.events, the available options appear to be:
My recommendation would be to first verify whether the carrier attribute is available in user.events. If it is, that likely provides the simplest and most native near real-time solution.
If not, then OpenPipeline enrichment or a server-side IP-to-carrier lookup currently appear to be the most realistic approaches for obtaining carrier-level visibility without waiting for session closure.
Thanks,
Sujit
22 Sep 2026 06:27 PM
Hi Sujit, thanks for the detailed answer.
I ran the query you suggested, and user.events came back completely empty for our application - even without the carrier filter. That tells us our environment is still on RUM Classic and hasn't adopted the new RUM experience yet, so we couldn't actually validate whether carrier is available at the event level there.
One more detail on our side: this is a classic-licensed environment, no DPS.
Given that, is there anything else you'd suggest we look at?
Thanks again for the help.
Featured Posts