{"repo":"ethercrow/opentelemetry-haskell","free":true,"listed":false,"github":"https://github.com/ethercrow/opentelemetry-haskell","clone":"git clone https://github.com/ethercrow/opentelemetry-haskell.git","description":"The OpenTelemetry Haskell Client https://opentelemetry.io","language":"Haskell","stars":69,"topics":["opentelemetry","haskell","distributed-tracing","observability","serious-business"],"license":null,"category":"analytics","readme_excerpt":"opentelemetry-haskell What is it? The client library for OpenTelemetry. The idea is to instrument your application code and configure where the telemetry data is sent, e.g. to a file or a service of your choice. This is like always-on debugging and profiling that helps you to understand the runtime behavior of your systems and spot and fix correctness and performance problems. Some more exposition Long term utopic goal: every popular library doing networked interactions or heavy computations either is instrumented directly or has a companion library like libfoo-with-opentelemetry or at least a documented example. This way you could observe your typical industrial application doing HTTP, RPC, SQL, GraphQL, DAOSOAPCORBAXML and other enterprise things with minimal amount of effort spent on instrumentation. Another utopic goal: Haskell development tools like stack, cabal, HIE, hlint, ormolu and maybe even ghc itself are instrumented so that we can all be aware what exactly is slow in the toolchain and improve it. How do I use it? As a library author Add opentelemetry to dependencies, import OpenTelemetry.Eventlog and sprinkle withSpan on interesting IO actions (or any other m satisfying (MonadIO m, MonadMask m) : For a comprehensive example see the megaexample subproject. As an application author 1. Instrument interesting parts of the code, same as in the section above. 2. Compile your executable with -eventlog . 3. Run it with +RTS -l -olmy application.eventlog . 4. Export the r","default_branch":null,"files":null,"tree":[],"storefront":"/r/ethercrow","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ethercrow/opentelemetry-haskell/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}