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:
- USQL (and any custom metric built on top of it) only processes closed sessions - a Dynatrace staff member confirmed in an older thread there are no plans to support live sessions here.
- "carrier" is a built-in field, populated server-side from the source IP against a network-operator database - it's not something our app's JavaScript computes or could send early.
- Business events (sendBizEvent/sendEvent) are sent detached from the session and are close to real-time, but per the Business event enrichment docs, they only get automatic geolocation enrichment (continent/country/region/city) from the client IP - not carrier or ISP.
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:
- Does the new RUM experience (powered by Grail) expose carrier/isp at the individual user-action or event level, with lower latency than waiting for the full session to close?
- 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?
- 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?
Any pointers from the Dynatrace team or others who've solved something similar would be great. Thanks!