Showing results for 
Show  only  | Search instead for 
Did you mean: 

🎥 A Practical Guide to DQL for Metrics

Community Team
Community Team

Dynatrace Grail is the data lake house for all signals of observability: logs, traces, events, entities, as well as metrics. Dynatrace Query Language (DQL) is the way to get the answers you have on this data stored in Grail.

In this Observability Clinic with Andi Grabner @andreas_grabner, Fabrice Courbon @fcourbon, Principal Product Manager at Dynatrace, explains the core principles behind metrics and timeseries data. To showcase the power of DQL for Metrics, Fabrice walks us through several DQL Metrics Use Cases, such as getting resource utilization of your K8s clusters, available disk storage of hosts with specific tags, or calculating SLOs based on a variety of timeseries data.

Links discussed during this session:
A Practical Guide to DQL
DQL timeseries command
DQL timeseries examples: 
Built-in Metrics in Grail: 
The link to Notebook will be available on this GitHub Repo

Chapter List:
00:00 - Introduction
00:43 - What you'll learn today
01:36 - What is Grail
03:22 - Anatomy of a time series
08:55 - Time and space aggregation
11:52 - DQL timeseries command
15:40 - DEMO
51:00 - Wrap Up

The recording is available also on the Dynatrace University: LINK

- - - 
Subscribe to our YT channel 
Stay up-to-date with Dynatrace! Follow us on FacebookInstagramLinkedIn, TwitterTwitch  

When passion meets people magic and innovation happen.


So the metrics in DQL are driving me a bit nuts.  Why isn't there an option to return timestamps along with the values?  The way it seems to work is to return a timeframe and an interval and I assume there's a script in Dynatrace that takes the start and end timeframes from the result and creates timestamps based on the values when charting it. 

The problem is, when querying this data via the API in something like Grafana, I can't chart this data.  Grafana doesn't have a built-in function to generate timestamps from a time range and interval values... 


Why not just give us an option to return traditional timestamps with the values?  You know, like pretty much every other API (including the Dynatrace Metrics API v1 and v2) on the planet?


If this is currently possible, I don't see any example of how to do this in the documentation nor in any example I've seen.

Dynatrace Participant
Dynatrace Participant

Hi @xtraspecialj 

The timestamps are entirely defined by the timeframe start and end + the interval fields provided in the DQL results. In the future, DQL will have generic functionality to map/generate series out of other series, which will allow it to also generate those timestamps.

Featured Posts