game / pragma.telemetry / TelemetryService /

TelemetryService #

class TelemetryService(pragmaNode: PragmaNode, instanceId: UUID, timeProxy: TimeProxy = TimeProxy()) : DistributedService, ConfigHandler<TelemetryServiceConfig>

Telemetry service provides a realtime event pipeline that persists events to various terminating data stores or data lakes.

Events can be sent by game clients, game servers, or from within Pragma from custom services or plugin implementations.

Constructors #

TelemetryService

internal fun TelemetryService(pragmaNode: PragmaNode, instanceId: UUID, timeProxy: TimeProxy = TimeProxy())

Functions #

NameSummary

eventOperatorV1

suspend fun eventOperatorV1(session: OperatorSession, request: TelemetryRpc.EventOperatorV1Request): TelemetryRpc.EventOperatorV1Response

Persists a single event. The event source is provided by the caller.

eventPartnerV1

suspend fun eventPartnerV1(session: PartnerSession, request: TelemetryRpc.EventPartnerV1Request): TelemetryRpc.EventPartnerV1Response

Persists a single event. The event source is provided by the caller.

eventServiceV1

suspend fun eventServiceV1(session: ServiceSession, request: TelemetryRpc.EventServiceV1Request): TelemetryRpc.EventServiceV1Response

Persists a single event. The event source is provided by the caller.

eventsOperatorV1

suspend fun eventsOperatorV1(session: OperatorSession, request: TelemetryRpc.EventsOperatorV1Request): TelemetryRpc.EventsOperatorV1Response

Persists a list of events. The event source is provided per event. This enables batch events sent on behalf of multiple sources, such as a tool that aggregates events before sending them to the telemetry service.

eventsPartnerV1

suspend fun eventsPartnerV1(session: PartnerSession, request: TelemetryRpc.EventsPartnerV1Request): TelemetryRpc.EventsPartnerV1Response

Persists a list of events. The event source is provided per event. This enables batch events sent on behalf of multiple sources, such as all players in a match.

eventsServiceV1

suspend fun eventsServiceV1(session: ServiceSession, request: TelemetryRpc.EventsServiceV1Request): TelemetryRpc.EventsServiceV1Response

Persists a list of events. The event source is provided per event. This enables batch events sent on behalf of multiple sources, such as a service that aggregates events before sending them to the telemetry service.

getEventsOperatorV1

suspend fun getEventsOperatorV1(session: OperatorSession, request: TelemetryRpc.GetEventsOperatorV1Request): TelemetryRpc.GetEventsOperatorV1Response

Retrieves all events from a Telemetry Plugin implementation. This is an optional feature for plugins able to support this capability.

playerEventsV1

suspend fun playerEventsV1(session: PlayerSession, request: TelemetryRpc.PlayerEventsV1Request): TelemetryRpc.PlayerEventsV1Response

Persists a list of player events. The event source is set to the playerId associated with the session for all events.

playerEventV1

suspend fun playerEventV1(session: PlayerSession, request: TelemetryRpc.PlayerEventV1Request): TelemetryRpc.PlayerEventV1Response

Persists one player event. The event source is set to the playerId associated with the session.