Measure start and end time of external transactions

Hi there
Multiple parts to this, building up in stages - end goal is to measure performance of calls to an external system and the compare with some internal processes. I’d really appreciate any help on building a query that might achieve the following:

Part 1: I have a transaction that invokes an external service and another transaction when the user comes back from that external transaction - can I group them somehow and measure how long from the start to the return? Sessions should still be on the same machine in the cluster.

Part 2: I have a group of other transactions similar to above, but internal - can I group them and measure their performance - assume at this point how long they take.

Part 3 - compare the two above! Hoping to see that the external calls take X seconds and the internal ones take Y seconds.

I’d like to then extend that to how much resource on the machines they take but simple steps first I think.

Total newb to New Relic on this and playing around with the query language.
Many thanks
Matt

Hi @m.pendlebury,

Great questions! It’s a little hard to give an exact query because it depends on your environment. One thing that helped me when I was starting is the NRQL Data dictionary. You can look up any attribute and find what it does :slight_smile:

For instance, I looked up external and see that I can query externalDuration which returns “The total response time of all external (out-of-process) services, in seconds.”

I know this isn’t going to get exactly what you want, but it’s a start:

FROM Transaction SELECT average(externalDuration) 
  FACET appName TIMESERIES auto

I would also check out some of the other posts on Explorer’s hub such as:

3 Likes

That’s great Giselle, thanks so much for the pointer.
Much appreciated
Matt

1 Like