Generating and Analyzing Events
summary
Logging loses the execution narrative so Lamina instruments Clojure with channels and time-aware events to regain it. It uses probe channel and a trace macro to emit timestamped enter/return/error events, an executor probe to measure queue wait plus duration, and operators like sample every, partition every, combined-latest, mean, quantiles and an outliers detector to compute rates and percentiles. Distributor plus aggregate produce per-URI or per-function rollups with close-on-idle to avoid leaks. Prototype ALF and Runa usage show it works with microsecond to microsecond-scale cost.
AI-written summary · about
chapters (10)
- 0:00Event-driven programming
- 3:17Lamina library for event streams
- 8:34Channels and graphs in Lamina
- 12:23Probe channels and tracing
- 16:51Instrumenting functions for logging
- 21:06Thread pools and executor probes
- 24:56Statistical analysis of events
- 28:50Distributing event data
- 33:41Real-world applications
- 36:16Q&A
related talks
24mProbe: Program Traces as First Class State
45mUsing time-series data to better understand our products & infrastructure
53m.NET Rocks Live
30mBuilding a Large-Scale, Streaming-Based Logging and Monitoring Solution
30mBeyond OpenTracing
42mOne Log
29mWide Event Analytics
55mThe Incredible Efficiency of Log Unification!
