Dynatrace Synthetic API version 3.2 metrics definitions

The API provides access to metrics data loaded directly from the database with intuitive metric masks (short forms for API usage).

While over 300 metrics are available,the table below lists the most commonly used metrics. It matches metric masks with the measure (metric) names displayed in chart tiles in custom dashboards. In addition to summary- and page-level data, more granular object-level metrics are also available. The table below also lists prefixes/suffixes for metrics relating to object groups, e.g., image files or third-party image files.

In addition to the default average value, you can also query the minimum, maximum, average, median, summary, standard deviation, and percentile values for several metrics using the trend and table calls. See Calculations below for details.

Metrics

Legend S – Script Level P – Page Level O – Object Level

Mask Name Description Level
avail Availability Average availability of selected measurements (summary- and page-level only) S, P, O
uxtme User Experience User experience time reported by the browser—total time elapsed from when the browser starts navigating to a page to when it finishes loading page contents S, P
nwtme Total Network Time Network Time or Total Time—total time of all network traffic for a transaction measured by a Dynatrace agent; response time This is the total time needed to download a web page from the network’s point of view. It starts from the beginning of the base file’s DNS lookup and ends when the last packet of the last page element has been delivered by WinInet to the browser for processing. It does not include any times during which no page element activity is taking place. S, P, O
dnstm DNS DNS duration—DNS lookup time taken P, O
tcptm Initial Connection Initial connection duration—time to open up a TCP/IP connection S, P, O
ssltm SSL Time Time required for TLS/SSL negotiation P, O
nelem Elements Count Number of elements S, P. O
fbtme First Byte Time taken from initiating the request to first byte of response P, O
cdtme Content Download Time Time to download all page elements P, O
dmlod DOM Loading Start Time from the start of page navigation to the start of processing content (loading DOM) P
dmint DOM interactive Time from the start of the page navigation to DOM Interactive (current document status: interactive) P
ldest Load Event Start Time from the start of page navigation to the start of the unload event P
unlst DOM Unload Start Time from the start of page navigation to the start of the unload event P
unlen DOM Unload End Time from the start of the unload event to the end of the unload event P
ldeen Load Event End Time from start to end of the load event P
dmcst DOM Content Loading Start Time from the start of page navigation to when domContentLoaded event is fired P
dmcen DOM Content Loading End DOM content loading delta P
dmcpt DOM Complete Time to DOM complete—time from the start of page navigation to completion of content processing P
3_bttfp_c 3rd Party Count Before TTFP Number of third-party elements downloaded before the browser first paints something Also used as a suffix to indicate third-party count before time to first paint of an object type, e.g., css_3_bttfp_c is the third-party CSS object count before TTFP. S, P
3_o_c 3rd Party Object Count Total number of third-party objects Also used as a suffix to indicate the third-party count of an object type, e.g., txt_3_o_c is the count of third-party text objects. S, P
3_o_e 3rd Party Object Errors Total number of errors reported for third-party objects Also used as a suffix to indicate the third-party errors of an object type, e.g., img_3_o_e is the count of third-party image errors. S, P
3_o_s 3rd Party Object Size Total size of third-party objects Also used as a suffix to indicate total size of third-party objects of a certain type, e.g., img_3_o_s is the total size of third-party images. S, P
3_o_t 3rd Party Time Total time taken to download all third-party objects (the gaps between object downloads count towards total UX time) Also used as a suffix to indicate total time to download third-party objects of a certain type, e.g., img_3_o_t is the total download time of third-party images. S, P
cltme Client Time Total time spent by agent fetching the resource, excluding time spent for interaction with the network (depends on agent’s processor speed) P
count Total Number of Hits Number of hits or data points for synthetic for scripted measurements S, P, O
dm_o_c Domain Count Total number of domains S, P
fpntm Time to First Paint Time from the start of page navigation to when page elements are first displayed P
nbyte Downloaded Bytes Number of bytes downloaded through the network (could be compressed) S, P, O
rdr_o_t Redirect Time Redirect time S, P
reqtm Request Delta Time taken for the browser to send the request P, O
css_   Prefix for metrics relating to all CSS performance  
css_1   Prefix for metrics relating to primary domain CSS performance  
css_3   Prefix for metrics relating to third-party CSS performance  
dm_   Prefix for domain-level metrics  
dm_1   Prefix for metrics relating to primary domains  
dm_3   Prefix for metrics relating to third-party domains  
elem_   Prefix for metrics relating to elements  
elem_1   Prefix for metrics relating to primary domain elements  
elem_3   Prefix for metrics relating to third-party elements  
img_   Prefix for metrics relating to images  
img_1   Prefix for metrics relating to primary domain images  
img_3   Prefix for metrics relating to third-party images  
js_   Prefix for metrics relating to all JavaScript files  
js_1   Prefix for metrics relating to JavaScript files for primary domain content  
js_3   Prefix for metrics relating to JavaScript files for third-party content  
rdr_   Prefix for metrics relating to redirection  
req_   Prefix for metrics relating to requests  
req_3   Prefix for metrics relating to third-party requests  
txt_   Prefix for metrics relating to text elements  
txt_3   Prefix for metrics relating to third-party text elements  

