Skip to content

Analytics types S–V

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

object

Viewer-experienced QoE summary. Ratios are sum(numerator)/sum(denominator) over the player-reported session beacons; rebufferingRatio is the headline QoE number.

  • sessionCount: Int!
  • playedHours: Float!
  • rebufferingRatio: Float!
  • rebuffersPerHour: Float!
  • avgRebufferMs: Float!
  • frameDropRatio: Float!
  • playbackFailureRate: Float!
  • ebvsRate: Float!
  • avgBitrateBps: Float!
  • abrSwitchesPerHour: Float!
  • avgLiveEdgeLatencyMs: Float!

object

One toStartOfInterval window of the viewer-experienced QoE summary. Ratios are sum(numerator)/sum(denominator) over the per-session rollup; sessionCount and playedHours are the per-bucket denominators.

  • timestamp: Time! (Time)
  • sessionCount: Int!
  • playedHours: Float!
  • rebufferingRatio: Float!
  • frameDropRatio: Float!
  • avgBitrateBps: Float!

enum

Sort direction for ordered results.

  • ASC — Ascending order (oldest first, A-Z).
  • DESC — Descending order (newest first, Z-A).

object

object

object

object

object

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • nodeId: String!
  • storageScope: String!
  • totalBytes: Float!
  • fileCount: Int!
  • dvrBytes: Float!
  • clipBytes: Float!
  • vodBytes: Float!
  • frozenDvrBytes: Float!
  • frozenClipBytes: Float!
  • frozenVodBytes: Float!

object

Implements Node.

  • id: ID!
  • day: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • totalViews: Int!
  • uniqueViewers: Int!
  • uniqueCountries: Int!
  • uniqueCities: Int!
  • egressBytes: Float!

object

object

object

  • streamId: ID!
  • stream: Stream (Stream)
  • timeRange: TimeRange! (TimeRange)
  • rangeAvgViewers: Float!
  • rangePeakConcurrentViewers: Int!
  • rangeTotalViews: Int!
  • rangeTotalSessions: Int!
  • rangeAvgBufferHealth: Float!
  • rangeAvgBitrate: Int!
  • rangeAvgFps: Float!
  • rangePacketLossRate: Float
  • rangeAvgConnectionTime: Float
  • rangeViewerHours: Float!
  • rangeEgressGb: Float!
  • rangeAvgSessionSeconds: Float!
  • rangeAvgBytesPerSession: Float!
  • rangeUniqueViewers: Int!
  • rangeUniqueCountries: Int!
  • rangeRebufferCount: Int!
  • rangeIssueCount: Int!
  • rangeBufferDryCount: Int!
  • rangeQuality: QualityTierSummary! (QualityTierSummary)
  • rangeEgressSharePercent: Float — This stream’s percentage of tenant total egress (only set in bulk queries).
  • rangeViewerSharePercent: Float — This stream’s percentage of tenant total unique viewers (only set in bulk queries).
  • rangeViewerHoursSharePercent: Float — This stream’s percentage of tenant total viewer hours (only set in bulk queries).

object

Connection for paginated stream analytics summaries. Returns pre-aggregated summaries for multiple streams with share percentages.

object

Edge for StreamAnalyticsSummary connection.

object

Implements Node.

  • id: ID!
  • hour: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • totalBytes: Float!
  • uniqueViewers: Int!
  • totalSessions: Int!

object

object

object

object

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • nodeId: String
  • rebufferCount: Int!
  • issueCount: Int!
  • sampleIssues: String
  • avgBitrate: Int!
  • avgFps: Float!
  • avgBufferHealth: Float!
  • avgFrameJitterMs: Float
  • maxFrameJitterMs: Float
  • bufferDryCount: Int!
  • qualityTier: String

object

object

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • nodeId: String!
  • issuesDescription: String
  • hasIssues: Boolean!
  • bitrate: Int
  • fps: Float
  • width: Int
  • height: Int
  • codec: String
  • qualityTier: String
  • gopSize: Int
  • frameMsMax: Float
  • frameMsMin: Float
  • framesMax: Int
  • framesMin: Int
  • keyframeMsMax: Float
  • keyframeMsMin: Float
  • frameJitterMs: Float
  • trackCount: Int
  • bufferState: BufferState! (BufferState)
  • bufferHealth: Float
  • bufferSize: Int
  • audioChannels: Int
  • audioSampleRate: Int
  • audioCodec: String
  • audioBitrate: Int
  • trackMetadata: JSON (JSON)

object

object

object

