-
-
Notifications
You must be signed in to change notification settings - Fork 4
2 Architecture
Peter Taoussanis edited this page Apr 23, 2024
·
4 revisions
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 described by help:signal-flow
, and is visualized below:
-
A/sync queue
semantics are configured per handler when callingadd-handler!
. Default semantics are: async with a dropping buffer, and 1 handler thread. - The shared signal middleware 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.).
For more info see:
Var | Help with |
---|---|
help:signal-creators |
List of signal creators |
help:signal-options |
Options for signal creators |
help:signal-content |
Signal map content |
help:signal-flow |
Ordered flow from signal creation to handling |
help:signal-filters |
API for configuring signal filters |
help:signal-handlers |
API for configuring signal handlers |
help:signal-formatters |
Signal formatters for use by handlers |