To help you understand your New Relic usage and billing, we provide a usage UI for understanding your billing-related usage. Also, you can run custom NRQL queries to get additional detail, and you can create alert notifications for when your usage has reached certain levels.
Keep the following in mind when using the usage UI or making consumption queries:
The results are approximate and don't correspond exactly to the values used to calculate your invoice amount.
Use these tools to find and track your areas of high usage.
Use queries to create so you know if you're approaching a limit.
Data ingest usage queries
The usage UI displays your data ingest over time. If you need more detail than the UI provides, you can use a variety of NRQL queries. The examples below include the following data types:
NrConsumption: Use this to dive deep into the details of your usage hour-by-hour. It's less helpful as a proxy for your bill.
NrMTDConsumption: Use this to see an approximation of your monthly aggregated usage.
This query totals your billable ingested data, and displays a daily value for the past three months:
FROM NrConsumption SELECTsum(GigabytesIngested)
WHERE productLine ='DataPlatform'
SINCE 3 months ago TIMESERIES 1day
This query totals your billable ingested data, and displays a daily value for the past three months faceted by the source:
FROM NrConsumption SELECTsum(GigabytesIngested)
WHERE productLine ='DataPlatform' SINCE 3 months ago
FACET usageMetric TIMESERIES 1day
This query breaks down Metric data by the top ten metric names. You could also facet by appName or host to adjust the analysis.
FROM Metric SELECT bytecountestimate()/10e8 AS'GB Estimate'
This query shows the current full platform ingested data. In other words, it shows how much you'd be billed for your data for that month if you were billed right now.
Usage fee information is calculated hourly and takes approximately 3 hours to generate.
If no values are displayed, please query data from 4 hours ago using "SINCE 4 hours ago."
FROM NrMTDConsumption SELECT latest(GigabytesIngested)
The usage UI displays your compute usage over time. If you need more detail than the UI provides, you can use a variety of NRQL queries. The examples below include the following data types:
NrConsumption: Use this to dive deep into the details of your usage hour-by-hour. It's less helpful as a proxy for your bill.
NrMTDConsumption: Use this to see an approximation of your monthly aggregated compute usage.
This query totals your billable core compute usage, and displays a daily value for the past three months:
FROM NrConsumption SELECTsum(consumption)
WHERE metric ='CoreCCU'
SINCE 3 months ago TIMESERIES 1day
This query totals your billable advanced compute usage, and displays a daily value for the past three months:
FROM NrConsumption SELECTsum(consumption)
WHERE metric ='AdvancedCCU'
SINCE 3 months ago TIMESERIES 1day
This query totals your billable core compute usage, and displays a daily value for the past three months faceted by the capability:
FROM NrConsumption SELECTsum(consumption)
WHERE metric ='CoreCCU' SINCE 3 months ago
FACET dimension_productCapability TIMESERIES 1day
This query totals your billable advanced compute usage, and displays a daily value for the past three months faceted by the capability:
FROM NrConsumption SELECTsum(consumption)
WHERE metric ='AdvancedCCU' SINCE 3 months ago
FACET dimension_productCapability TIMESERIES 1day
This query shows the current full platform core compute usage. In other words, it shows how much you'd be billed for your data for that month if you were billed right now.
Usage fee information is calculated hourly and takes approximately 3 hours to generate.
If no values are displayed, please query data from 4 hours ago using "SINCE 4 hours ago."
FROM NrMTDConsumption select latest(consumption)where metric ='CoreCCU' since 1day ago
This query shows the current full platform advanced compute usage. In other words, it shows how much you'd be billed for your data for that month if you were billed right now.
Usage fee information is calculated hourly and takes approximately 3 hours to generate.
If no values are displayed, please query data from 4 hours ago using "SINCE 4 hours ago."
FROM NrMTDConsumption select latest(consumption)where metric ='AdvancedCCU' since 1day ago
Data ingest and query limits
For information about data ingest limits and query limits, see New Relic data limits.
User count queries
For a display of your user count, see the usage UI. If you need more detail than that, you can use the example NRQL queries below. For details about how users are calculated, see Billable user calculations.
The attributes used for querying users are CoreUsersBillable and FullPlatformUsersBillable.
Here are some example NRQL queries for determining user count:
Month-to-date full platform users
This query shows the billable full platform users for the month. In other words, it shows how much you'd be billed for your full platform users for that month if you were billed right now.
FROM NrMTDConsumption
SELECT latest(FullPlatformUsersBillable)
SINCE 3 hours ago
Month-to-date core users
This query shows the number of core users you'd be billed for if you were billed right now:
FROM NrMTDConsumption
SELECT latest(CoreUsersBillable)
SINCE 3 hours ago
Estimated cost
Here's a query for getting the current month's cost for your full platform users. Note that you'll have to know your organization's full platform user cost.
These queries apply for some older New Relic organizations that have only two user types available: basic users and full platform users.
For organizations that don't have core users enabled, here are some rules for querying your users:
You can use the NrMTDConsumption or NrConsumption event.
The attributes used to query by user type are: BasicUsersBillable, and FullUsersBillable.
Billable full platform users for the month
This query shows the billable full platform users for the month. In other words, it shows how much you'd be billed for your users for the current month if you were charged at that moment.
FROM NrMTDConsumption
SELECT latest(FullUsersBillable)
This query shows how many full platform users were counted by hour. This is useful for seeing how the full platform user count changed over time.
FROM NrConsumption
SELECTmax(FullUsers)
SINCE 10 days ago TIMESERIES 1hour
Projected monthly full platform user count
Here's an example of querying the projected end-of-month count of monthly full platform users with 10 days left in that month. Note that this query would not be good for using in a dashboard because it requires values based on the days remaining in the month and the start of the month.
To see the count of full platform users and basic users over time:
FROM NrUsage SELECTmax(usage) SINCE 10 days ago
WHERE productLine='FullStackObservability'
AND metric IN('FullUsers','BasicUsers')
FACET metric TIMESERIES 1hour
Estimated cost
Here's a query for getting the current month's cost for your full platform users. Note that you'll have to know your organization's full platform user cost.
The NrDailyUsage event can help you further break down synthetics usage, but results may not match the usage UI and NrMTDConsumption event. It's generated once per day. Usage timestamps correspond to the time that New Relic receives and processes a synthetic check. This may introduce a slight difference in usage data compared to the time the synthetic check was executed.
By using FACET with the NrDailyUsage event, you can break your consumption into multiple categories, including account, location, monitor type, and monitor name. If you have a parent account structure, ensure you run queries in a parent account to see the aggregated usage for that parent and its child accounts.
Both successful and failed checks contribute to overall synthetics consumption. Below are sample queries to view and facet your synthetics consumption, using both event types as appropriate:
Here are some query recommendations for helping you understand the estimated cost for the current month.
Here's a query for arriving at an estimate of your data ingest cost for the current month. To run this query, you'll need to know your organization's per-GB ingested data cost.
This query will create an alert when your hourly usage exceeds a fixed value:
FROM NrConsumption
SELECTsum(GigabytesIngested)
WHERE productLine ='DataPlatform'
If your organization has multiple child accounts, you may want to set threshold alerts for a specific account:
FROM NrConsumption
SELECTsum(GigabytesIngested)
WHERE productLine ='DataPlatform'
AND consumingAccountId = YOUR_CHILD_ACCOUNT_ID
This query will create an alert when your usage exceeds a fixed monthly threshold for GBs:
FROM NrMTDConsumption
SELECT latest(GigabytesIngested)
WHERE productLine ='DataPlatform'
This is an example for an alert query that will trigger when your user count of full platform users exceeds a certain number:
FROM NrMTDConsumption
SELECT latest(FullPlatformUsersBillable)
Note that this query applies for organizations with the primary version of our usage-based pricing, with core users. For more about this and about how to query user counts, see Query users.
In May of 2022, the estimatedCost attribute was deprecated (learn more). If you're using that attribute, you should replace it with the query recommended here.
Note that to run this query you'll need to know your organization's per-GB ingested data cost.
To see changes made to your account (for example, changes related to managing users), you can query NrAuditEvent.
Usage-related events and attributes
Tip
For an advanced deep dive into managing data ingest in a complex organization, see Data ingest governance.
These are the primary events to query for understanding your usage:
NrConsumption records usage every hour, and is the equivalent of "real-time" usage. Use this event to observe usage trends over time.
NrMTDConsumption generates aggregate values from the NrConsumption event. Use this event to see usage by monthly billing period. This is the best event for querying user count.
Here are some of the most important attributes attached to usage-related events.
Attribute
Description
productLine
The category of usage. There are three options: DataPlatform, FullStackObservability, and ProactiveDetection. (Starting November 1, 2021, IncidentIntelligence is no longer a billing factor.) For more details about these categories, see New Relic platform.
metric
This consolidates multiple categories of usage into a single metric. Helpful when faceting by productLine. It's an enum with possible values of BasicUsers, FullPlatformUsers, and GigabytesIngested. Values for the core user release include FullPlatformUsers and CoreUsers.
consumingAccountId
ID of the New Relic account directly responsible for the stored events, as determined from the used.
Byte count estimate
One tool you can use to learn more about your usage is the function bytecountestimate() (for example, see this query that uses it).
Some important points to know about using bytecountestimate():
Because it returns all data it finds, and some of that data doesn't count towards your ingest and billing, it's only an estimate of your actual usage. For that reason, it's mostly useful for researching the data reported by various sources, or for understanding the upper ceiling of data reported.
We recommend using it mainly for querying time ranges under 24 hours, and, if desired, using that to extrapolate. This is because it's a function that requires querying a lot of data, and because it won't find data that passes retention boundaries.
Here are some technical details about how bytecountestimate() works:
There are several types of data that don't count towards ingest but that is returned by the bytecountestimate() function. This means that this function sometimes shows more data than actually is counted towards your usage. It may rarely show a lower amount but, if it does, it will be only slightly lower.
Some telemetry data reported from an entity shares common attributes (for example, attributes about your New Relic account). We don't count the duplicated attributes towards your ingest, but bytecountestimate() does count those attributes. This can sometimes result in a large discrepancy between a bytecountestimate() query and your actual usage.
Our , , and report a type of data known as metric timeslice data. This data isn't stored in NRDB like our other data types are, and so trying to use bytecountestimate() on this data can result in confusing results. When querying this data, we recommend faceting by application name, and not by the metric name.