Event Logging
Overview
Service mission, scope, and dependencies for Event Logging
Event Logging is an internal Python 3.13 ConnectRPC service for platform-owned events that must land in Spanner and flow into the existing BigQuery and Sigma pipeline, while optionally continuing to reach Statsig. It is intentionally minimal: one write RPC, internal callers only, and no attempt to become a general analytics platform.
Service profile
| Field | Value |
|---|---|
| Code | services/events/ |
| Package | events |
| Runtime | Python 3.13 (ConnectRPC/ASGI) |
| Status | Active |
| Ingress | Internal only (Cloud Run IAM) |
| Primary consumers | Internal platform services |
| Persistence | NestEventLog in Cloud Spanner |
| Optional side effect | Statsig event forwarding |
Responsibilities
- Accept platform event writes through
LogEvent. - Normalize request data into a stable persisted shape.
- Store the accepted event in Spanner.
- Forward the stored event to Statsig unless the caller explicitly disables it.
Non-goals
- Public or end-user ingestion.
- A generic event bus or analytics platform replacement.
- Canonical ownership of event naming or event taxonomy.
- Deduplication guarantees for caller retries in v1.
Dependencies
- Upstream: Internal platform callers with Cloud Run IAM access.
- Downstream: Cloud Spanner
NestEventLog; existing BigQuery export flow; optional Statsig event logging. - External: Google Secret Manager for the Statsig server key.
Related pages
Last updated on