Pre-aggregated stream health summary from stream_health_5m.

  • avgBitrate: Float!
  • avgFps: Float!
  • avgBufferHealth: Float!
  • totalRebufferCount: Int!
  • totalIssueCount: Int!
  • sampleCount: Int!
  • hasActiveIssues: Boolean!
  • currentQualityTier: String

enum

Sort field for stream analytics summaries.

  • EGRESS_GB — Sort by egress bandwidth (cost attribution).
  • UNIQUE_VIEWERS — Sort by unique viewers (engagement).
  • TOTAL_VIEWS — Sort by total views (popularity).
  • VIEWER_HOURS — Sort by viewer hours (watch time).

object

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

object

  • id: ID!
  • day: Time! (Time)
  • totalStreams: Int!
  • totalViews: Int!
  • uniqueViewers: Int!
  • egressBytes: Float!

object

object

object

Implements Node.

  • id: ID!
  • date: Time! (Time)
  • egressGb: Float!
  • viewerHours: Float!
  • uniqueViewers: Int!
  • totalSessions: Int!
  • totalViews: Int!

object

Time range returned in query results.

  • start: Time! (Time) — Start of the time range.
  • end: Time! (Time) — End of the time range.

object

One ranked asset for the Top Assets surface — cross-kind, ranked server-side by audience sessions in the window. kind badges the asset type; title/playbackId are composed from the catalog. (Named distinctly from the periscope proto TopAsset to avoid gqlgen autobinding to that message.)

  • artifactHash: String!
  • kind: StorageArtifactKind! (StorageArtifactKind)
  • totalSessions: Int!
  • watchHours: Float!
  • durationS: Int!
  • title: String
  • playbackId: String

object

Implements Node.

  • id: ID!
  • streamId: ID!
  • stream: Stream (Stream)
  • nodeId: String
  • trackList: String!
  • trackCount: Int!
  • timestamp: Time! (Time)
  • tracks: [StreamTrack!] (StreamTrack)

object

object

object

  • timestamp: Time! (Time)
  • viewerCount: Int!
  • streamId: ID
  • stream: Stream (Stream)

object

object

Implements Node.

  • id: ID!
  • hour: Time! (Time)
  • countryCode: String!
  • viewerCount: Int!
  • viewerHours: Float!
  • egressGb: Float!

object

object

object

  • timestamp: Time! (Time)
  • streamId: ID
  • stream: Stream (Stream)
  • nodeId: String
  • countryCode: String
  • city: String
  • latitude: Float
  • longitude: Float
  • viewerCount: Int
  • connectionAddr: String
  • eventType: String
  • source: String
  • sessionDurationSeconds: Int
  • bytesTransferred: Float
  • connector: String

object

object

object

Implements Node.

  • id: ID!
  • hour: Time! (Time)
  • streamId: ID
  • stream: Stream (Stream)
  • countryCode: String
  • uniqueViewers: Int!
  • totalSessionSeconds: Int!
  • totalBytes: Float!
  • viewerHours: Float!
  • egressGb: Float!

object

object

object

Implements Node.

  • id: ID!
  • timestamp: Time! (Time)
  • streamId: ID!
  • stream: Stream (Stream)
  • nodeId: String
  • sessionId: String!
  • connectedAt: Time (Time)
  • disconnectedAt: Time (Time)
  • connector: String
  • countryCode: String
  • city: String
  • latitude: Float
  • longitude: Float
  • durationSeconds: Int
  • bytesUp: Float
  • bytesDown: Float
  • connectionQuality: Float
  • bufferHealth: Float
  • clientBucket: GeoBucket (GeoBucket)

object

object

object

object

VOD retention curve for an artifact. retention(T) = points[T].reached / totalSessions (monotonic non-increasing); density(T) = points[T].secondsWatched (the “most replayed” curve). Buckets are fixed-width (bucketWidthS) along the asset timeline. These differ because a seek-to-end raises reach without adding density.

  • bucketWidthS: Int!
  • assetDurationS: Int!
  • totalSessions: Int!
  • points: [VodRetentionPoint!]! (VodRetentionPoint)

object

A VOD asset with retention data in the window. Eligibility + stats (sessions, duration, lastSeen) come from analytics; title/playbackId are composed from the catalog by artifactHash — both may be null when the asset is uncatalogued (e.g. deleted but retention still within TTL).

  • artifactHash: String!
  • totalSessions: Int!
  • durationS: Int!
  • lastSeen: Time! (Time)
  • title: String
  • playbackId: String

object

object

object

One point of the VOD retention curve: a fixed-width timeline bucket with its watched-seconds density and the count of sessions that reached it.

  • bucketIndex: Int!
  • secondsWatched: Float!
  • reached: Int! — Sessions whose furthest playhead position is at or beyond this bucket (audience retention numerator).