mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-16 17:41:12 +00:00
Users caught by this change should receive a clear compile-time error.
Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.
Motivations:
- "xfn" is a lot shorter than "middleware", making it more
convenient to use at signal calls, compare:
(log! {:middleware my-fn} "msg")
(log! {:xfn my-fn} "msg"}
- "middleware" was originally chosen to match Timbre's terminology,
but actually carries some misleading connotations that in hindsight
are probably better avoided while we still have the chance to change
this.
1.1 KiB
1.1 KiB
Telemere's key function is to help:
- Capture information in your running Clojure/Script programs, and
- Facilitate processing of that information to support insight.
Its basic tools:
- Signal creators to conditionally create signal maps at points in your code.
- Signal handlers to conditionally handle those signal maps (analyse, write to console/file/queue/db, etc.).
So you call a signal creator to (conditionally) create a signal (map) which is then dispatched to registered signal handlers for (conditional) handling.
This flow is visualized below:
A/sync queuesemantics are specified via handler dispatch options.- The shared call transform cache is super useful when doing signal transformations that are expensive and/or involve side effects (like syncing with another service/db to get a unique tx id, etc.).