Calculations

In trend and table calls, the API supports calculating the minimum, maximumaverage, median, summary, standard deviation, and percentile values for most metrics. These calculations are automatically performed regardless of the bucket size in trend calls (bucketing is not required for table calls). Metrics that do not support these calculations are business metrics such as availability (avail), and those that are calculated as sums such as number or errors (nerr) or number of network errors (enet).

You can request minimum, maximum, average, median, summary, standard deviation, and percentile values just as you would any other metric by using the following syntax with the metrics parameter:

  • min(<metric>)  
  • max(<metric>)
  • avg(<metric>)  
  • median(<metric>) – The median is either the exact middle value when there is an even number of data points, or the lower  of the two middle values when there is an odd number of data points.
  • sum(<metric>)  

  • stdev(<metric>) – Standard deviation is calculated based on a sample, not the entire population. In Excel, this is equivalent to the stdev.s (not stdev.p) calculation.

  • percentile(<metric>,<percentile_number>), e.g., percentile(uxtme,75)Linear interpolation is used to construct percentile values. For example, if you request the 57th percentile value from a set of 10 data points, the value is calculated using the two nearest values.

Because of the differences in calculation noted above, the median and 50th percentile values are not necessarily the same.

You can request calculations for any number of metrics in the metrics parameter, e.g., &metrics=min(<metric1>),max(<metric1>),avg()`,stdev`()` ` .

You cannot include both percentile and median calculations in the same API call; if you do, you will run into a BADLIST error.

The string &metrics=count,nwtme,uxtme,stdev(uxtme)  in an API call requests the number of data points, network time, user experience time, and standard deviation for user experience time. 

When a calculation is not specified, the average or the summary value, depending on the metric, is returned by default. For example, queries for network or user experience time return average values; queries for number of errors or successes return the sum.

As with other metrics, one value per calculation is included in each data set returned. The number of data sets depends on whether you use the trend or table call, your bucket size,and the grouping you use.

The table call below (no bucketing required) asks for count, user experience time, network time, minimum user experience time, and maximum user experience time for three measurements over a one hour period. Data is grouped by measurement (monitor ID and monitor name) and sorted in descending order of user experience time.

https://ultraapi-prod.dynatrace.com/v3.2/synthetic/table?login=<user_login>&pass=<md5_hash_password>
&tstart=1481913960000&tend=1481917560000&bucket=minute&metrics=count,uxtme,nwtme,min(uxtme),max(uxtme)
&group=monid,mname&monid=785805,2204070,2115910&sort=-uxtme

The meta section of output shows request parameters: auto-bucketing applied, grouping, measurements, start and end times, and a description of the metrics requested. uxtme_calc_3 represents the third metric requested in the URL and is minimum user experience time in this example. uxtme_calc_4 is the fourth metric requested in the URL and is maximum user experience time.

Three data sets are returned, one for each measurement.

 {
    meta: {
        bucket: "minute",
        group: {
            monid: {
                desc: "monitor ID of measurement",
                type: "number",
                name: "monitor ID"
            },
            mname: {
                desc: "monitor name of measurement",
                type: "string",
                name: "monitor Name"
            }
        },
        monid: [
            785805,
            2204070,
            2115910
        ],
        tstart: 1481913960000,
        tend: 1481917560000,
        metrics: {
            count: {
                desc: "Number of total hits or datapoints",
                unit: "number",
                name: "Total number of hits"
            },
            uxtme: {
                desc: "Full User Experience time as reported by the browser",
                unit: "ms",
                name: "User Experience"
            },
            uxtme_calc_3: {
                desc: "Full User Experience time as reported by the browser",
                unit: "ms",
                name: "User Experience",
                calc: "min(uxtme)"
            },
            uxtme_calc_4: {
                desc: "Full User Experience time as reported by the browser",
                unit: "ms",
                name: "User Experience",
                calc: "max(uxtme)"
            },
            nwtme: {
                desc: "Total time of all network traffic measured by the Dynatrace agent",
                unit: "ms",
                name: "Total Network time"
            }
        },
        limit: 100000,
        dbtime: 7,
        dbname: "db_raw_1",
        apiversion: "3.0.8.201610261647.138720-336"
    },
    data: [
        {
            monid: 2204070,
            mname: "stephans test web-recorder txp script prod val 2",
            count: 47,
            uxtme: 21449.863636363636,
            uxtme_calc_3: 7461,
            uxtme_calc_4: 35865,
            nwtme: 11372.045454545454
        },
        {
            monid: 2115910,
            mname: "test",
            count: 40,
            uxtme: 4773.825,
            uxtme_calc_3: 3535,
            uxtme_calc_4: 7104,
            nwtme: 3325.475
        },
        {
            monid: 785805,
            mname: "www.dynatrace.com pub",
            count: 22,
            uxtme: 2050.5,
            uxtme_calc_3: 1141,
            uxtme_calc_4: 5952,
            nwtme: 1724.1363636363637
        }
    ]
}