Skip to content

Analytics types A–R

GraphQL schema reference · API guide · SDKs · Types of Analytics

object

API usage analytics. Tracks GraphQL API request counts by auth type, operation type, and operation name.

object

object

object

  • operationType: String!
  • totalRequests: Int!
  • totalErrors: Int!
  • uniqueOperations: Int!
  • avgDurationMs: Float!
  • totalComplexity: Int!

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • authType: String!
  • operationType: String!
  • operationName: String!
  • requestCount: Int!
  • errorCount: Int!
  • totalDurationMs: Float!
  • totalComplexity: Int!
  • uniqueUsers: Int!
  • uniqueTokens: Int!

object

  • date: Time! (Time)
  • authType: String!
  • totalRequests: Int!
  • totalErrors: Int!
  • avgDurationMs: Float!
  • totalComplexity: Int!
  • uniqueUsers: Int!
  • uniqueTokens: Int!

object

Unified analytics surface for all platform metrics. Organized into logical domains: usage, health, lifecycle, and infrastructure.

  • overview: PlatformOverview (PlatformOverview) — Platform-wide overview metrics for the given time range.
    • timeRange: TimeRangeInput (TimeRangeInput) — Time range for the overview.
  • usage: AnalyticsUsage! (AnalyticsUsage) — Usage analytics: streaming hours, storage, and processing.
  • health: AnalyticsHealth! (AnalyticsHealth) — Health analytics: stream quality, rebuffering, client QoE.
  • lifecycle: AnalyticsLifecycle! (AnalyticsLifecycle) — Lifecycle analytics: stream events, artifacts, connections.
  • infra: AnalyticsInfra! (AnalyticsInfra) — Infrastructure analytics: routing, node metrics, services.

object

Health analytics for streams. streamId arguments accept Stream.id (Relay global ID).

  • streamHealthConnection: StreamHealthMetricsConnection! (StreamHealthMetricsConnection)
  • streamHealth5mConnection: StreamHealth5mConnection! (StreamHealth5mConnection)
  • rebufferingEventsConnection: RebufferingEventsConnection! (RebufferingEventsConnection)
    • page: ConnectionInput (ConnectionInput)
    • streamId: ID
    • nodeId: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clientQoeConnection: ClientMetrics5mConnection! (ClientMetrics5mConnection)
    • page: ConnectionInput (ConnectionInput)
    • streamId: ID
    • nodeId: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • streamHealthSummary: StreamHealthSummary! (StreamHealthSummary) — Pre-aggregated health summary for dashboard views. Replaces paginated streamHealthConnection when only scalar stats are needed.
    • streamId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clientQoeSummary: ClientQoeSummary! (ClientQoeSummary) — Pre-aggregated client QoE summary for dashboard views. Replaces paginated clientQoeConnection when only scalar stats are needed.
    • streamId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • playerBootSummary: PlayerBootSummary! (PlayerBootSummary) — Player startup (boot) summary for the tenant that owns the content. Diagnostic.
    • streamId: ID
    • artifactHash: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • sessionQoeSummary: SessionQoeSummary! (SessionQoeSummary) — Viewer-experienced QoE summary (rebuffering, frame drops, bitrate, EBVS) for the tenant that owns the content. Read-time ratios over the player-reported session beacons. Diagnostic only — never billing/viewer-count truth.
    • streamId: ID
    • artifactHash: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • vodRetention: VodRetention! (VodRetention) — VOD retention curve for one artifact: per-bucket watched-seconds (density / “most replayed”) plus reached-count audience retention (sessions reaching each bucket). artifactHash is required.
    • artifactHash: String!
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • playerBootTimeSeries: [PlayerBootTimeSeriesBucket!]! (PlayerBootTimeSeriesBucket) — Player startup summary bucketed over time (read-time TTF percentiles per interval window: “5m”/“15m”/“1h”/“1d”). Companion to playerBootSummary for trend charts. bootCount per bucket is the denominator for low-sample windows.
    • streamId: ID
    • artifactHash: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • interval: String (default "1h")
    • noCache: Boolean (default false)
  • sessionQoeTimeSeries: [SessionQoeTimeSeriesBucket!]! (SessionQoeTimeSeriesBucket) — Viewer-experienced QoE bucketed over time (per-interval rebuffering/frame-drop/ bitrate). Companion to sessionQoeSummary for trend charts. sessionCount and playedHours per bucket are the denominators for low-sample windows.
    • streamId: ID
    • artifactHash: String
    • timeRange: TimeRangeInput (TimeRangeInput)
    • interval: String (default "1h")
    • noCache: Boolean (default false)
  • vodRetentionAssets: VodRetentionAssetConnection! (VodRetentionAssetConnection) — VOD assets that have retention data in the window — the picker backing the retention view. Eligibility (VOD content with real reach samples) is owned by analytics; title/playbackId are composed from the catalog by artifactHash.
  • topAssets: [TopAssetEntry!]! (TopAssetEntry) — Top assets by audience in the window — server-ranked by sessions, across every kind (VOD, clip, DVR, chapter). Backs the “Top Assets” table on the analytics overview. title/playbackId are composed from the catalog by artifactHash.
  • artifactNodeCopies: AssetNodeCopies! (AssetNodeCopies) — Nodes currently holding a transient LOCAL COPY of one artifact (not the durable object-storage copy), from the node-copy telemetry the media plane emits. role is origin (producer/relay source) or cache (synced pull); isComplete marks a full local copy. Read-through relay block caches are not represented. Node geo is enriched from the infrastructure registry. artifactHash is required. When truncated is true the node set was capped and is NOT exhaustive.
    • artifactHash: String!

