Skip to content

2 Architecture

Peter Taoussanis edited this page May 23, 2024 · 4 revisions

Telemere's key function is to help:

  1. Capture information in your running Clojure/Script programs, and
  2. Facilitate processing of that information to support insight.

Its basic tools:

  1. Signal creators to conditionally create signal maps at points in your code.
  2. 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:

Telemere signal flowchart
  • A/sync queue semantics are specified via handler dispatch options.
  • 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.).
Clone this wiki locally