mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-07 18:37:56 -05:00
1.5 KiB
1.5 KiB
Opentelemetry 
This project provides an API for instrumenting server software using opentelemetry, as well as connectors to talk to opentelemetry software such as jaeger.
Features
- basic traces
- basic metrics
- basic logs
- nice API
- interface with
lwt - sync collector relying on ocurl
- batching, perf, etc.
- async collector relying on ocurl-multi
- interface with
logs(carry context around)
Use
For now, instrument manually:
module T = Opentelemetry
let (let@) f x = f x
let foo x =
let@ (tr,sp) = T.Trace.with_
~service_name:"myservice" "foo" ~attrs:["hello", `String "world"] in
(* … *)
let gc = Gc.stat() in
T.Metrics.(
emit [
gauge ~name:"foo.gc.major_heap_words" [int gc.Gc.heap_words];
sum ~name:"foo.gc.minor_allocated" [float gc.Gc.minor_words];
]);
(* … *)
License
MIT
Semantic Conventions
Not supported yet.