-
Notifications
You must be signed in to change notification settings - Fork 15
Home
This framework provides Logging, Benchmarking and Monitoring
source code documentation in PDF format. This document contains all source code and tests where types and function definitions can be followed through hyperlinks. The index at the end of the document also provide fast access to type or function definitions.
Logging is based on contravariant Traces which consume the observed values, or logged items, and connect them up in the hierarchy of traces. All traces end in the Switchboard which plays a central role in filtering logged items and, eventually, forwarding them to connected Backends for output or further processing.
Micro-Benchmarking is observing counters and measurements over the duration of a function evaluation. This defines messages ObserveOpen
before entering the function under measurement, ObserveClose
after, and building the difference between the two as ObserveDiff
.
(see module Cardano.BM.Observer.Monadic for more details)
Benchmarking a complete system and measuring the overall performance. For this task we are implementing a Transaction Generator that can sustain a certain TPS (tx-per-seconds) for a longer time period.
Observed values can be routed to the monitoring backend which evaluates monitoring expressions defined in the Configuration, e.g. comparing the observed values against thresholds. If the threshold is surpassed, an alert message can be generated or the configured severity filter can be altered.