Dynatrace Tutorials: Dynatrace Query Language – DQL

Chaining commands with the pipe operator

A DQL query contains at least one or more commands, each of which returns tabular output containing records (lines or rows) and fields (columns). All commands are sequenced by a | (pipe). The data flows or is funneled from one command to the next. The data is filtered or manipulated at each step and then streamed into the following step.

The Dynatrace Query Language (DQL) is a powerful tool to explore your data and discover patterns, identify anomalies and outliers, create statistical modeling, and more based on data stored in Dynatrace Grail storage.

Here is a list of DQL commands:

Here is a list of DQL commands:

  • fetch – Fetches data from a specific data type, such as logs, metrics, or business events.
  • filter – Filters the data based on a specified condition.
  • fields – Selects the fields that you want to include in the output.
  • fieldsAdd – Adds new fields to the output.
  • parse – Parses the data into a different format.
  • summarize – Performs aggregations on the data, such as counting the number of rows, or finding the average value of a column.
  • sort – Sorts the data based on a specified field.
  • limit – Limits the number of rows that are returned in the output.
  • timeseries – Produces a time series of aggregated data.
  • fieldsSummary – Calculates the cardinality of field values that the specified fields have.

Here is a list of DQL Functions:

The following is a list of DQL functions:

  • avg – Calculates the average of the values in a column.
  • count – Counts the number of rows in a table.
  • count_distinct – Counts the number of distinct values in a column.
  • first – Returns the first value in a column.
  • last – Returns the last value in a column.
  • max – Returns the maximum value in a column.
  • min – Returns the minimum value in a column.
  • percentile – Returns the percentile value of the values in a column.
  • sum – Calculates the sum of the values in a column.

DQL operators

Numerical operators

The types longdouble and timestamp real represent numerical types. The following operators can be used between pairs of these types

OperatorDescriptionExample
+Addition2+2.5
-Subtraction0.2-0.11
*Multiplication4*5, 60*1s
/Division10/2, 1h/60
%Modulo4%2
<Lower8 < 9, now()-1m < now()
<=Lower than or equal4<=5
>Greater5 > 4
>=Greater than or equal4 >=4
==Equals2 == 2
!=Not equals1 != 2

Logical or equality operators

OperatorDescriptionExample (yields true)
==Equals – Yields true if both operands are not null and equal to each other. Otherwise, false.2==2"a" == "a"
!=Not equals – Yields null, if one of the operands is null, or if the operands are not equal to each other.2!=1, "b" != "a"
NOTNegation – Negates a logical stateNOT 2==1
ANDLogical and (multiplication) – Yields true if both operands are true.NOT 2==1 AND 1<2
ORLogical or (addition) – Yields true if one of the operands is true, regardless of the other operand.1 < 2 OR 1 > 2
XORExclusive or – Yields true if one of the operands is true, but false in case both are true.1 < 2 XOR 1 > 2
Rajesh Kumar
Follow me
Latest posts by Rajesh Kumar (see all)
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x