Capturing and Getting API average response in SLA report

May be I am new to this product thus could query the exact solution. But for my organisation I wanted to have a reporting system, where-in I am able to get the daily report for all of the monitored APIs on a particular day.
There are SLA reports for the daily data, but I think they do not give much of the insights details for all of the APIs on a specific date. Is there any way for this ?

Hi - The thread below shows how you can recreate the SLA report using NRQL queries.

Sorry, But I think this doesn’t solves the problem I mentioned. I wanted to have response time for each and every API that might have been into the New relic. The query in the attached thread gives me the average time of all the requests in my system. Which was already available to me by default in SLA report

You want to view data about every API call? Then write a NRQL query to return tabular data instead of aggregated data. For example:

SELECT duration, host FROM Transaction SINCE yesterday UNTIL today FACET appName

Is here any error in this I replaced the appName with my appName … Its giving me error

If you want to filter to one appName then remove the FACET clause entirely and add WHERE appName = ‘[your app name]’

Thanks fo this. Also, Is there any way I can get the value for the column ‘request.uri’ from the transactions also along with the average(duration)?

@stefan_garnham : can you please assist me in this ?

I am not sure on the request.uri but you can look up the Transaction event attributes and work through those.

For other NRQL information I would recommend reading the NRQL query reference documentation.

Sorry I cannot be more helpful but I am not employed by New Relic :wink:

hmm… Thank you for the doc’s. I agree with you. May be someone from new-relic team can help in this. I just wanted to have the exact path of the URI in the chart for building the performance insights. Let’s see when do we get solution for this.

Hi, Try this:

SELECT average(duration) 
FROM Transaction 
FACET appName, name 
SINCE 1 day ago

Run the query exactly as written. You do not need to replace any values (though you may remove line breaks).

1 Like

Hi @philweber,
Thank you for the prompt response. I tried your query, Sorry but It doesn’t gives what I wanted. I actually have uri’s like this -"/reviews/:id" in my backend code
No As you can see here that “id” may correspond to any endpoint. Probably, this may have functions like getAllReviews or getReviewDetailsById so what I wanted here is that some way I can get the precise value of the endpoint by querying in transactions table.
After running a NRQL

SELECT * FROM transactions

I saw that there’s a key/column named ‘request.uri’ which gives me the exact match that I need. So, I am looking after a solution by which I can get ‘request.uri’ value. I hope that I am clear with the the requirement.

SELECT average(duration) 
FROM Transaction 
FACET appName, `request.uri`
SINCE 1 day ago
1 Like

Nevermind guys @stefan_garnham , @philweber. Thank you both of you. I think I have been able to create a query by myself -
Here’s if anyone may need in future-

> SELECT average(duration) FROM Transaction WHERE appName=‘your-app-name’ FACET request.uri


Oops I didn’t saw your comment. May be the page did not load properly. Thanks @philweber for your kind assistance

1 Like