object

Infrastructure analytics. streamId arguments accept Stream.id (Relay global ID) where present.

  • routingEventsConnection: RoutingEventsConnection! (RoutingEventsConnection)
    • page: ConnectionInput (ConnectionInput)
    • streamId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • subjectTenantId: ID
    • clusterId: String
    • noCache: Boolean (default false)
  • nodeMetricsConnection: NodeMetricsConnection! (NodeMetricsConnection)
  • nodeMetrics1hConnection: NodeMetrics1hConnection! (NodeMetrics1hConnection)
  • nodeMetricsAggregated: [NodeMetricsAggregated!]! (NodeMetricsAggregated)
    • timeRange: TimeRangeInput (TimeRangeInput)
    • nodeId: String
    • noCache: Boolean (default false)
  • nodePerformance5mConnection: NodePerformance5mConnection! (NodePerformance5mConnection)
  • serviceInstancesConnection: ServiceInstancesConnection! (ServiceInstancesConnection)
  • serviceInstancesHealth: [ServiceInstanceHealth!] (ServiceInstanceHealth)
    • serviceId: String
  • routingEfficiency: RoutingEfficiency! (RoutingEfficiency) — Pre-aggregated routing efficiency summary for dashboard views. Replaces client-side aggregation of raw routingEventsConnection data.
    • streamId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clusterTrafficMatrix: [ClusterPairTraffic!]! (ClusterPairTraffic) — Cross-cluster routing traffic matrix from hourly rollups.
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clusterBootOps: [ClusterBootOps!]! (ClusterBootOps) — Player startup (boot) operations aggregate for clusters the caller owns. Aggregate/redacted; only token-attributed boot rows are included.
    • clusterId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clusterQoeOps: [ClusterQoeOps!]! (ClusterQoeOps) — Cluster-ops viewer-QoE aggregate per serving node/protocol, for operators of clusters they own. Aggregate/redacted; only token-attributed rows are included.
    • clusterId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • clusterWorkload: [ClusterWorkload!]! (ClusterWorkload) — Aggregate/redacted media work on clusters the caller owns. Contains placement and volume only; never tenant, content, stream, session, URL, or client IDs.
    • clusterId: ID
    • timeRange: TimeRangeInput (TimeRangeInput)
    • noCache: Boolean (default false)
  • federationEventsConnection: FederationEventsConnection! (FederationEventsConnection) — Federation events: origin pulls, peer connections, leader elections, etc.
    • timeRange: TimeRangeInput! (TimeRangeInput)
    • first: Int
    • eventType: String
    • noCache: Boolean (default false)
  • federationSummary: FederationSummary! (FederationSummary) — Aggregated federation summary: event counts by type, latency, failure rate.
    • timeRange: TimeRangeInput! (TimeRangeInput)
    • noCache: Boolean (default false)

object

Lifecycle analytics for streams and artifacts. streamId arguments accept Stream.id (Relay global ID).

object

Usage analytics grouped by type.

  • streaming: StreamingUsage! (StreamingUsage) — Streaming usage: viewer hours, geographic distribution, quality tiers.
  • storage: StorageUsage! (StorageUsage) — Storage usage: disk utilization by node and scope.
  • processing: ProcessingUsage! (ProcessingUsage) — Processing usage: transcoding, clipping, DVR operations.
  • api: APIUsage! (APIUsage) — API usage: GraphQL request counts, auth type breakdown, operation analytics.

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • playbackId: String
  • stage: String!
  • contentType: String
  • startUnix: Int
  • stopUnix: Int
  • ingestNodeId: String
  • percent: Int
  • message: String
  • filePath: String
  • s3Url: String
  • sizeBytes: Float
  • expiresAt: Int

object

object

