@hackage e11y0.1.0.0
An event-oriented observability library
Categories
License
Apache-2.0
Maintainer
shea@shealevy.com
Links
Versions
- 0.1.0.0 Tue, 16 Jan 2024
Installation
Tested Compilers
Dependencies (6)
- base ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19
- containers ^>=0.6 || ^>=0.7
- general-allocate ^>=0.2.3
- parametric-functor ^>=0.1.1
- primitive ^>=0.9
- transformers ^>=0.5 || ^>=0.6 Show all…
Dependents (1)
@hackage/e11y-otel
Instrument your Haskell codebase with wide, semantically meaningful events.
This library is designed with separating the following concerns in mind:
Writing instrumentation- When instrumenting code, I want to think in terms of my application domain and report any information I might need in order to infer internal application-level state and understand the behavior of my program/library.
Consuming instrumentation- When consuming instrumentation, I want to think in
terms of the API of the specific backend I'm supporting (writing to
stderr, serving aPrometheuspage, posting toOpenTelemetry) and what is needed to render to that API. Initializing instrumentation in an application- When I'm ready to tie it all together, I want to identify the specific backends I want to post to and provide the bridge code to render the domain-specific instrumentation as needed for those backends. I also want to handle concerns like sampling or client-side aggregation of domain-specific instrumentation to keep usage manageable.
See Observe.Event for detailed documentation on instrumenting your code.
See Observe.Event.Backend for creating a new EventBackend to consume instrumentation.
See Observe.Event.Backend.Data for an EventBackend that represents the stream of events as
ordinary Haskell data.
See e11y-otel for an OpenTelemetry-based backend.
This is a rewrite of eventuo11y, designed to be easier to use, less intrusive, and not nearly as annoying to write/say. The name is a shortening of "event-based observability" (event-based -> e, observability -> o11y), and can be pronounced "eh-lee" or "ee-eleven-why".