packages feed

eventuo11y-0.9.0.0: eventuo11y.cabal

cabal-version:      3.0
name:               eventuo11y
version:            0.9.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.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-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.4, 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 }
    , time              ^>= { 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