Skip to content

iand675/hs-opentelemetry


Support Haskell OpenTelemetry development Alpha


OpenTelemetry for Haskell

This repository provides an implementation of the OpenTelemetry API and OpenTelemetry SDK for the Haskell programming language.

Implementation Status

This library still has a number of areas that don't fully cover the breadth of the OpenTelemetry specification. The core aspects of the tracing system are implemented, but you may view the detailed conformance checklist here

Metrics and logs are not yet supported.

Usage

If you're instrumenting a library directly, or as a wrapper, use the hs-opentelemetry-api package.

If you're instrumenting an application, use the hs-opentelemetry-sdk package.

Examples

Fully instrumented application examples are available in the examples folder.

Provided Instrumentation Libraries

Package OpenTelemetry Instrumentation
wai hs-opentelemetry-instrumentation-wai
yesod-core hs-opentelemetry-instrumentation-yesod
persistent hs-opentelemetry-instrumentation-persistent
esqueleto hs-opentelemetry-instrumentation-persistent
persistent-mysql hs-opentelemetry-instrumentation-persistent-mysql
postgresql-simple hs-opentelemetry-instrumentation-postgresql-simple
http-client hs-opentelemetry-instrumentation-http-client
http-conduit hs-opentelemetry-instrumentation-http-client
conduit hs-opentelemetry-instrumentation-conduit

Provided Exporters

Exporter OpenTelemetry Package Module Support
OTLP hs-opentelemetry-exporter-otlp OpenTelemetry.Exporter.OTLP
Jaeger Not Implemented.
Zipkin Not Implemented
Honeycomb (use hs-opentelemetry-exporter-otlp)

Provided Propagators

Propagator OpenTelemetry Package Module Support
W3CBaggage hs-opentelemetry-propagator-w3c OpenTelemetry.Propagator.W3CBaggage
W3CTraceContext hs-opentelemetry-propagator-w3c OpenTelemetry.Propagator.W3CTraceContext
B3 hs-opentelemetry-propagator-b3 OpenTelemetry.Propagator.B3
Jaeger hs-opentelemetry-propagator-jaeger OpenTelemetry.Propagator.Jaeger Not implemented.
Datadog hs-opentelemetry-propagator-datadog OpenTelemetry.Propagator.Datadog

Contributing

See CONTRIBUTING.md.

Maintainers:

PRs and Reviews

When creating a PR please follow the process described here.

PRs will be automatically associated with the reviewers based on CODEOWNERS. PRs will be also automatically assigned to one of the maintainers or approvers for facilitation.