Operationalize #

The Telemetry service is responsible for terminating events to the configured data store as quickly as possible. Once persisted, developers are encouraged to build workflows to operationalize the data.

For example, exploratory queries and ad-hoc reports can be built against raw telemetry, but it is advisable to transform raw events into well-formed schemas that are tailored to their purpose. This improves performance, reliability, and reduces the cost and complexity of producing actionable insights.

Similarly, while it’s possible to build reports and dashboards against raw telemetry data, it’s not recommended. The result will be dashboards that are slow to load due to the volume of data being processed. The reports will also be fragile, breaking when changes are made to the raw telemetry events. Instead, create ETLs that aggregate data into an operable format and build reports against these.

Sample game health report workflow #

Below is a sample workflow for building a game health report.

sequenceDiagram participant o as Operator participant gs as GameServer participant t as Telemetry participant db as Database participant s as ScheduledJob participant d as Dashboard gs->>t:events t->>db:store(events) s->>db:runEtl(gameHealth) db->>db:writeToGameHealthTable() o->>d:viewGameHealthDashboard() d->>db:retrieveGameHealthReport()