EVENT CONTRACT

Use stable event identities that stay useful at scale.

TrafficWar accepts custom events, but a consistent taxonomy makes maps, metrics, traces, filters, and alerts agree across services.

Canonical identity fields

  • event: the category, normally http, database, redis, or s3.
  • operation_type: the concrete work, such as route.handler, postgres.select, redis.get, or s3.get_object.
  • source: the emitting host or dependency alias, such as backend-a, db-primary, redis-1, or assets.ovh-s3.
  • label: the human route or operation name shared across related spans.
  • path and http_method: the URL path and normalized HTTP method for HTTP work.

Measurements and outcome

  • latency_ms: non-negative duration in milliseconds.
  • status_code: the HTTP or operation status when one exists.
  • is_error: derived canonically by the server from status_code, error, or error_code.
  • timestamp: RFC3339 or epoch milliseconds for presentation order; received time remains the operational axis.

Actors, traces, and custom data

  • distinct_id identifies the application actor without changing the account-level metric grain.
  • trace_id connects spans from one request.
  • span_kind describes client or server trace role.
  • properties carries tenant-owned JSON for investigation; avoid secrets and unnecessary personal data.