cabal-version: 3.0 name: eventuo11y version: 0.1.0.0 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.Implementation" for documentation on writing an @EventBackend@. See [Example.hs](https://github.com/shlevy/eventuo11y/tree/v0.1.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 Example.hs tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.2 source-repository head type: git location: https://github.com/shlevy/eventuo11y library exposed-modules: Observe.Event Observe.Event.Dynamic Observe.Event.Implementation Observe.Event.Render.IO.JSON Observe.Event.Render.JSON build-depends: , aeson ^>=2.0.3.0 , base >=4.14 && <4.17 , bytestring >=0.10.12.0 && <0.12 , exceptions ^>=0.10.4 , resourcet ^>=1.2.4.3 , text ^>=1.2.5.0 , time >=1.9.3 && <1.12 , unliftio-core ^>=0.2.0.1 , uuid ^>=1.3.15 hs-source-dirs: src default-language: Haskell2010