Skip to main content

InputLogSession

One recorded client session of an app with replay logging on: a game token's inputs, from the first one the realtime servers accepted to the last. Kept for the input log's published retention.

type InputLogSession {
appId: BigInt!
gameTokenId: BigInt!
userId: BigInt!
datacenter: String
startedAt: DateTime!
lastSeenAt: DateTime!
endedAt: DateTime
endReason: String
messageCount: BigInt!
byteCount: BigInt!
messageTypes: [Int!]!
missingRecords: BigInt
}

Fields​

InputLogSession.appId ● BigInt! non-null scalar​

The app the session belongs to.

InputLogSession.gameTokenId ● BigInt! non-null scalar​

The game token the session ran on; pass it to inputLogMessages to read the inputs.

InputLogSession.userId ● BigInt! non-null scalar​

The user whose client sent the inputs.

InputLogSession.datacenter ● String scalar​

The datacenter that recorded the session, when known.

InputLogSession.startedAt ● DateTime! non-null scalar​

When the first recorded input arrived.

InputLogSession.lastSeenAt ● DateTime! non-null scalar​

When the latest recorded input or marker arrived.

InputLogSession.endedAt ● DateTime scalar​

When the session ended; null while it may still be running. A session whose end was not recorded is closed at its last record once it has gone an hour without one. Later records reopen a session (endedAt returns to null).

InputLogSession.endReason ● String scalar​

How the session ended: expired, revoked, reconnect or released, as the client saw it; logging_off, when the app turned replay logging off while the session was open; shutdown, when the realtime server recording it stopped (a deploy), after which the client reconnects elsewhere; paused, when recording paused because the app's logging setting could not be confirmed, which the client does not see (a later record reopens the session); or unrecorded, when its end was not recorded and it was closed an hour after its last record. Null while it may still be running.

InputLogSession.messageCount ● BigInt! non-null scalar​

Inputs recorded in the session.

InputLogSession.byteCount ● BigInt! non-null scalar​

Recorded bytes (the sum of every message sizeBytes): the quantity stored input logs are billed on.

InputLogSession.messageTypes ● [Int!]! non-null scalar​

The client message types the session contains, ascending.

InputLogSession.missingRecords ● BigInt scalar​

Records the realtime servers numbered for this session that never reached the log: recording is best-effort, so an overloaded server or a broker outage can leave gaps, and this is how many. 0 when the recording is complete as far as it is known. A lost end of the recording cannot be counted (its session closes as unrecorded instead). Null for a session recorded before the realtime servers numbered their records.

Member Of​

InputLogSessionEdge object