Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Insights; what makes up the "Duration" in NRQL?

nrql
insights

#1

Please paste the permalink to the page in question below:

https://insights.newrelic.com/accounts/1629981/dashboards/438480?now=1512035299667

Please include any NRQL you are using:

SELECT average(duration), average(domProcessingDuration), average(pageRenderingDuration), average(webAppDuration), average(networkDuration), average(backendDuration) FROM PageView WHERE countryCode =‘DK’ AND deviceType =‘Desktop’ AND pageUrl = ‘https://hidden/’ SINCE 1 week ago

Please share your question/describe your issue below. Include any screenshots that may help us understand your question:

We are trying to find out exactly which of the metrics that makes up the “Duration”. We have added the following, but it doesnt add up to the “duration”:

  1. domProcessingDuration (2,08 sec)
  2. pageRenderingDuration (2,75 sec)
  3. webAppDuration (0,2 sec)
  4. networkDuration (0,22 sec)
  5. backendDuration (0,42 sec)

However, the total duration in the above example (5,25 sec) doesnt appear to include “backendDuration” as when you deduct the first 4 out 5 metrics (excl. backendDuration) then it adds up to 0,0 sec.

Question 1: So, what does “duration” constitute of?
Question 2: How do we exclude a specific OperatingSystem from our dashboards? We specifically want to exclude “Linux” as it pollutes our data.


#2

Hi @analytico - The Insights documentation provides information on the attributes for events.


#3

Hi @stefan_garnham - Thank you for taking the time to read and reply. I already had the pleasure of visiting that part of the documentation - and perhaps Im looking in the wrong area, but it would appear as the only explanation offered is:

Duration: The browser response time in seconds. Derived from the Navigation Timing API as loadEventEnd minus navigationStart. Inclusive of other duration measurements.

That doesnt explain which parameters/metrics “duration” is made up of from the list of available choices in the NRQL console. Or perhaps Im looking for an answer in the wrong part of the documentation?


#4

Hey @analytico!

The duration attributes aren’t actually listed in the NRQL console. As our docs state, the duration attribute is the browser response time derived from the Navigation Timing API. For more detailed context, I recommend taking a dive into the Navigation Timing API Documentation:

From that document, you’ll have a better visual representation of how the domProcessingDuraction, pageRendringDuration, and other PageView attributes are calculated.


In order to exclude ‘Linux’ from your query, you can add this AND clause to the end of your query:

AND userAgentOS != 'Linux'

This is how the full query would look:

SELECT average(duration), average(domProcessingDuration), average(pageRenderingDuration), average(webAppDuration), average(networkDuration), average(backendDuration) FROM PageView WHERE countryCode ='DK' AND deviceType ='Desktop' AND pageUrl = 'https://hidden/' AND userAgentOS != 'Linux' SINCE 1 week ago

#5

Hello and thanks for all this feedback.

In the duration description, the part related to TimingApi is fine but this part (Inclusive of other duration measurements) is not very clear: is someone able to enumerate which other duration measurements it includes?


#6

Hey @angelo.gulina this image from our docs does a good job of illustrating what is included in PageView duration.
This attribute represents the sum of each of the segments seen in the illustration.

You can find a brief description of what each of these segments represents here, and more detailed descriptions of these segments here.

If webAppDuration (server side timing information) is not available, time on the server will be included in networkDuration.

(It’s also probably worth noting that networkDuration is inclusive of , but not limited to, connectionSetupDuration, dnsLookupDuration, and secureHandshakeDuration. You can find definitions of these attributes here.)