dt-obs-frontends

Analyze web and mobile real user monitoring data with DQL queries on Dynatrace.

Updated Dec 12, 2025
One-click install
npx skills add https://github.com/ricardojjulia/ESACompanion --skill dt-obs-frontends-ricardojjulia
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dt-obs-frontends
Source: https://github.com/ricardojjulia/ESACompanion/tree/main/.github/skills/dt-obs-frontends
Command: npx skills add https://github.com/ricardojjulia/ESACompanion --skill dt-obs-frontends-ricardojjulia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Investigating frontend performance and errors requires knowing the Dynatrace RUM data model, the right DQL queries, and which data source (metrics, events, or sessions) fits each question. This Skill provides ready-to-use query patterns and diagnostic workflows for Real User Monitoring on Dynatrace. ## Core Features & Use Cases - Core Web Vitals and performance analysis: Query LCP, INP, CLS, FCP, and TTFB via dt.frontend.* metrics and user.events, with thresholds and a slow-page-load triage playbook. - Error and crash diagnostics: Analyze exceptions, failed requests, CSP violations, mobile crashes, and ANRs, including frontend-backend trace linking via trace.id. - Session and engagement analytics: Measure bounce rate, session duration, user journeys, and active users with user.sessions and cardinality metrics. - Use Case: A user reports the checkout page is slow. Use the slow page load playbook to segment by page, browser, and geography, then determine whether the bottleneck is backend TTFB, long JavaScript tasks, large resources, or network issues. ## Quick Start Ask the AI to analyze Core Web Vitals and error rates for your frontend application using Dynatrace RUM data.

Frequently Asked Questions about dt-obs-frontends

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query Core Web Vitals in Dynatrace RUM?▼

Use dt.frontend.* timeseries metrics like dt.frontend.web.page.largest_contentful_paint for trends, or fetch user.events with characteristics.has_page_summary for per-page detail. Thresholds: LCP good under 2.5s, INP under 200ms, CLS under 0.1.

How to analyze user sessions and bounce rate with DQL?▼

Query fetch user.sessions and use countIf(characteristics.is_bounce) grouped by frontend.name to compute bounce rate. Note that sessions are only written after about 30 minutes of inactivity, so exclude the last hour to avoid false zero results.

Does Dynatrace RUM support mobile app crash monitoring?▼

Yes, mobile crashes and ANRs are captured in user.events with characteristics.has_crash and characteristics.has_anr. You can group by exception.type, app.short_version, and device.model.identifier, and inspect exception.stack_trace for debugging.

Why does my RUM query return zero results?▼

Common causes include a too-recent timeframe (sessions lag about one hour), incorrect frontend.name filters, sensitive fields hidden without the builtin-sensitive-user-events-and-sessions permission, or RUM not being instrumented. New frontends take up to 10 minutes to send data.

How do I link frontend errors to backend traces in Dynatrace?▼

Filter user.events with characteristics.has_request and isNotNull(trace.id), then query fetch spans with trace.id == toUid("<id>") in a narrow time window. The toUid() conversion is required because trace.id is stored as a UID type in spans.

What is the difference between user.events and user.sessions?▼

user.events contains individual page views, requests, clicks, and errors for root-cause analysis. user.sessions contains session-level aggregates like bounce flags and duration for journey analysis, and uses underscore field names like navigation_count instead of dots.