> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Eventos de Tracer

> Eventos de dominio que emite Tracer para reglas y límites de gasto.

Tracer emite eventos de dominio como mensajes **CloudEvents 1.0** en modo de contenido binario sobre Kafka, publicados mediante `lib-streaming`. Cada evento viaja en el [envoltorio compartido](/es/reference/events/overview): `ce-type` nombra el evento como `studio.lerian.<resource>.<event>`, `ce-subject` lleva el id del agregado (la regla o el límite), `ce-tenantid` el tenant propietario (ausente en el ámbito de un solo tenant) y `ce-schemaversion` la versión del payload — `1.0.0` para todos los eventos de abajo.

`ce-source` tiene el valor por defecto `lerian.midaz.tracer`; la variable de entorno `STREAMING_CLOUDEVENTS_SOURCE` lo sobrescribe cuando está definida — a diferencia del ledger y de Consignado, Tracer nunca deja de arrancar por una fuente sin definir. Los tópicos no derivan de la fuente — Tracer enruta cada evento a un tópico explícito de la forma `lerian.streaming.tracer_<resource>.<event>`, plegando el nombre del servicio en el primer segmento (por ejemplo, `lerian.streaming.tracer_rule.created`).

Los payloads de regla y de límite llevan únicamente identidad, estado y marcas de tiempo del ciclo de vida. La expresión de la regla, el nombre, la descripción y los importes del límite son detalle de configuración y nunca cruzan por el hilo.

## Eventos de regla

Hechos que Tracer emite a medida que una regla de gasto avanza por su ciclo de vida.

| Evento (`ce-type`)               | Tópico                                     | Se dispara cuando                                                  | Payload principal                                            |
| -------------------------------- | ------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------ |
| `studio.lerian.rule.created`     | `lerian.streaming.tracer_rule.created`     | Se crea una regla.                                                 | `id`, `status`, `action`, `scopes`, `createdAt`, `updatedAt` |
| `studio.lerian.rule.updated`     | `lerian.streaming.tracer_rule.updated`     | Cambian los campos mutables de una regla.                          | `id`, `status`, `action`, `scopes`, `createdAt`, `updatedAt` |
| `studio.lerian.rule.activated`   | `lerian.streaming.tracer_rule.activated`   | Una regla pasa a activa y empieza a evaluar el tráfico.            | `id`, `status`, `activatedAt`, `updatedAt`                   |
| `studio.lerian.rule.deactivated` | `lerian.streaming.tracer_rule.deactivated` | Una regla pasa a inactiva y deja de evaluar.                       | `id`, `status`, `deactivatedAt`, `updatedAt`                 |
| `studio.lerian.rule.drafted`     | `lerian.streaming.tracer_rule.drafted`     | Una regla se guarda como borrador (estado `DRAFT`), aún no activa. | `id`, `status`, `updatedAt`                                  |
| `studio.lerian.rule.deleted`     | `lerian.streaming.tracer_rule.deleted`     | Se elimina una regla.                                              | `id`, `deletedAt`                                            |

## Eventos de límite

Hechos que Tracer emite a medida que un límite de gasto avanza por su ciclo de vida.

| Evento (`ce-type`)                | Tópico                                      | Se dispara cuando                                                  | Payload principal                                                                                                                                              |
| --------------------------------- | ------------------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `studio.lerian.limit.created`     | `lerian.streaming.tracer_limit.created`     | Se crea un límite.                                                 | `id`, `status`, `limitType`, `currency`, `scopes`, `activeTimeStart`, `activeTimeEnd`, `customStartDate`, `customEndDate`, `resetAt`, `createdAt`, `updatedAt` |
| `studio.lerian.limit.updated`     | `lerian.streaming.tracer_limit.updated`     | Cambian los campos mutables de un límite.                          | `id`, `status`, `limitType`, `currency`, `scopes`, `activeTimeStart`, `activeTimeEnd`, `customStartDate`, `customEndDate`, `resetAt`, `createdAt`, `updatedAt` |
| `studio.lerian.limit.activated`   | `lerian.streaming.tracer_limit.activated`   | Un límite pasa a activo.                                           | `id`, `status`, `updatedAt`                                                                                                                                    |
| `studio.lerian.limit.deactivated` | `lerian.streaming.tracer_limit.deactivated` | Un límite pasa a inactivo.                                         | `id`, `status`, `updatedAt`                                                                                                                                    |
| `studio.lerian.limit.drafted`     | `lerian.streaming.tracer_limit.drafted`     | Un límite se guarda como borrador (estado `DRAFT`), aún no activo. | `id`, `status`, `updatedAt`                                                                                                                                    |
| `studio.lerian.limit.deleted`     | `lerian.streaming.tracer_limit.deleted`     | Se elimina un límite.                                              | `id`, `deletedAt`                                                                                                                                              |
