packages feed

otel-effectful-1.0.0: otel-effectful.cabal

cabal-version: 3.0
name: otel-effectful
version: 1.0.0
synopsis: OpenTelemetry implementation for the Effectful ecosystem
description:
  Implementation of @<https://opentelemetry.io/ OpenTelemetry>@ for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.

homepage: https://digital-autonomy.institute
license: EUPL-1.2
license-file: LICENCE
author: IDA
maintainer: IDA
bug-reports: https://issues.digital-autonomy.institute
category: Test
build-type: Simple
extra-doc-files:
  CHANGELOG.md

common common
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-unsafe
    -Wno-missing-safe-haskell-mode
    -Wno-missing-export-lists
    -Wno-missing-import-lists
    -Wno-missing-kind-signatures
    -Wno-all-missed-specialisations
    -Wno-missing-role-annotations
    -Wno-x-unstable-interface

  default-extensions:
    ApplicativeDo
    BangPatterns
    BlockArguments
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DerivingStrategies
    DerivingVia
    ExistentialQuantification
    ExplicitNamespaces
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    LambdaCase
    MultiParamTypeClasses
    NamedFieldPuns
    NoImplicitPrelude
    NumericUnderscores
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes
    RankNTypes
    RecordWildCards
    RecursiveDo
    ScopedTypeVariables
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    ViewPatterns

  build-depends:
    aeson >=2.2 && <2.3,
    base >=4.16 && <5,
    containers >=0.7 && <0.9,
    effectful >=2.6 && <2.8,
    extra >=1.0 && <1.9,
    http-client-effectful >=1.0 && <1.1,
    http-types >=0.12 && <0.13,
    http2-client-effectful >=1.0 && <1.1,
    network-uri >=2.6 && <2.7,
    random >=1.2 && <1.3,
    retry-effectful >=0.1 && <0.2,
    scientific >=0.3 && <0.4,
    text >=2.1 && <2.2,

library
  import: common
  hs-source-dirs: src
  build-depends:
    ansi-terminal >=1.0 && <1.2,
    base16-bytestring >=1.0 && <1.1,
    bytestring >=0.12 && <0.13,
    http2-client-grpc-effectful >=1.0 && <1.1,
    http2-grpc-proto3-wire >=0.1 && <0.2,
    prettyprinter >=1.7 && <1.8,
    prettyprinter-ansi-terminal >=1.1 && <1.2,
    proto3-wire >=1.4 && <1.5,
    safe >=0.3 && <0.4,
    stm >=2.5 && <2.6,
    time >=1.12 && <1.17,
    unordered-containers >=0.2 && <0.3,
    vector >=0.13 && <0.14,
    zlib >=0.7 && <0.8,

  exposed-modules:
    Effectful.OpenTelemetry
    Effectful.OpenTelemetry.Exporter
    Effectful.OpenTelemetry.Exporter.Console
    Effectful.OpenTelemetry.Exporter.Environment
    Effectful.OpenTelemetry.Exporter.OTLP
    Effectful.OpenTelemetry.Exporter.STM
    Effectful.OpenTelemetry.Exporter.Type
    Effectful.OpenTelemetry.Logging
    Effectful.OpenTelemetry.Logging.Effect
    Effectful.OpenTelemetry.Logging.LogRecord
    Effectful.OpenTelemetry.Logging.Severity
    Effectful.OpenTelemetry.Metrics
    Effectful.OpenTelemetry.Metrics.Counter
    Effectful.OpenTelemetry.Metrics.Effect
    Effectful.OpenTelemetry.Metrics.Gauge
    Effectful.OpenTelemetry.Metrics.Histogram
    Effectful.OpenTelemetry.Metrics.Instrument
    Effectful.OpenTelemetry.Metrics.Measurement
    Effectful.OpenTelemetry.Metrics.Metadata
    Effectful.OpenTelemetry.Metrics.ObservableCounter
    Effectful.OpenTelemetry.Metrics.ObservableGauge
    Effectful.OpenTelemetry.Metrics.ObservableUpDownCounter
    Effectful.OpenTelemetry.Metrics.RTS
    Effectful.OpenTelemetry.Metrics.Sum
    Effectful.OpenTelemetry.Metrics.UpDownCounter
    Effectful.OpenTelemetry.Protocol
    Effectful.OpenTelemetry.Protocol.AnyValue
    Effectful.OpenTelemetry.Protocol.Attributes
    Effectful.OpenTelemetry.Protocol.Effect
    Effectful.OpenTelemetry.Protocol.Environment
    Effectful.OpenTelemetry.Protocol.Exception
    Effectful.OpenTelemetry.Protocol.Export
    Effectful.OpenTelemetry.Protocol.GRPC
    Effectful.OpenTelemetry.Protocol.HTTP
    Effectful.OpenTelemetry.Protocol.Resource
    Effectful.OpenTelemetry.Protocol.Scope
    Effectful.OpenTelemetry.Protocol.Transport
    Effectful.OpenTelemetry.Timestamp
    Effectful.OpenTelemetry.Tracing
    Effectful.OpenTelemetry.Tracing.Effect
    Effectful.OpenTelemetry.Tracing.Propagator
    Effectful.OpenTelemetry.Tracing.Span
    Effectful.OpenTelemetry.Tracing.Span.Context
    Effectful.OpenTelemetry.Tracing.Span.Event
    Effectful.OpenTelemetry.Tracing.Span.ID
    Effectful.OpenTelemetry.Tracing.Span.Kind
    Effectful.OpenTelemetry.Tracing.Span.Status
    Effectful.OpenTelemetry.Tracing.Trace.Flags
    Effectful.OpenTelemetry.Tracing.Trace.ID
    Effectful.OpenTelemetry.Tracing.Trace.State
    Proto3.Wire.Encode.Class

  other-modules:
    Prettyprinter.Extra
    System.Random.Extra

