NRQL query help for comparing performance in the morning against the afternoon

Can someone please provide assistance with the NRQL to get a timeseries result over say 3 months where there is the comparison between 7am to midday and from midday to 7pm. Or just the query for one and i will do two graphs.

Can you say a little more about how you envision comparing morning and afternoon in a timeseries? I am not quite able to see how that would look. You also want to discard anything between 7pm and 7am?

Also, what is performance for you? Is it response time? Do you have multiple transactions on this app? Any health checks or background transactions?

These are examples of existing queries - which give performance over time for the day. What im trying to do is get these numbers for a morning and/or the afternoon - or specific buckets of time. Im not interested between 7am and 7pm - these are enterprise apps so there is no significant user activity during that time. We have an external process that is hitting the environment in the morning - we believe anecdotally that it is having a negative impact on the system so we are looking to statistically prove/measure that by comparing a morning to an afternoon over say a month and s the process does not run every day we should be able to identify the impact comparison in the morning on the days it runs to when it does not.

SELECT count(pageUrl), average(PageView.duration), apdex(PageView.duration, 3), count(Transaction.name) as 'Requests', average(Transaction.duration), apdex(Transaction.duration, 0.8) FROM Transaction, PageView SINCE 12 months ago WITH Timezone 'Pacific/Auckland' FACET monthOf(timestamp) LIMIT 20 WHERE appName ='EXAMPLE APP'

SELECT average(timeSinceFetchStart) FROM PageAction SINCE this quarter FACET dateOf (timestamp) LIMIT 100 WHERE appName='EXAMPLE APP' WITH Timezone 'Pacific/Auckland'

SELECT average(duration) as ’ End User Time’, average(backendDuration) as ’ App Server Time ’ FROM PageView SINCE 1 month ago TIMESERIES where appName=‘EXAMPLE APP’

Any chance you can identify the events related to the external process? Maybe you have an attribute that captures the user or authid or something similar?

Being able facet on this external process traffic can help you correlate volume and response time regardless of time of day.

Shout out to the new AI stuff from new relic also. You might want to configure it for this app and give it w whirl.

We dont control the external process but we can see and track its usage. Thats not at issue- what we want to be able to communicate statistically is the impact on the environment as a whole because of the process.

ie something like - the end user experience is normally 1.7 but the impact of that process running in the morning shows your end user experience degrades to 2.4

Yea, I understand your interest. If you have an attribute on the traffic from the external process it can make it substantially easier to show direct correlation between that traffic and how the system may become impaired overall.

I don’t know anything about your system, but what I try to do when I can is show volume related to some performance like response time. Showing volume from the external service spiking at 8:45am and visually showing a direct link between that volume and overall system response time (or apdex if you have tuned it) can work very well.

1 Like

If you really want to do it like you say then this sort of approach can help you split up the day.

select filter(average(duration), where hourOf(timestamp) in ('7:00','8:00', '9:00', '10:00', '11:00', '12:00', '13:00')) as 'DayPart1', filter(average(duration), where hourOf(timestamp) in ('14:00','15:00', '16:00', '17:00', '18:00', '19:00')) as 'DayPart2' from Transaction since 3 months ago with TIMEZONE 'Pacific/Auckland'

This gives some ability to slice up in odd ways.

1 Like

excellent thanks very much

Anytime. Let us know what you end up using.