cabal-version: 3.0 name: eventuo11y version: 0.9.0.1 synopsis: An event-oriented observability library description: 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 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 fo the specific backend I'm supporting (writing to @stderr@, serving a @Prometheus@ page, posting to @OpenTelemetry@) 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 documentation on writing an @EventBackend@. See [eventuo11y-dsl](https://hackage.haskell.org/package/eventuo11y-dsl) for simpler syntax for creating application-level instrumentation types. See [eventuo11y-otel](https://hackage.haskell.org/package/eventuo11y-otel) for an OpenTelemetry-based backend. See [eventuo11y-prometheus](https://hackage.haskell.org/package/eventuo11y-prometheus) for a Prometheus-based backend. See [eventuo11y-json](https://hackage.haskell.org/package/eventuo11y-json) for JSON-based rendering and backends. See [Example.hs](https://github.com/shlevy/eventuo11y/tree/v0.6.0.0/Example.hs) for an example. See [eventuo11y-batteries](https://hackage.haskell.org/package/eventuo11y-batteries) for miscellaneous framework-specific helpers. bug-reports: https://github.com/shlevy/eventuo11y/issues license: Apache-2.0 license-file: LICENSE author: Shea Levy maintainer: shea@shealevy.com copyright: Copyright 2022 Shea Levy. category: Observability extra-source-files: CHANGELOG.md tested-with: GHC == { 8.10.7, 9.2.6, 9.4.2 } source-repository head type: git location: https://github.com/shlevy/eventuo11y library exposed-modules: Control.Natural.Control Observe.Event Observe.Event.Backend Observe.Event.Class Observe.Event.Explicit Observe.Event.Render.InMemory build-depends: , base ^>= { 4.14, 4.16, 4.17 } , exceptions ^>= { 0.10 } , general-allocate ^>= { 0.2 } && >= 0.2.1 , primitive ^>= { 0.7, 0.8 } , time ^>= { 1.9, 1.11, 1.12 } , transformers ^>= { 0.5, 0.6 } , transformers-base ^>= { 0.4 } , monad-control ^>= { 1.0 } , mtl ^>= { 2.2, 2.3 } , unliftio-core ^>= { 0.2 } hs-source-dirs: src default-language: Haskell2010