Skip to main content
Tracer emits domain events as CloudEvents 1.0 messages in binary content mode over Kafka, published through lib-streaming. Every event travels in the shared envelope: ce-type names the event as studio.lerian.<resource>.<event>, ce-subject carries the aggregate id (the rule or limit), ce-tenantid the owning tenant (absent in single-tenant scope), and ce-schemaversion the payload version — 1.0.0 for every event below. ce-source defaults to lerian.midaz.tracer; the STREAMING_CLOUDEVENTS_SOURCE environment variable overrides it when set — unlike the ledger and Consignado, Tracer never fails to boot over an unset source. Topics do not derive from the source — Tracer routes each event to an explicit topic of the form lerian.streaming.tracer_<resource>.<event>, folding the producing-service segment into the topic name like every other Midaz service (for example, lerian.streaming.tracer_rule.created). The rule and limit payloads carry only identity, status, and lifecycle timestamps. The rule expression, name, description, and the limit’s amounts are configuration detail and never cross the wire.

Rule events

Facts Tracer emits as a spending rule moves through its lifecycle.

Limit events

Facts Tracer emits as a spending limit moves through its lifecycle.