{"id":15017951,"url":"https://github.com/iand675/hs-opentelemetry","last_synced_at":"2025-05-16T08:05:00.295Z","repository":{"id":37863638,"uuid":"414656714","full_name":"iand675/hs-opentelemetry","owner":"iand675","description":"OpenTelemetry support for the Haskell programming language","archived":false,"fork":false,"pushed_at":"2025-03-29T11:20:33.000Z","size":1536,"stargazers_count":86,"open_issues_count":34,"forks_count":42,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-09T00:31:57.913Z","etag":null,"topics":["haskell","honeycomb","logging","metrics","observability","opentelemetry","performance","prometheus","tracing"],"latest_commit_sha":null,"homepage":"https://iankduncan.com/projects/opentelemetry","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iand675.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["iand675"]}},"created_at":"2021-10-07T15:28:38.000Z","updated_at":"2025-04-05T15:59:19.000Z","dependencies_parsed_at":"2023-02-16T16:45:38.276Z","dependency_job_id":"cca4f6db-9157-4e78-9c1d-26882b2491ce","html_url":"https://github.com/iand675/hs-opentelemetry","commit_stats":{"total_commits":291,"total_committers":21,"mean_commits":"13.857142857142858","dds":0.604810996563574,"last_synced_commit":"0b3c854a88113fc18df8561202a76357e593a294"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iand675%2Fhs-opentelemetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iand675%2Fhs-opentelemetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iand675%2Fhs-opentelemetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iand675%2Fhs-opentelemetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iand675","download_url":"https://codeload.github.com/iand675/hs-opentelemetry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493378,"owners_count":22080126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haskell","honeycomb","logging","metrics","observability","opentelemetry","performance","prometheus","tracing"],"created_at":"2024-09-24T19:51:14.652Z","updated_at":"2025-05-16T08:04:55.286Z","avatar_url":"https://github.com/iand675.png","language":"Haskell","funding_links":["https://github.com/sponsors/iand675"],"categories":[],"sub_categories":[],"readme":"---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/sponsors/iand675\"\u003e\n    \u003cimg alt=\"Support Haskell OpenTelemetry development\" src=\"https://img.shields.io/github/sponsors/iand675?label=support%20development\u0026logo=haskell\u0026style=for-the-badge\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"Alpha\" src=\"https://img.shields.io/badge/status-alpha-informational?style=for-the-badge\u0026logo=data:image/png;base64,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\"\u003e\n\u003c/p\u003e\n\n---\n\n# OpenTelemetry for Haskell\n\nThis repository provides an implementation of the OpenTelemetry API and OpenTelemetry SDK\nfor the Haskell programming language.\n\n## Implementation Status\n\nThis library still has a number of areas that don't fully cover\nthe breadth of the OpenTelemetry specification. The core aspects of the tracing\nsystem are implemented, but you may view the detailed conformance [checklist\nhere](spec-compliance.md)\n\nMetrics and logs are not yet supported.\n\n## Usage\n\nIf you're instrumenting a library directly, or as a wrapper, use the [hs-opentelemetry-api](api/) package.\n\nIf you're instrumenting an application, use the [hs-opentelemetry-sdk](sdk/) package.\n\n## Examples\n\nFully instrumented application examples are available in the [examples](examples/) folder.\n\n- [Yesod application](examples/yesod-minimal)\n\n## Provided Instrumentation Libraries\n\n| Package           | OpenTelemetry Instrumentation                                                           |\n|-------------------|-----------------------------------------------------------------------------------------|\n| wai               | [hs-opentelemetry-instrumentation-wai](instrumentation/wai)                             |\n| yesod-core        | [hs-opentelemetry-instrumentation-yesod](instrumentation/yesod)                         |\n| persistent        | [hs-opentelemetry-instrumentation-persistent](instrumentation/persistent)               |\n| esqueleto         | [hs-opentelemetry-instrumentation-persistent](instrumentation/persistent)               |\n| persistent-mysql  | [hs-opentelemetry-instrumentation-persistent-mysql](instrumentation/persistent-mysql)   |\n| postgresql-simple | [hs-opentelemetry-instrumentation-postgresql-simple](instrumentation/postgresql-simple) |\n| http-client       | [hs-opentelemetry-instrumentation-http-client](instrumentation/http-client)             |\n| http-conduit      | [hs-opentelemetry-instrumentation-http-client](instrumentation/http-client)             |\n| conduit           | [hs-opentelemetry-instrumentation-conduit](instrumentation/conduit)                     |\n\n## Provided Exporters\n\n| Exporter  | OpenTelemetry Package                            | Module                       | Support            |\n|-----------|--------------------------------------------------|------------------------------|--------------------|\n| OTLP      | [hs-opentelemetry-exporter-otlp](exporters/otlp) | OpenTelemetry.SpanExporter.OTLP  | :white_check_mark: |\n| Jaeger    |                                                  |                              | Not Implemented.   |\n| Zipkin    |                                                  |                              | Not Implemented    |\n| Honeycomb | (use hs-opentelemetry-exporter-otlp)             |                              | :white_check_mark: |\n\n## Provided Propagators\n\n| Propagator      | OpenTelemetry Package                                      | Module                                   | Support            |\n|-----------------|------------------------------------------------------------|------------------------------------------|--------------------|\n| W3CBaggage      | [hs-opentelemetry-propagator-w3c](propagators/w3c)         | OpenTelemetry.Propagator.W3CBaggage      | :white_check_mark: |\n| W3CTraceContext | [hs-opentelemetry-propagator-w3c](propagators/w3c)         | OpenTelemetry.Propagator.W3CTraceContext | :white_check_mark: |\n| B3              | [hs-opentelemetry-propagator-b3](propagators/b3)           | OpenTelemetry.Propagator.B3              | :white_check_mark: |\n| Jaeger          | [hs-opentelemetry-propagator-jaeger](propagators/jaeger)   | OpenTelemetry.Propagator.Jaeger          | Not implemented.   |\n| Datadog         | [hs-opentelemetry-propagator-datadog](propagators/datadog) | OpenTelemetry.Propagator.Datadog         | :white_check_mark: |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\nMaintainers:\n\n- [Ian Duncan](https://github.com/iand675)\n\n## PRs and Reviews\n\nWhen creating a PR please follow the process [described\nhere](https://github.com/iand675/hs-opentelemetry/blob/main/CONTRIBUTING.md#how-to-structure-prs-to-get-expedient-reviews).\n\nPRs will be automatically associated with the reviewers based on\n[CODEOWNERS](.github/CODEOWNERS). PRs will be also automatically assigned to one of the\nmaintainers or approvers for facilitation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiand675%2Fhs-opentelemetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiand675%2Fhs-opentelemetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiand675%2Fhs-opentelemetry/lists"}