MyNixOS website logo
Description

'R' 'SDK' and Exporters for 'OpenTelemetry'.

'OpenTelemetry' is a collection of tools, 'APIs', and 'SDKs' used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. This package contains the 'OpenTelemetry' 'SDK', and exporters. Use this package to export traces, metrics, logs from instrumented 'R' code. Use the 'otel' package to instrument your 'R' code for 'OpenTelemetry'.

otelsdk

OpenTelemetry SDK for R packages and projects

lifecycle R-CMD-check Codecov testcoverage

OpenTelemetry is an observability framework. OpenTelemetry is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data such as metrics, logs, and traces, for analysis in order to understand your software’s performance and behavior.

For an introduction to OpenTelemetry, see the OpenTelemetry website docs.

To learn how to instrument your R code, see Getting Started in the otel package.

To learn how to collect telemetry data from an instrumented R package or project, see Collecting Telemetry Data.

For project status, installation instructions and more, read on.

Features

  • Lightweight packages. otel is a small R package without dependencies and compiled code. otelsdk needs a C++11 compiler and otel.
  • Minimal performance impact when tracing is disabled. otel functions do not evaluate their arguments in this case.
  • Zero-code instrumentation support. Add tracing to (some) functions of selected packages automatically.
  • Configuration via environment variables.
  • Minimal extra code. Add tracing to a function with a single extra function call.
  • Production mode: otel functions do not crash your production app in production mode.
  • Development mode: otel functions error early in development mode.

The otel and otelsdk R packages

Use the otel package as a dependency if you want to instrument your R package or project for OpenTelemetry.

Use the otelsdk package to produce OpenTelemetry output from an R package or project that was instrumented with the otel package.

Reference Documentation

Status

The current status of the major functional components for OpenTelemetry R is as follows:

TracesMetricsLogs
DevelopmentDevelopmentDevelopment

Version support

otel and otelsdk support R 3.6.0 and higher on Unix and R 4.3.0 or higher on Windows.

Installation

You can install the otel from CRAN:

install.packages("otelsdk")

Compiling from source

To compile otelsdk from source, you need to install the protobuf library first:

  • On Windows install the correct version of Rtools.

  • On Linux install the appropriate package from your distribution.

  • On macOS, you can use CRAN’s protobuf build or Homebrew. If you are using CRAN’s build, then you must uninstall or unlink Homebrew protobuf:

    brew unlink protobuf
    

Repositories

License

MIT © Posit, PBC.

Metadata

Version

0.2.2

License

Unknown

Platforms (76)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows