Skip to content

typelevel/otel4s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,392 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

otel4s

Typelevel Organization Project otel4s-core Scala version support

Telemetry meets higher-kinded types

otel4s is an OpenTelemetry implementation for Scala. The design goal is to fully and faithfully implement the OpenTelemetry Specification atop Cats Effect.

Features

  • Simple and idiomatic metrics and tracing API

    Provides a user-friendly and idiomatic API for telemetry, designed with Typelevel ecosystem best practices. Intuitive interfaces for metrics, tracing, and context propagation.

  • Minimal overhead

    The library utilizes metaprogramming techniques to reduce runtime costs and allocations. Near-zero overhead when telemetry is disabled, ensuring production performance is unaffected when tracing or metrics collection is not required.

  • Modularity

    A modular architecture allows to include only the required components:

    1. Core modules: designed for library instrumentation, offering a lightweight dependency footprint
    2. Selective integration: use only the metrics or tracing functionality without requiring the other
  • Cross-platform

    All modules are available for Scala 2.13 and Scala 3. Core modules are available on all platforms: JVM, Scala.js, and Scala Native.

  • OpenTelemetry Java SDK backend

    The backend utilizes OpenTelemetry Java SDK under the hood, offering production-ready telemetry:

    1. Low memory overhead
    2. Extensive instrumentation ecosystem
    3. Well-tested implementation
  • Pure Scala SDK

    A pure Scala SDK backend is available in the separate otel4s-sdk project for JVM, Scala.js, and Scala Native.

  • Testkit

    A testkit simplifies the validation of telemetry behavior in the applications and libraries:

    1. Framework-agnostic, works with any test framework, such as weaver, munit, scalatest
    2. Ideal for testing of the instrumented applications in end-to-end or unit tests
    3. Included for the OpenTelemetry Java backend in this repo

Status

otel4s 1.0 establishes the compatibility baseline for the modules published from this repository, primarily otel4s-core*, otel4s-oteljava*, and the semantic-convention and instrumentation modules.

Artifacts that remain unstable are explicitly marked, such as *-experimental semantic-convention modules. The pure Scala SDK backend lives in the separate otel4s-sdk project.

Published modules in this repo

Module family JVM Scala Native Scala.js
otel4s-core*
otel4s-semconv*
otel4s-instrumentation-*
otel4s-oteljava*

Learn more

See the website.

About

An OpenTelemetry library for Scala based on Cats-Effect

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages