• EnglishEspañol日本語한국어Português
  • Log inStart now

Compare New Relic agents with OpenTelemetry

New Relic agents and OpenTelemetry are like similar wrenches in your toolbox: you need to choose the one best suited to your task. To help you choose the tool that is right for you, we've provided comparisons of various user experiences you can expect in New Relic with OpenTelemetry. Because of the rapid growth and change in our product, and in the open source community, we'll be updating this feature comparison regularly.

Our goal is to provide you the same world-class observability experience whether your data comes from New Relic agents or OpenTelemetry. The simple truth is that some experiences will be different because OpenTelemetry is a newer technology than New Relic agents, and it has a different data model. Though OpenTelemetry is rapidly growing in scope and maturity, there are still capabilities of the New Relic platform that aren't yet supported by OpenTelemetry instrumentation or specifications. We are committed to adding more and more support for OpenTelemetry specifications in the New Relic platform.

We recommend you start with the table at the beginning that shows high-level comparisons. Then, you can use that information to focus on the detailed sections that are most important to you. The sections that follow have icons that describe whether you can expect particular experiences in New Relic:

  • ✅ Supported in New Relic
  • 🟡 Limited support in New Relic
  • 👀 "Looking to OTel": Limited or missing support in OpenTelemetry
  • ❌ Not supported in New Relic

Tip

Here are some ways navigate through these comparisons:

  • Scan the headings in the right navigation pane.
  • Use CONTROL-F to search the page for key phrases.
  • Expand all collapser sections by pressing s or hide with h.

High-level comparisons

Feature

New Relic agents

OpenTelemetry in New Relic

Collect metrics, traces, and logs

Collect custom events

👀 Semantic conventions for events is currently an experimental capability in the OpenTelemetry specification. For more about events in New Relic, see Custom events below.

APM: Optimize application performance

👀 OpenTelemetry instrumentation varies significantly by language and is improving. New Relic agents have overall broader coverage of languages.

APM: Discover root causes in complex systems

👀 Frontend and Kubernetes observability is limited unless combined with New Relic agents

APM: Triage and fix errors and exceptions

👀 Frontend error triage is limited unless combined with New Relic agents

Understand system topology and dependencies with maps

Monitor Kubernetes

👀 Better out-of-the-box experience with New Relic or Pixie instrumentation

Monitor hosts

Monitor serverless functions

👀 Better user experience with New Relic instrumentation, though setup is easier with OpenTelemetry for AWS Lambda

Improve browser and mobile end-user experience

👀 RUM (real user monitoring) specifications in progress but end-to-end tracing works today

Alert on any telemetry

Detect and notify anomalies

🟡 Automatic anomaly detection is presently limited to New Relic Lookout

Measure and track SLIs/SLOs

Create dashboards

Orchestrate and deploy observability tooling

Govern data ingest and storage

✅ The OpenTelemetry Collector is one powerful tool for this purpose, requiring additional management

Share, export, and build upon observability data

See reported telemetry immediately

✅ Varies by data type

✅ Varies by data type

Reliable, high-scale telemetry ingest, storage, and query

Integrate with cloud platform vendors

Get support from New Relic technical experts

See our support offering

Summary page

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

The Summary page offers an overview of a service's health, charting golden signals about your entity: response time, throughput, and error rate. These are also broken down by service instance ID (OpenTelemetry) or hostname (New Relic agent).

Filter/group data in the UI

New Relic agents: 🟡 Limited support       OpenTelemetry in New Relic: ✅

OpenTelemetry's service UIs in New Relic let you filter/group data in charts using any attribute. In New Relic One, only OpenTelemetry services have the filter bars shown below:

In contrast, the New Relic agent-based UI can be filtered/grouped by a more limited set of attributes. For example, all data can be filtered by host/instance. Several specialized views provide fixed groupings of their metrics, for example: by database query, by transaction/endpoint, by external service call, by error message and exception type, etc. In addition, event data available for many of these views can be filtered/grouped by any attribute.

Distributed tracing

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

Distributed tracing is supported today by our agents and OpenTelemetry. Both provide W3C Trace Context compatibility. Furthermore, OpenTelemetry supports W3C Baggage, highly configurable sampling options, and events on spans, or New Relic span events.

Transactions

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

Transactions are a New Relic concept, representing an aggregation of requests to a particular endpoint. For OpenTelemetry we map this concept using trace data (see Transactions). Metric data can also power the transactions experience, but is only produced by some OpenTelemetry language agents. All New Relic agents produce transaction metrics, including additional metrics on aggregate performance of transaction segments.

In order for spans from an OpenTelemetry service to populate the Transactions page, the spans must be SpanKind of server or consumer. These spans represent requests processed by the service, which may be part of a larger trace involving more services. You may have to set this attribute manually if you want this data in the Transactions UI (see Transactions page).

The key difference between transactions (as a New Relic concept) and traces is the process boundary. A transaction is meant to encapsulate one logical unit of work done by a single process, whereas a trace can involve multiple units of work from multiple processes. A New Relic agent starts up by attaching itself to a process. The process may make calls to external services, but the boundary for a transaction begins and ends at that process. A trace, on the other hand, does not have the same boundary and thus includes spans across all services that may be involved.

Databases

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

The Databases page shows an application's use of a database or cache. It shows individual database transactions/queries as a sortable table, and shows operations, throughput, and response time as charts.

The features of the Databases page will vary due to the following:

  • Differences in instrumentation coverage depending on the libraries being used
  • Different data sources are used to populate this page:
    • New Relic agent services use metrics, which are not subject to sampling effects
    • OpenTelemetry services use spans, which are subject to sampling

