Getting Started

Performance monitoring augments your existing error data by capturing interactions among your software systems.

With performance monitoring, Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems.

At this moment, the @sentry/react-native SDK does not come with automatic instrumentation. To learn how to measure an operation, see Manual Instrumentation.

By monitoring the performance of your application, you can see how latency in one service may affect another service to pinpoint exactly which parts of a given operation may be responsible. To do this, Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services, respectively. You can learn more about this model in our Distributed Tracing docs.

Install

Install the tracing package:

As @sentry/tracing is already included with our React Native SDK, no action is needed.

Configure

Enable performance monitoring in your app by either:

  1. Setting a uniform sample rate for all transactions using the tracesSampleRate option in your SDK config to a number between 0 and 1. (For example, to send 20% of transactions, set tracesSampleRate to 0.2.)
  2. Controlling the sample rate dynamically, based on the transaction itself and the context in which it's captured, by providing a function to the tracesSampler config option.
Copied
import * as Sentry from "@sentry/react-native";

// Unlike Sentry on other platforms, you do not need to import anything to use tracing on React Native

Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",

  // To set a uniform sample rate
  tracesSampleRate: 0.2

  // Alternatively, to control sampling dynamically
  tracesSampler: samplingContext => { ... }
});

If either of these options is set, tracing will be enabled in your app. While these options are meant to be mutually exclusive, if you do set both, tracesSampler will take precedence. You can learn more about how they work in Sampling Transactions.

Verify

You can now test out tracing by starting and finishing a transaction. You can learn how to do so with Manual Instrumentation

When you first enable tracing, verify it is working correctly by setting tracesSampleRate to 1.0 as that ensures that every transaction will be sent to Sentry.

Once testing is complete, we recommend lowering this value in production by either lowering your tracesSampleRate value, or switching to using tracesSampler to dynamically sample and filter your transactions.

You can edit this page on GitHub.