object

  • streamId: ID!
  • stream: Stream (Stream)
  • playbackId: String
  • contentType: String!
  • stage: String!
  • progressPercent: Int!
  • errorMessage: String
  • requestedAt: Time! (Time)
  • startedAt: Time (Time)
  • completedAt: Time (Time)
  • clipStartUnix: Int
  • clipStopUnix: Int
  • segmentCount: Int
  • manifestPath: String
  • filePath: String
  • s3Url: String
  • sizeBytes: Float
  • processingNodeId: String
  • expiresAt: Time (Time)

object

object

object

A node-copy listing plus whether it was capped at the per-request limit. When truncated is true, copies is not exhaustive — present the count as a lower bound (e.g. “500+”) or a “results truncated” note, never as an exact total.

object

One node’s current local copy of an artifact. role is origin (a producer node’s copy) or cache (a synced copy on another node).

  • nodeId: String!
  • nodeName: String
  • clusterId: String
  • region: String
  • latitude: Float
  • longitude: Float
  • role: String!
  • isComplete: Boolean!
  • sizeBytes: Float
  • updatedAt: Time (Time)

object

Implements Node.

  • id: ID!
  • eventId: ID!
  • timestamp: Time! (Time)
  • nodeId: String
  • bufferState: BufferState! (BufferState)
  • eventData: String
  • payload: JSON (JSON)

object

object

enum

  • FULL
  • EMPTY
  • DRY
  • RECOVER

object

  • city: String!
  • countryCode: String
  • viewerCount: Int!
  • percentage: Float!
  • latitude: Float
  • longitude: Float

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • nodeId: String!
  • activeSessions: Int!
  • avgBandwidthIn: Float!
  • avgBandwidthOut: Float!
  • avgConnectionTime: Float!
  • packetLossRate: Float

object

object

object

Pre-aggregated client QoE summary from client_qoe_5m.

  • avgPacketLossRate: Float
  • peakPacketLossRate: Float
  • avgBandwidthIn: Float!
  • avgBandwidthOut: Float!
  • avgConnectionTime: Float!
  • totalActiveSessions: Int!

object

Cluster-ops boot aggregate for operators of the serving cluster. Aggregate and redacted: never exposes content/stream/session/URL/tenant identifiers. Populated only from token-attributed rows.

  • servingClusterId: String!
  • nodeId: String!
  • protocol: String!
  • bootCount: Int!
  • errorCount: Int!
  • p95TtfMs: Float!
  • cacheHitRatio: Float!

object

  • clusterId: String!
  • remoteClusterId: String!
  • eventCount: Int!
  • successCount: Int!
  • avgLatencyMs: Float!
  • avgDistanceKm: Float!
  • successRate: Float!
  • maxLatencyMs: Float!
  • localLatitude: Float
  • localLongitude: Float
  • remoteLatitude: Float
  • remoteLongitude: Float

object

Cluster-ops viewer-QoE aggregate per serving node/protocol (token-attributed, redacted — no content/stream/session identifiers).

  • servingClusterId: String!
  • nodeId: String!
  • protocol: String!
  • sessionCount: Int!
  • rebufferingRatio: Float!
  • frameDropRatio: Float!
  • avgBitrateBps: Float!

object

  • clusterId: String!
  • nodeId: String!
  • workKind: String!
  • measurementKind: String! — Whether metrics describe the requested window or a freshness-bounded current observation.
  • storageScope: String — Storage residency scope for current storage observations (hot or cold).
  • observedAt: Time (Time) — Source observation time for current rows.
  • eventCount: Int!
  • activeCount: Int!
  • bytes: Float!
  • mediaSeconds: Float!
  • errorCount: Int!

object

object

object

  • countryCode: String!
  • viewerCount: Int!
  • percentage: Float!

object

  • timestamp: Time! (Time)
  • countryCode: String!
  • viewerCount: Int!

object

  • timestamp: Time! (Time)
  • eventType: String!
  • localCluster: String!
  • remoteCluster: String!
  • streamName: String
  • streamId: ID
  • sourceNode: String
  • destNode: String
  • dtscUrl: String
  • latencyMs: Float
  • timeToLiveMs: Float
  • failureReason: String
  • queriedClusters: Int
  • respondingClusters: Int
  • totalCandidates: Int
  • bestRemoteScore: Int
  • peerCluster: String
  • role: String!
  • reason: String
  • streamTenantId: ID
  • controlCellId: String
  • originClusterId: String

object

  • eventType: String!
  • count: Int!
  • failureCount: Int!
  • avgLatencyMs: Float!

object

object

object

  • eventCounts: [FederationEventCount!]! (FederationEventCount)
  • totalEvents: Int!
  • overallAvgLatencyMs: Float!
  • overallFailureRate: Float!

object

  • timeRange: TimeRange! (TimeRange)
  • streamId: ID
  • stream: Stream (Stream)
  • topCountries: [CountryMetric!]! (CountryMetric)
  • topCities: [CityMetric!]! (CityMetric)
  • uniqueCountries: Int!
  • uniqueCities: Int!
  • totalViewers: Int!
  • viewersByCountry: [CountryTimeSeries!]! (CountryTimeSeries)

