packages feed

core-telemetry 0.2.5.0 → 0.2.6.0

raw patch · 2 files changed

+34/−4 lines, 2 filesdep +uuid-typesdep ~core-dataPVP ok

version bump matches the API change (PVP)

Dependencies added: uuid-types

Dependency ranges changed: core-data

API changes (from Hackage documentation)

+ Core.Telemetry.Observability: instance Core.Telemetry.Observability.Telemetry Data.Time.Calendar.Days.Day
+ Core.Telemetry.Observability: instance Core.Telemetry.Observability.Telemetry Data.UUID.Types.Internal.UUID

Files

core-telemetry.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           core-telemetry-version:        0.2.5.0+version:        0.2.6.0 synopsis:       Advanced telemetry description:    This is part of a library to help build command-line programs, both tools and                 longer-running daemons.@@ -52,7 +52,7 @@       async     , base >=4.11 && <5     , bytestring-    , core-data >=0.3.4.0+    , core-data >=0.3.6.0     , core-program >=0.5.0.2     , core-text >=0.3.7.1     , exceptions@@ -68,5 +68,6 @@     , text     , time     , unix+    , uuid-types     , zlib   default-language: Haskell2010
lib/Core/Telemetry/Observability.hs view
@@ -185,7 +185,9 @@ import Data.Scientific (Scientific) import Data.Text qualified as T (Text) import Data.Text.Lazy qualified as U (Text)+import Data.Time.Calendar (Day) import Data.Time.Clock (UTCTime)+import Data.UUID.Types (UUID) import GHC.Int import GHC.Word import System.Random (randomIO)@@ -325,6 +327,18 @@     metric k v = MetricValue (JsonKey k) (JsonString (formatExternal (intoTime v)))  {- |+@since 0.2.6+-}+instance Telemetry Day where+    metric k v = MetricValue (JsonKey k) (JsonString (formatExternal v))++{- |+@since 0.2.6+-}+instance Telemetry UUID where+    metric k v = MetricValue (JsonKey k) (JsonString (formatExternal v))++{- | Activate the telemetry subsystem for use within the 'Core.Program.Execute.Program' monad. @@ -756,7 +770,12 @@         let v = currentDatumFrom context         modifyMVar_             v-            (\datum -> pure datum{attachedMetadataFrom = emptyMap})+            ( \datum ->+                pure+                    datum+                        { attachedMetadataFrom = emptyMap+                        }+            )  {- | Reset the program context so that the currently executing program is no longer@@ -765,6 +784,10 @@ This is specifically for the occasion where you have forked a new thread but have not yet received the event which would occasion starting a new trace. +The current "service name" associated with this execution thread is preserved+(usually this is set once per process at startup or once with 'setServiceName'+and having to reset it everytime you call this would be silly).+ @since 0.2.4 -} clearTrace :: Program τ ()@@ -775,4 +798,10 @@         let v = currentDatumFrom context         modifyMVar_             v-            (\_ -> pure emptyDatum)+            ( \datum -> do+                let name = serviceNameFrom datum+                pure+                    emptyDatum+                        { serviceNameFrom = name+                        }+            )