Dynatrace tips
Tips and workarounds from Dynatrace users for Dynatrace users.
cancel
Showing results forΒ 
ShowΒ Β onlyΒ  | Search instead forΒ 
Did you mean:Β 

πŸ“Œ TIP#3: DEM License Consumption Dashboard for Classic Licensing β€” Gen3 Dashboards + Code Tiles

tracegazer
Helper

Better late than never! πŸ˜„

I've been wanting to leverage the power of Code tiles in the new Gen3 Dashboards to build a proper DEM license consumption dashboard for quite some time. The native Account Management view is useful, but it's limited β€” no drill-down by component, no breakdown by application, no way to share it with non-admin users, and no customization.

So I finally sat down and built one from scratch. This dashboard gives you a complete, at-a-glance view of your Digital Experience Monitoring (DEM) consumption under Classic Licensing.

It's designed to answer the questions that matter:

  • How much of my DEM license have I consumed?
  • At this rate, will I exceed my allocation before the contract ends?
  • Which applications and synthetic monitors are driving the most cost?
  • Where can I optimize?

πŸ“ŠWhat's Included

 

KPI Bar (top of dashboard)

  • Total DEM Consumed β€” absolute number for the license period
  • Consumption % β€” with threshold coloring (🟒 < 70% | 🟑 < 90% | πŸ”΄ >= 90%)
  • Remaining β€” DEM units left in your allocation
  • Projected End-of-Period β€” linear forecast based on last 30 days (same approach as Account Management)
  • Estimated Days Until License Exhaustion
  • Daily Average DEM
  • Total Billed Sessions (raw count, all app types)
  • Total Synthetic Executions (raw count)

Cumulative DEM Chart

  • Actual consumption line from license start date
  • Linear forecast line projected to end of contract (based on last 30 days average)
  • License limit as a horizontal reference line
  • Visually shows if you're on track to exceed your allocation

Daily DEM Consumption

  • Per-day bar chart to spot spikes, anomalies, and trends

DEM by Category

  • Stacked bar + pie chart: Web Sessions vs. Mobile/Custom vs. Synthetic
  • Executive summary view β€” which category dominates your spend?

Detail Breakdowns (stacked bar + pie for each)

  • Web Sessions: sessions without replay, with replay, user action properties
  • Mobile & Custom: mobile sessions, replay, properties, custom app sessions
  • Synthetic: browser actions, HTTP monitor requests, external monitors

Top Consumers

  • Top 10 Applications by DEM β€” Web + Mobile + Custom combined, with breakdown into sessions, replay, and properties
  • Top 10 Applications by Replay Ratio β€” sorted by Total DEM to identify optimization candidates (high cost + high replay % = best target)
  • Top 10 Synthetic Monitors β€” browser and HTTP monitors combined in a single ranked view
  • Top 10 Components by DEM β€” which billable component type consumes the most?

πŸ”§How It Works

Every tile uses Code tiles with the @dynatrace-sdk/client-classic-environment-v2 SDK, querying builtin:billing.* metrics via metricsClient. No DQL, no Grail dependency β€” works on any environment with classic licensing.

Key technical details:

  • DEM unit weights are applied in code (0.25 per session, 1.00 per replay session, 0.01 per property, 1.00 per synthetic action, 0.10 per HTTP/external request)
  • Forecast uses the last 30 days daily average, matching Dynatrace Account Management's linear forecast model
  • Dashboard timeframe should be set to your full license period (from = contract start, to = contract end)
  • A $DEM_License text variable lets you set your annual allocation for threshold calculations
  • Resolution is hardcoded to "1d" for all calculation tiles to ensure mathematical accuracy

⚠️Important Notes

  • Adjust DEM weights to match your contract β€” rates may vary per agreement
  • builtin:billing metrics are trailing indicators reported at ~15-minute intervals, so the most recent data point may be incomplete
  • For official billing data, always refer to Account Management > License / Subscription > Overview
  • Sanitize the JSON before sharing β€” remove any client-specific application names or tenant URLs

πŸ“₯How to Use

  1. Import the attached JSON into your Gen3 Dashboards
  2. Modify a Text variable called DEM_License and set it to your annual DEM allocation
  3. Set the dashboard timeframe to your license period (custom: start date β†’ end date)
  4. Review and accept the code tiles when prompted

The dashboard is fully self-contained β€” no external dependencies, no extensions, no additional configuration beyond the variable.


πŸ“ΈScreenshots

2026-04-03 Dynatrace DEMLicenseConsumption ClassicLicensing.png

 


I hope this helps others who have been looking for a way to track DEM consumption beyond what Account Management offers. If you have ideas for improvements or want to see a DDU version, let me know in the comments!


tracegazer - Observability Specialist - πŸ‡¦πŸ‡·

Logs, Traces, Metrics... and a bit of sanity.
1 REPLY 1

AntonPineiro
DynaMight Guru
DynaMight Guru

Thank you!! :take_my_money:

❀️ Emacs ❀️ Vim ❀️ Bash ❀️ Perl

Featured Posts