🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

react-native-open-telemetry

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-open-telemetry

Observability SDK for React Native

latest
Source
npmnpm
Version
0.2.0
Version published
Maintainers
2
Created
Source

react-native-open-telemetry

Best in class observability brought to React Native.

  • OpenTelemetry is a collection of APIs, SDKs, and tools developed by OpenTelemetry to instrument, generate, collect, and export telemetry data. See What is OpenTelemetry for more information.
  • react-native-open-telemetry is a library that allows you to easily use OpenTelemetry's JS and Native bindings inside your React Native app.

Features

  • Telemetry without lock-in. Send to any OTLP compliant backend including vendors
  • Tracing API
  • Metrics API
  • Web, Android (experimental) support with iOS coming soon
  • Automatic fetch instrumentation

Platform support

PlatformSupport
web☑️ Stable
android☑️ Stable JS with experimental Native 🏗️
ios☑️ Stable JS with planned Native 👀

Installation

npm install react-native-open-telemetry

Usage

1. Start the JS SDK

See OpenTelemetry's JS documentation on Traces and Metrics for more information on available APIs.

import { openTelemetrySDK } from 'react-native-open-telemetry';

// Start the SDK
const sdk = openTelemetrySDK({
  debug: true,
  url: "https://my-collector.com:4317",
  name: "my-app",
  version: "1.0.0-alpha",
  environment: "development",
});

// Use available APIs
const meter = sdk.metrics.getMeter("my-js-meter", "1.0");

const promoCounter = meter.createCounter("my-promo-counter", {
  description: "A counter metric for my promo section"
});

function App() {
  function onPress() {
    promoCounter.add(1);
  }

  return <Button title="Press me" onPress={onPress} />
}

2. Start the native SDK (optional) 🚧

[!IMPORTANT] This section is considered highly experimental. There's currently no support for bidirectional JS/Native communication and the native feature flag only marks an API that will become available.

Android

See OpenTelemetry's Android documentation on Traces and Metrics for more information on available APIs.

import com.opentelemetry.OpenTelemetry

class MainApplication : Application(), ReactApplication {
    override fun onCreate() {
        super.onCreate()

        // Start the SDK
        OpenTelemetry.init(this) {
            debug = true
            url = "https://my-collector.com:4317"
            name = "my-app"
            version = "1.0.0"
            environment = "production"
        }

        // ..

        // Use available APIs
        val sdk = OpenTelemetry.get()
        val meter = sdk.getMeter("native-scope-name")
        val counter = meter.counterBuilder("native-counter").build()
        counter.add(14)
    }
}

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Made with create-react-native-library

Keywords

react-native

FAQs

Package last updated on 11 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts