Playing parameters (Metrics)

Parameter Configuration Name Key Description Applicable to Data Possible Values / Data Type
Media Analytics QoS Monitor Client Provided System Generated
Player State playerState m Player state when current log line is sent.

I=Init

C=Connecting

IB=Init Buffering

PL=Playing

B=Rebuffering

SK=Seeking

SB=Seek Buffering

PS=Pausing

RB=Resume Buffering

AL=Ad Loading

AP=Ad Playing

E=End

MA - 4.0

Char (2)
Play Back Bit Rate playBackBitRate n Sum of the rate at which stream is played back in bits/sec. Sum is calculated over an interval of 500 ms.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500 ms.

MA - 4.0

Number (bits/sec)
Audio Bandwidth audioBandwidth o Sum of the rate at which NetStream audio buffer is filled in bits per second. Sum is calculated over an interval of 500 ms.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500 ms.

Number (bits/sec)
Video Bandwidth videoBandwidth p Sum of the rate at which the NetStream video buffer is filled in bits per second. Sum is calculated over an interval of 500 ms.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500 ms.

Number (bits/sec)
Data Bandwidth dataBandwidth q Sum of the rate at which NetStream data buffer is filled in bits per second. Sum is calculated over an interval of 500 ms.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500ms.

Number (bits/sec)
Dropped Frames droppedFrames u Number of dropped frames during stream playback. Number
Current Stream Time currentStreamTime v Stream head position when current log line is sent in milliseconds. Time (ms)
Current Clock Time currentClockTime w Time in milliseconds taken since the initialization of plug-in. Time (ms)
Play Clock Time playClockTime x Time in milliseconds spent in playing state. Time (ms)
Play Stream Time playStreamTime y Part of the video that was played in milliseconds. When same part of the stream is played multiple times (by doing seek) then that part is counted only once. Time (ms)
Rebuffer Count rebufferCount z Number of times rebuffer occurred during playback. Number
Rebuffer Time rebufferTime da Time spent in rebufferring of the stream. Time (ms)
Average FPS averageFPS db Sum of "Frames Per Second" of the stream played back calculated at an interval of 500 ms.

The field denotes ":" separated value of SUM and COUNT for fps value. The SUM is added every 500 ms.

Averaged Data (Sum:Count)
Bytes Loaded bytesLoaded dc Number of bytes loaded. For a Flash player (streaming), an approximate value is provided. Number (bytes)
Pause Count pauseCount dd Number of times pause occurred during stream play. Number
Pause Duration pauseDuration de Amount of time, in milliseconds, for which a stream was paused. Time (ms)
Pause Intervals pauseIntervalsAsString df Detailed information about pause sessions during stream play.

The interval is in the format shown below:

- streamTime:duration, streamTime:duration, ...

streamTime - Stream time indicating the position of play head when the pause event occurs.

duration - Amount of time (in ms) for which the pause occurred.

For example: 208.667:1094,195.292:2406,212.958:19360

String
Seek Count seekCount dg Number of times seek occurred during stream play. Number
Seek Time seekTime dh Time taken to start playing after a seek is performed. This includes seek buffering time. Time (ms)
Seek Intervals seekIntervalsAsString di Detailed information about seek sessions during stream play.

The interval is in the format shown below:

seekFrom:seekTo, seekFrom:seekTo,...

seekFrom - Stream time indicating start of seek event (in seconds).

seekTo - Stream time indicating end of seek event (in seconds).

For example: 06.771-206.771,211.648-362.125,367.04-193.042,273.813-347.879

String
Pause Seek Session pauseSeekSession dj The pause and seek session logs indicating the position of pauses & seeks along with the clock time of each event when a stream is played by the user.

Following are the events logged in these logs.

P - Pause, R - Resume, S - Seek.

Each event is followed by a combination of "Stream Position" & "Clock Time" as shown below:

Event(streamPos:clockPosition)

  • streamPos = Position of stream play when even occurs (Seconds).
  • clockTime = Time since connection was established (Milliseconds).

The logs generated are in the following format:

P(streamPos:clockTime), R(streamPos:clockTime), S(streamPos:clockTime - streamPos:clockTime),

For example: S(206.771:28924-206.771:29924), P(208.667:31893), R(208.833:32987).

String
Bandwidth Percent bandwidthPercent dk The bandwidth percent of stream. It is the sum of the ratios of "totalBandwidth" to the minimum of "playBackBitRate" & "availableBandwidth" as shown below:

bandwidthpercent = {totalBandwidth / Min(playbackBitRate,availableBandwidth)}

This is a ":" separated data which indicates totalSum:count of bandwidthPercent values calculated every 500ms.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500ms.

Averaged Data (Sum:Count)
Buffer Length bufferLength dl The average of the number of milliseconds of data in the buffer. Number (ms)
Average FPS Percent averageFPSPercent dm The sum of percentages of frames per second during the session.

Percentage is calculated as:

FPS% = current FPS/encoded FPS.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500ms.
Number
Total Bandwidth totalBandwidth dn The sum of the rate at which the buffer is filled in bytes per second.

For PDL this is an approximate calculated value using bytesLoaded.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500ms.

Number (bits/sec)
Resume Buffer Count resumeBufferCount do The number of times rebuffer occurred after a resume. Number.
Resume Buffer Time resumeBufferTime dp Total time, in milliseconds, spent in rebuffering after a resume. Number (ms)
Bytes Played bytesPlayed dq Bytes played during a play session. Number (bytes)
Available Bandwidth availableBandwidth dr Bandwidth available with a client in bits/sec.

The field denotes ":" separated value of SUM and COUNT for the value. The SUM is added every 500ms.

Number (bits/sec)
Encoded Bit Rate encodedBitRate dt The encoded bit rate of the stream being played. Available when the metadata does not provide it. Number (bits/sec)
Buffer Time bufferTime du The average of the buffer times captured every 500ms.

This is a ":" separated data which indicates totalSum: count of buffer times.

Number (ms)
Is View isView dv This metric indicates if the current session is a view. A value of "1" is sent only once in a P-line, when a stream is played for at least 5 seconds. Number (1)
Is Session With Rebuffer isSessionWithRebuffer dw This metric indicates if the current session had a rebuffer. A value of "1" is sent only once in a P-line when the first continuous rebuffer, greater than 500 ms, is encountered. Number (1)
Log Interval log Interval dx This metric indicates the difference between subsequent log lines in seconds. This is sent in every P-line. Time (sec)
Live Delay liveDelay dy Only for HD. The averaged value of liveDelay reported by HD in SUM:COUNT format.

SUM is in seconds.

