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

APM: Percentiles for Custom Instrumented Non-Web Transactions



I am looking for the percentile metrics for Custom Instrumented non web transactions. As you can see in the screenshot, we are getting back transaction traces of our Custom Instrumented transactions, which is a REST API in an Owin Self Hosted container as a Windows Service.

As you can see in the screenshot, there is no option for percentiles, and the histogram option is grayed out. Is this intended for Custom Instrumented transactions, or perhaps an issue with how our CustomInstrumentation config is setup?

Percentiles are working and displaying for web transactions.


Hi @Timothy.Fortin

Currently the option for histogram and percentile display is not available for non-web transactions in APM. I’ll be happy to file a feature request to have this functionality considered for a future release.

In the meantime, you can create percentile and histogram charts for this data by using New Relic Insights as a workaround.

For example, you could use a query like this to see percentile data in Insights.

SELECT percentile(duration, 50, 95, 99) FROM Transaction WHERE name = 'your/custom/transaction' TIMESERIES

Hope this helps.

Don Morris
Technical Support Engineer
New Relic


Does this also work for custom metric added to insights?

When I try the query auto-complete for WHERE does not show our custom metrics.


Hi @rts-team - A custom event name will not display if no event has been created within a time-frame. I am not sure that time-frame is documented. I suspect that a custom attribute on an event would have the same limitations.


@stefan_garnham thanks for replying.

Custom metrics are being generated at high frequency so i think it should be within timeframe.
To be clear, this is what i’m doing in code (Go):

apm.NRApp.RecordCustomMetric("MessageRTT", float64(sRtt.Nanoseconds()/1e6))


Hmm, the documentation for Go RecordCustomMetric states that the second parameter is a time measurement in milliseconds.

I suggest checking that the value you are creating is actually within the range for the parameter and of the correct data type.

It is also worth noting where a custom metric is created and how to view it.


@rts-team, Were @stefan_garnham’s comments helpful? Let us know if you’re still having trouble


@stefan_garnham, second param is indeed ms in our case.


@rts-team Can you verify that you’re not seeing the metrics coming in through the Metric Explorer:{your_acc_id}/explorer/metrics


@stefan_garnham: I did add the metric to insights dashboard from “Data Explorer/Metrics/Applications//Custom/”.

This is the one for which we need percentiles.



Hey @rts-team - is there anything further we can help with now that you’ve gathered the metrics through the Metric Explorer? o