Externals

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

The external services feature allows you to look closely at the upstream and downstream activity of a single service. Whether you’re monitoring with New Relic agents or OpenTelemetry, the external services feature shows transaction-level detail as you drill into connected services.

For OpenTelemetry, this view is based strictly on span data (which may be sampled), while New Relic agents report unsampled metrics on the interservice connections.

Logs

New Relic agents: ✅       OpenTelemetry in New Relic: 👀

New Relic agents offer automatic log collection by default for services. OpenTelemetry can be configured to send logs from a variety of sources.

Service map

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

The Service map, accessible when looking at a single service in the UI, displays the entire set of entities connected directly to that service. Interconnected entities must be actively reporting to appear in this map.

Other features that display maps or entity relationships include Related entities, and Trace map.

Dependencies

New Relic agents: ✅       OpenTelemetry in New Relic: ❌

For OpenTelemetry, the Service map, or Related entities, views can take you to all the dependencies for a given service.

Errors

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

For OpenTelemetry services in the Errors page, the error rate is based on span data. Traces will be displayed if they contain a span or spans that meet the following conditions:

  • otel.status_code=ERROR
  • span.kind=server OR span.kind=consumer

The above also applies to exceptions, which are displayed as a span event on the span it was recorded on.

If you are not seeing an error that you expect to see in the Errors page, check the Distributed tracing page since it does not exclude based on the span.kind attribute.

Errors inbox

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

Metrics for services

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

New Relic agents report a wider variety of metrics for services, some of which are detailed below. These metrics power certain user experiences, like databases, externals, and transactions.

OpenTelemetry metrics release candidate was announced earlier in May, with general availability expected soon. The metrics API, SDK, and Protocol are stable, with client libraries in Java, .NET, and Python existing in RC (release candidate).

Metrics explorer

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

New Relic agents use timeslice metrics while OpenTelemetry uses dimensional metrics.

Events explorer

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

For OpenTelemetry services, you can use this page to explore data about the spans and logs emitted by your service. To explore data about your span events, click on Span and then nr.spanEventCount, or query for SpanEvent.

Explorer

New Relic agents: ✅       OpenTelemetry in New Relic: 🟡 Limited support

Services instrumented with New Relic and services instrumented with OpenTelemetry appear in different sections of the APM & services and All entities pages today.

OpenTelemetry services use spans to create golden signals, whereas New Relic agent services use metrics.

Lookout

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

OpenTelemetry services use spans to create golden signals, whereas New Relic agent services use metrics.

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

OpenTelemetry services use spans to create golden signals, whereas New Relic agent services use metrics.

Apdex

New Relic agents: ✅       OpenTelemetry in New Relic: 👀

This concept is not covered by the OpenTelemetry specification.

Thread profiler

New Relic agents: ✅       OpenTelemetry in New Relic: 👀

Runtime/VM observability

Browsers page

Mobile

Related entities

New Relic agents: ✅       OpenTelemetry in New Relic: 🟡 Limited support

This view shows, for and/or OpenTelemetry services or hosts:

  • Relationships between services
  • Relationships between services and infrastructure
  • Relationships between services and uninstrumented external services

Relationships will be inferred between any services that use Distributed Tracing or report OpenTelemetry traces with W3C trace context. These will appear in Related entities.

Relationships between services and databases are only generated for APM services at this time.

Environment

New Relic agents: ✅       OpenTelemetry in New Relic: 👀

To gather environment information for OpenTelemetry services, you can look at the span attributes (either in the distributed tracing page or by querying) to find certain environment information, such as the language SDK being used.

It may not necessarily be reported by the SDK in use, but users can manually set span attributes to include it and other environment information that is helpful for them.

Deployments

New Relic agents: ✅       OpenTelemetry in New Relic: 🟡 Limited support in New Relic

You can now record a deployment and see it in the activity feed of your OpenTelemetry service. You can also see the change markers on the three charts in your Summary view, whereas New Relic displays it in Transactions and database charts as well.

Activity stream

New Relic agents: ✅       OpenTelemetry in New Relic: 👀 Limited support

Alert incidents will be shown for all types of entities.

Service deployments, related deployments, and Java agent circuit breaker events will be shown only for New Relic APM agent entities.

Faster time-to-glass

New Relic agents: ✅       OpenTelemetry in New Relic: ✅

New Relic agents send events on a 15s interval and metrics on a 1m interval, although you can configure it to be faster or slower.

The OpenTelemetry Collector also allows you to configure reporting cycles, although there isn't really a concept of a harvest cycle. There are similar concepts, but there's some variation for the different telemetry types. For example, there's a batch processor that can be triggered on a periodic basis or when the batch is full, but these time cycles are not enforced across all telemetry types.

Any data reported directly using the New Relic ingest endpoints (MELT, OTLP, etc.) will be available in the UI in less than 1 minute, although you can query data almost immediately.

Reports

Infrastructure

Serverless

New Relic agents: ✅       OpenTelemetry in New Relic: 🟡 Limited support

OpenTelemetry serverless function telemetry can be reported, stored, and visualized with custom dashboards. A dedicated view of this telemetry is not yet available.

Alerts

New Relic agents: ✅       OpenTelemetry in New Relic: 🟡 Limited support

You can configure on OpenTelemetry data using conditions written in NRQL. Click any chart's “...” menu to get started.

Conditions, incidents, and issues all work for any entity.

New Relic platform

Configuration options

Support Model

See our OpenTelemetry support policy for details.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.