Averaged Data (Sum in sec:Count)
RTT rtt dz Only for HD. The averaged value of round trip time reported by HD in SUM:Count format. Averaged Data (Sum in
Bucket Count bucketCount ea The stream is divided into a pre-configured (in the XML config file) number of parts. Statistics are logged for these parts of the stream. Each part is named a bucket. This metric denotes the number of parts into which the stream is divided. Number
Bucket Fraction Played bucketPlays eb CSV string indicates the fraction of stream played for each bucket. Each value in the CSV denotes "bucketNo:fraction value" pair. Following are the possiblities:

0 - The part of stream was not viewed by user.

1 - The part of stream was completely viewed by user.

<1 - Only a section of the part was viewed by user.

>1 - The part of stream was viewed more than once (by doing a seek)

For example: [For 10 buckets]

eb=1:1,2:1,3:1.56,6:2.3

String (csv)
Bucket Pause Counts bucketPauseCounts ec CSV string indicating the number of pauses in each bucket. Each value in CSV denotes "bucketNo:pause count" pair within that part of the stream.

For example: [For 10 buckets]

ec=2:1,4:3,7:2

String (csv)
Bucket Pause Times bucketPauseTimes ed CSV string indicates the total pause time for each bucket in milliseconds. Each value in CSV denotes the "bucketNo:total pause duration" pair within that bucket (part) of the stream.

For example: [For 10 buckets]

ed=2:3040,4:8795,7:5698

String (csv)
Bucket Seeks bucketSeeks ee CSV string indicates the total seeks for each bucket. This includes the forward seeks & backward seeks. Each value in CSV denotes "bucketNo:seekCount" pair into that specified bucket (part) of the stream.

For example: [For 10 buckets]

ee=3:1,5:2

String (csv)
Bucket Forward Seeks bucketForwardSeeks ef CSV string indicates the total forward seeks for each bucket. Each value in the CSV denotes "bucketNo:forwardSeekCount" pairs into that specified bucket (part) of the stream.

For example: [For 10 buckets]

ef=3:1

String (csv)
Bucket Backward Seeks bucketBackwardSeeks eg CSV string indicates the total backward seeks for each bucket. Each value in the CSV denotes "bucketNo:backwardSeekCount" pairs into that specified bucket (part) of the stream.

For example: [For 10 buckets]

eg=3:1,5:1

String (csv)
Bucket Rebuffer Counts bucketRebufferCounts ef CSV string indicates the number of rebuffers for each bucket. Each value in the CSV denotes "bucketNo:rebufferCount" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

eh=2:2,5:3,7:5

String (csv)
Bucket Rebuffer Times bucketRebufferTimes ei CSV string indicates the total rebuffer time for each bucket in milliseconds.

Each value in the CSV denotes "bucketNo:rebufferTime" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

ei=2:234,5:453,7:673

String (csv)
Bucket Resume Buffer Counts bucketResumeBufferCounts ej CSV string indicates the number of rebuffers after a resume, for each bucket.

Each value in the CSV denotes "bucketNo:resumeRebufferCount" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

ej=2:1,4:2

String (csv)
Bucket Resume Buffer Times bucketResumeBufferTimes ek CSV string indicates the total rebuffer time after a resume for each bucket, in milliseconds.

Each value in the CSV denotes "bucketNo:resumeRebufferTime" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

ek=2:125,4:671

String (csv)
Bucket Seek Times bucketSeekTimes el CSV string indicates the total time taken to start playing after a seek for each bucket in milliseconds.

Each value in the CSV denotes "bucketNo:seekTime" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

el=3:189,5:1982

String (csv)
Bucket Full-Screen Times bucketFullScreenTimes em CSV string indicates the total time spent in "Full-Screen" mode in a particular bucket in milliseconds.

Each value in the CSV denotes "bucketNo:fullScreenTime" pairs in the specified bucket (part) of the stream.

For example: [For 10 buckets]

em =3:6500, 7:12000, 10:13500

String (csv)
Transition Count transitionCount fb Count of transitions that have completed successfully. Number
Transition Up-Switch Count transitionUpSwitchCount fd Count of up-switch transitions. Number
Transition Down-Switch Count transitionDownSwitchCount fe Count of down-switch transitions. Number
Transition Time transitionTime ff Total time spent to complete the transitions (in milliseconds).[Difference between switch start & switch end]. Time (ms)
Up-Switch Reason Counts upSwitchReasonCounts fg CSV data indicates the count of reasons for up-switch transitions throughout the stream.

Each index in the CSV data represents a particular reason as shown below:

1 - User bandwidth changes

2 - Changes in frames dropped

3 - Buffer Length changes

4 - Other reason

For example: upSwitchReasonCounts=2,1,3,0

String (csv)
Down-Switch Reason Counts downSwitchReasonCounts fh CSV data indicates the count of reasons for down-switch transitions throughout the stream.

Each index in the CSV data represents a particular reason as shown below:

1 - User bandwidth changes

2 - Frames dropped

3 - Buffer length changes.

4 - Other reason

For example: downSwitchReasonCounts=1,0,2,3

String (csv)
Transition StreamTime Session transitionStreamTimeSession fi A session string indicating transition switches occurring during stream play back.

fi=BitRate:streamHead:playTimeSpent:reasonCode:bitRateCount,

Where,

BitRate - The bitrate to which switch occurs.

streamHead - The stream head position at which switch occurs.

playTimeSpent - Time spent playing this bitrate.

reasonCode - 4-digit reasonCode

bitRateCount - Number of times this bitrate was seen.

For example: fi=170800:32000:66749:0011:1,130800:11891:25432:1001:1, 170800:54000:12000:0011:2

String
Transition Stream Times transitionStreamTimes fj Information on the total time spent on each stream for dynamic streaming.

This metric adds up the time spent in a particular bit rate and presents cumulative data for each bit rate. For instance, in the examples given for "Transition Steam Session", the stream actually goes through the bit rate "170800" twice. The transition stream session metric (which is a session representation of transitions) shows this entry twice. However, the "Transition Stream Times" metric shows the added times for both these entries which amounts to "11891ms". The bit rates in this metric are sorted in ascending order.

The log is in the following format:

BitRate:timeSpent, BitRate:timeSpent.

For example: transitionStreamTimes=130800:11891, 170800:78749

String
BitRate Bucket Times bitRateBuckettimes fk Along the lines of transition stream times, this metric gives the time spent in SD, HQ, and HD in every P-line;

U: Uknown Bitrate

SD: < 1.5 mpbs

HQ: >=1.5 mpbs and < 2.5mbps

HD: >=2.5mpbs

Note: The above definition of buckets can be modified in the configuration file

The configuration file entry is as follows:

<data name="bitRateBucketTimes" key="fk"/>

The metric is reported in the log line as below

fk=U:timeSpent,S:timeSpent,Q:timeSpent,D:timeSpent

For example: bitRateBucketTimes=U:0,S:9197,Q:0,D:21023

String
Weighted Average of Bitrates Played averagedBitRate fl This is the weighted average of bit rates played during a session. The average is reported as below:

averagedBitRate = (b1 * t1 + b2 * t2 + ..):(t1 +12 + ..)

Where,

b1 = Bit Rate 1, t1 =Playing Time Spent in Bit Rate 1

b2 = Bit Rate 2, t2 =Playing Time Spent in Bit Rate 2

The actual metric is a division of numerator/denominator on the processing side after adding all numerator and denominator values of successive beacons.

(Numerator: D enominator)
Rebuffer Session rebufferSession rs The complete session indicating rebuffers that occurred.

rebufferSession=T1 :T2;startTime1 :rebufferTime1 ;startTime2: rebufferTime2;

Where,

T1 -> This is a binary value indicating if current rebuffer is a continuous rebuffer across P-Line.

0 - Indicates non-continuous rebuffer.

1 - Indicates continuous rebuffer.

T2 -> Difference between "End of last rebuffer" and "Start of first rebuffer in current P-Line". (millisecs)

startTime -> Clock time when rebuffer started, relative to last log line (millisecs).

rebufferTime -> RebufferTime in milliseconds.

For example: rs=0:5230;6024:3100;10201:4012;

String.
Ad Session adSession gb A detailed session that provides information since the last P-line, and of ads played in the streams.
  • adSession =id:type:startPos:adStartupTime:playTime:playBucket: endStatus, ….
  • id - Some identification for the ad (Id or Name or AdUrl) type - Indicates type of Ad (0=Pre Roll, 1=Mid Roll, 2=Post Roll).
  • startPos - Stream head position at which ad was initiated (msec).
  • adStartupTime - The startup time for the ad (msec).
  • playTime - The time for which ad was played (msec).
  • playBucket - Bucketed information on how much of the ad was played (Used when adDuration is absent). -1 - Ad Loaded but did not start; 0 - Less than 25% played; 1 - 25-49% played; 2 -50-74% played; 3 - 75-99% played; 4 -100% played.
  • endStatus - Number that indicates how the ad ended; 0 -Ended Normally; 1 - User Closed the ad. (Using close option available in the ad player); 2 - Browser Closed during an ad; 3 -Error Condition.
  • adDuration - Ad duration (Set in handledAdLoaded).
  • adTitle - Ad title (Set in handledAdLoaded).
  • adCategory - Ad category (Set in handledAdLoaded).
  • adPartnerld - Ad partner Id (Set in handledAdLoaded).
  • adServer - Ad server (Set in handledAdLoaded).
  • adDaypart - Ad daypart (Set in handledAdLoaded).
  • adlndustryCategory - Ad industry category (Set in handledAdLoaded).
  • adEvent - Ad event (Set in handledAdLoaded).
MA-4.1 String.
Ad Count adCount gc Represents the number of ads since the last P-line.

MA-4.1

Number
Ad Play Time adPlayClockTime gd Represents the total time spent playing ads sine the last P-line.

MA-4.1

Number
Ad Startup Time adStartupTime ge Represents the total of startup times of all the ads since the last P-line. This includes the time elapsed since pause of the main stream until the ad begins, which is why the reported value is higher than the actual adStartupTime reported in adSession.

MA-4.1

Number
Ad Pause Time adPauseTime gf Represents the time spent in a state of pause due to an ad.

MA-4.1

Number
Alternate Server Map Session asmSession ss The complete session indicating the alternate server switches that occurred.

asmSession=startClockTime1 :switchTime1 :rtt1 :streamHead1 :reason1 :oldHost1 :newHost1 :newlp1 :hostType1..

Where,

startClockTime -> Relative time of the start of switch (ms).

switchTime -> Time taken for the switch (ms).

rtt -> The rtt value when the server switch occurred (ms).

streamHead -> The stream head position when the switch occurred (ms).

Reason -> The reason for the switch (Number).

startup = 0

Force swtich (server force) = 1

Primary available = 2

Low rtt = 3

Manifest failed = 4

IP changed = 5

Data gap = 6

oldHost -> The old host before the switch (String).

newHost -> The new host after the switch (String).

newlp -> The new ip after the switch (IP Address).

hostType ->

Primary = 0

Alternate = 1

Alternate InRegion = 2

Alternate OutRegion = 3

EUM Host = 4

MA-4.1

String
Is ASM Enabled isASMEnabled ia This will be either 1 or 0 based on whether ASM is enabled or not.

MA-4.1

Number
Rebuffer Status rebufferStatus rst rst is sent in the P-line with a value of "Connection. Idle" if there is a continuous rebuffer for more than 30 seconds. This metric is sent irrespective of whether it is defined in the config file, or is currently used for internal analysis.

MA - 4.0

String
Social Sharing socialSharing so The plug-in sends information about all social shares in a single metric "so" as a CSV session

For example: so=fbs:1,fbl:1,tws:1

MA - 4.5

String