object

  • nodeId: String!
  • clusterId: String
  • avgCpu: Float!
  • avgMemory: Float!
  • avgDisk: Float!
  • avgShm: Float!
  • totalBandwidthIn: Float!
  • totalBandwidthOut: Float!
  • sampleCount: Int!

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • nodeId: String!
  • avgCpu: Float!
  • maxCpu: Float!
  • avgMemory: Float!
  • maxMemory: Float!
  • totalBandwidth: Float!
  • avgStreams: Int!
  • maxStreams: Int!

object

object

object

  • totalStreams: Int!
  • activeStreams: Int!
  • totalViewers: Int!
  • averageViewers: Float!
  • totalBandwidth: Float!
  • peakBandwidth: Float!
  • streamHours: Float!
  • egressGb: Float!
  • peakViewers: Int!
  • timeRange: TimeRange! (TimeRange)
  • totalUploadBytes: Float!
  • totalDownloadBytes: Float!
  • viewerHours: Float!
  • deliveredMinutes: Float!
  • uniqueViewers: Int!
  • ingestHours: Float!
  • peakConcurrentViewers: Int!
  • totalViews: Int!
  • dailyStats: [TenantDailyStat!]! (TenantDailyStat)
    • days: Int (default 7)

object

Player startup (boot) summary from player_boot_samples. Diagnostic only — never a viewer-count or billing source. TTF percentiles are computed at read time over boots that reached first frame; counts cover all rows.

  • bootCount: Int!
  • errorCount: Int!
  • p50TtfMs: Float!
  • p95TtfMs: Float!
  • p99TtfMs: Float!
  • avgGatewayResolveMs: Float!
  • avgMistHydrateMs: Float!
  • avgPlayerSelectMs: Float!
  • avgConnectMs: Float!
  • avgPrebufferMs: Float!
  • cacheHitRatio: Float!

object

One toStartOfInterval window of the boot-startup summary. TTF percentiles are computed at read time per bucket; bootCount is the per-bucket denominator.

  • timestamp: Time! (Time)
  • bootCount: Int!
  • p50TtfMs: Float!
  • p95TtfMs: Float!
  • p99TtfMs: Float!

object

Processing usage analytics. streamId arguments accept Stream.id (Relay global ID).

object

object

object

  • date: Time! (Time)
  • livepeerSeconds: Float!
  • livepeerSegmentCount: Int!
  • livepeerUniqueStreams: Int!
  • livepeerH264Seconds: Float!
  • livepeerVp9Seconds: Float!
  • livepeerAv1Seconds: Float!
  • livepeerHevcSeconds: Float!
  • nativeAvSeconds: Float!
  • nativeAvSegmentCount: Int!
  • nativeAvUniqueStreams: Int!
  • nativeAvH264Seconds: Float!
  • nativeAvVp9Seconds: Float!
  • nativeAvAv1Seconds: Float!
  • nativeAvHevcSeconds: Float!
  • nativeAvAacSeconds: Float!
  • nativeAvOpusSeconds: Float!
  • audioSeconds: Float!
  • videoSeconds: Float!

object

Implements Node.

  • id: ID!
  • day: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • tier2160pMinutes: Int!
  • tier1440pMinutes: Int!
  • tier1080pMinutes: Int!
  • tier720pMinutes: Int!
  • tier480pMinutes: Int!
  • tierSdMinutes: Int!
  • primaryTier: String!
  • codecH264Minutes: Int!
  • codecH265Minutes: Int!
  • codecVp9Minutes: Int!
  • codecAv1Minutes: Int!
  • avgBitrate: Int!
  • avgFps: Float!

object

object

object

  • tier2160pMinutes: Int!
  • tier1440pMinutes: Int!
  • tier1080pMinutes: Int!
  • tier720pMinutes: Int!
  • tier480pMinutes: Int!
  • tierSdMinutes: Int!
  • codecH264Minutes: Int!
  • codecH265Minutes: Int!
  • codecVp9Minutes: Int!
  • codecAv1Minutes: Int!

object

  • timestamp: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • nodeId: String!
  • bufferState: BufferState! (BufferState)
  • previousState: BufferState! (BufferState)
  • rebufferStart: Boolean!
  • rebufferEnd: Boolean!

object

object

object

  • countryCode: String!
  • requestCount: Int!

object

Pre-aggregated routing efficiency summary (replaces client-side aggregation of raw routing events).

  • totalDecisions: Int!
  • successCount: Int!
  • successRate: Float!
  • avgRoutingDistance: Float!
  • avgLatencyMs: Float!
  • topCountries: [RoutingCountryStat!]! (RoutingCountryStat)

object

object