test-suite spec
  import: common
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options:
    -threaded
    -rtsopts
    "-with-rtsopts=-N -T"

  build-tool-depends: hspec-effectful-discover:hspec-effectful-discover
  build-depends:
    base16-bytestring >=1.0 && <1.1,
    base64-bytestring >=1.2 && <1.3,
    bytestring >=0.12 && <0.13,
    composition-extra >=1.0 && <2.2,
    containers >=0.7 && <0.9,
    hspec-effectful >=1.1 && <1.2,
    http-client >=0.7 && <0.8,
    hunit-effectful >=1.0 && <1.1,
    network >=3.2 && <3.3,
    network-simple >=0.4 && <0.5,
    otel-effectful,
    quickcheck-effectful >=1.0 && <1.1,

  other-modules:
    Arbitrary
    Effectful.OpenTelemetry.Exporter.DeadSpec
    Effectful.OpenTelemetry.Exporter.Grafana.Loki
    Effectful.OpenTelemetry.Exporter.Grafana.Mimir
    Effectful.OpenTelemetry.Exporter.Grafana.Polling
    Effectful.OpenTelemetry.Exporter.Grafana.Tempo
    Effectful.OpenTelemetry.Exporter.GrafanaSpec
    Effectful.OpenTelemetry.ExporterSpec
    Effectful.OpenTelemetry.Logging.SeveritySpec
    Effectful.OpenTelemetry.LoggingSpec
    Effectful.OpenTelemetry.Metrics.MeasurementSpec
    Effectful.OpenTelemetry.MetricsSpec
    Effectful.OpenTelemetry.Protocol.AnyValueSpec
    Effectful.OpenTelemetry.Protocol.AttributesSpec
    Effectful.OpenTelemetry.Protocol.EffectSpec
    Effectful.OpenTelemetry.Protocol.ExceptionSpec
    Effectful.OpenTelemetry.Protocol.TransportSpec
    Effectful.OpenTelemetry.TimestampSpec
    Effectful.OpenTelemetry.Tracing.PropagatorSpec
    Effectful.OpenTelemetry.Tracing.Span.ContextSpec
    Effectful.OpenTelemetry.Tracing.Span.IDSpec
    Effectful.OpenTelemetry.Tracing.Span.KindSpec
    Effectful.OpenTelemetry.Tracing.Trace.FlagsSpec
    Effectful.OpenTelemetry.Tracing.Trace.IDSpec
    Effectful.OpenTelemetry.Tracing.Trace.StateSpec
    Effectful.OpenTelemetry.TracingSpec
    Util