When working with your APM data in New Relic, you may want to view aggregated, "rolled up" data for an application that spans multiple clusters, environments, or data centers, but also be able to view each of the app instance's data separately. You can do this by setting multiple app names for your APM-monitored apps.
Before you start
Here are some important caveats to be aware of when using multiple app names.
Alternative solutions
Because adding multiple app names results in reporting duplicate data, you may want to consider these other options.
If your goal is to be able to more easily filter your telemetry data by attributes (for example, filter by agent region), we recommend one of these options instead:
- Add tags via the agent config file (for example, this Java config)
- Add custom attributes
As another option for organizing your app data, you can set distinct performance thresholds for each environment using alert conditions and key transactions. These thresholds will apply to the individual apps, while the overall rolled-up app won't have its own thresholds. The overall app will treat incoming data according to the threshold for the relevant environment.
Duplicate data
Using multiple app names results in generating duplicate events and metrics, which is counted as ingested data. For example, if your New Relic-monitored app has three app names set, it will report three times the events and metrics.
If you do want to use multiple app names and not one of the alternate solutions below, you can use drop data rules to drop some specific events you don't need.
Priority of names
The order of app names in the agent configuration matters. For more information, see Define app names.
How using multiple app names works
Normally, when two instances report with the same app name, agent language, and license key, New Relic aggregates their data into a single New Relic-monitored app. You can also view data for the individual hosts and instances from the app's New Relic APM Overview page.
To segment your app in a different way, or to work with each instance as an individual app while maintaining the overall view of the data, use your New Relic agent's config file to give an app up to three different rollup names. New Relic will then report the app's data separately to each app listed in the config file.
For example, you might want to separate the data collected for your app running in development, staging, and production environments, but also have a common view of the app in every environment. Or, if you have two data centers running the same code, you could name one app EastCoastApp;AggregateApp
and the second app WestCoastApp;AggregateApp
.
Roll up browser data
When you use multiple names to report application data, any data from that application will also be grouped into multiple applications using the same configuration.
Important
Session replay and trace data, which reports to the blobs
endpoint, do not support multiple applications reporting. Other browser data will populate into each of the up to three applications.
Define app names from most to least specific
You can give each app up to three names, which New Relic uses to aggregate data from most to least specific. You can then use the New Relic UI to view data for each app name individually, as well as in aggregate for overall application performance. When doing so, the order in which you specify the app names is important.
Using multiple names | Comments |
---|---|
Most specific | A unique rollup name. |
A shared rollup name to aggregate data in the New Relic UI. This provides more general organization. | |
Optional, least specific | An additional, shared rollup name. If used, this is the most general name New Relic uses to aggregate data into a single app. |
Name app instances via agent config file
The naming convention you use in your configuration file depends on your New Relic agent. Set the order of your app's names so that the first rollup name is the most unique.
The second and third names can be unique, or they can be the same. The second name is more general for aggregate data, and the third name (if used) is the most general.
Agent | Configuration file value |
---|---|
C | Identify a maximum of three names separated by a semicolon |
Go | Set |
Java | Set |
.NET | Use any of the available options to name your .NET app. |
Node.js | Set |
PHP | Use any of the available options to name your PHP application. Use three names separated by a semicolon. |
Python | Set |
Ruby | Set |
For more information, refer to the configuration file documentation for your agent.
Examples
Here are examples of how you could use multiple rollup names for a single app.