Session Monitoring
Unicast Sessions
This report displays information about active and finished unicast sessions. Filtering and sorting the parameters of this table allows you to quickly find the sessions during which problems were observed.

Description of the table parameters:
Parameter |
Description |
Quality |
Average session quality ratio (%). What could the session quality mean? |
Network speed |
Chunk loading speed. Values <100 mean that chunks take longer to load than to play. |
Mode |
Content type:
|
UID |
Unique identifier of an end-user device within the SmartTUBE SDP |
Reported IP |
IP sent by the end-user device with the KEEP ALIVE event |
Detected IP |
IP of the end-user device sent by the streaming server |
Hardware ID |
End-user device identifier used for internal API requests and other SmartLabs applications |
Device type |
Type of the end-user device. See How Device Type is Defined. |
SAN |
Service account identifier unique across the SmartTUBE platform |
Start date |
Session start time (on the subscriber device, UTC). |
Duration |
Session duration (s). |
Join time |
The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback |
State |
Current session status (Active or Finished). |
Bitrate changes |
Number of bitrate switches (up or down) during the session. |
Channel |
ID of the channel being viewed, received from the streaming server. |
Content |
Program or movie title |
CPU count |
Number of events on abnormal CPU usage of subscriber device during the session. |
Mem count |
Number of events on abnormal memory usage of subscriber device during the session. |
Bufferings |
Number of completed stream buffering events on the subscriber device during the session. |
App version |
Version of the client app installed on the end-user device |
Firmware version |
Firmware version of the end-user device |
Clicking on a row opens detailed information about selected session:

This screen includes several sections that allow you to understand what processes and events occurred on the end-user device during the unicast session:
- Session Overview Bar
- Playback events
- Client events
- Device logs
Session Overview Bar

This bar briefly presents the main session parameters: device’s UID, session quality, playback mode, device type, app version, session start time and duration, join time, and some other.
Hovering over some parameters opens pop-up panels with advanced data:
- Session config:

Along with session data such as the start time, its status, name and start/end time of the TV program, playlist URL, here you can find information about the configuration of the player and the version of the SmartCARE API used by the client app.
- Session start data:

This panel shows all data needed to explore the join time of a session. Here is description of parameters that may require additional clarification:
- Join Time: The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback. See more about Join time.
- Estimated network bandwidth: The network bandwidth calculated based on size of the media chunks and their loading time.
- Time until playback: Time it took for the video element to have enough data to begin playback, in seconds.
- Presentation’s max segment duration: The duration of the longest segment described in the first loaded MPEG-DASH playlist at the moment of session start.
- Frame display delay: The time between the frame display on the screen and its output to the air by the head-end.
- Playback bitrate: The bitrate at which the player starts playback.
- Buffer size: The amount of content in the buffer at the start of playback.
- Start session details:
Here you can find the sequence of events accompanying the start of stream playback with timings.
Clicking on the bar opens three sections with details about the session:
- Session info:
The panel shows detailed parameters of the session:
Parameter |
Description |
Stream load quality |
Chunk loading speed (aka Network speed). Values <100 mean that chunks take longer to load than to play. |
Min stream load quality |
Min chunk loading speed during the session |
Mode |
Content type:
|
View type |
TV stream view mode: LIVE or CATCHUP. |
State |
Current session status: Active or Finished. |
Error |
Description of the stream start error (code):
|
Start time |
Session start time (on the subscriber device, UTC) |
Join time |
The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback |
App start time, msec |
Time taken to launch the app:
|
Duration |
Session duration (s) |
Channel |
Name and ID of the channel being viewed. The channel name is requested by its ID in the corresponding SmartTUBE SDP dictionary. |
PVR Suffix |
Information on PVR session from the recording server, in the format: S[record start epoch]_E[record end epoch]_ID[record ID on the recording server’s side]. Example: S1681024680_E1681030800_ID1333385 |
Content |
Program or movie title |
Errors count |
Number of meta- and media- data transmission errors (httpStatus < 200 or >= 400) |
Bitrate changes |
Number of bitrate switches (up or down) during the session. |
Total events |
Total number of events on the subscriber device for a unicast session. |
Buffering events |
Number of completed stream buffering events on the subscriber device during the session. |
URL |
URL of the channel/movie playlist |
Session ID |
MongoDB document ID with session information (used for debugging) |
Client session ID |
The ID of the client session (CSI) in the SmartCARE system |
Next session ID |
CSI of the next client session on the current device |
Previous session ID |
CSI of the previous client session on the current device |
Send Report |
An indication that the user has sent a report during the session |
UTC Offset |
Time zone |
Quality indicators:
These indicators show the ratio of the received data volume and the number of events on the end-user device by bitrate.

Diagram |
Description |
Numbers around circles |
Stream bitrate value (byte/s). The value -1 indicates the impossibility of determining the bitrate (it was not possible to extract the bitrate value from the URL of the content request came to Collector from the streaming server). |
Traffic by bitrates |
The ratio of the data amount received by the subscriber device at different bitrates |
Events by bitrates |
The ratio of the number of events generated by the subscriber device at different bitrates |
Quality by count |
Distribution of session events by quality |
- Device info:
This section provides general information about the end-user device.

Parameter |
Description |
UID |
Unique ID of the subscriber device (UID) |
Hardware ID |
End-user device identifier used for internal API requests and other SmartLabs applications |
SAN |
Service account identifier unique across the SmartTUBE platform |
Location |
Location of the subscriber device in the operator network, determined at the moment of authorization. |
Device type |
Type of the end-user device. See How Device Type is Defined. |
User agent |
Content of the User-agent header in the HTTP requests of the client application to the streaming server. Note: data is requested from the last stored unicast session. |
App version |
Client application version of the end-user device in the last verified session |
Firmware version |
Firmware version installed on the end-user device |
Reported IP |
IP sent by the end-user device with the KEEP ALIVE event |
Storage:
This section provides information about total size and amount of free space for critical storage directories on the end-user device:- cache
- data
- persistent
- sdcard
- storage/emulated/0
- This event is sent at intervals specified by parameter storageCheckInterval in the configuration file setup.json of SmartTUBE app.

Playback Events Panel
This section allows you to explore the events occurred on the end-user device during the session.
Using the Show client data checkbox you can change the data type for plotting the graph: streaming server log data or data received from end-user devices via SmartCARE End-User Device API. You can check if the device supports the transfer of API data sufficient to plot the graph by hovering over the Session config parameter in the Session Overview Bar and looking at the value of the API version parameter. It should have a value of 2.0 or higher.

This graph can provide you with comprehensive information to find the causes of playback freeze or streaming quality degradation that occurred on the device while watching TV or VoD content. Let’s see how to read this graph and what useful data it provides:
- Bitrate: Bitrate of the last loaded chunk. The value is taken from the playlist containing data about this chunk.
- Estimated bitrate: Current network bandwidth calculated based on size of the last loaded media chunk and its loading time.
- Video/Audio/Playlist chunks: Loading speed of a chunk and duration of its loading. Displayed by column height and width, respectively. In order to evaluate the difference in chunk loading speed, you can change the graph display type between Linear and Logarithmic.
- Buffer size: Amount of content in the player buffer.
- Player State: Displays the following player states:
- Play, Stop, Pause, Rewind.
- Freeze (pre): Buffering before starting a channel or movie.
- Freeze (wait): Waiting for data by the HTML MediaElement.
- Freeze (buffer): Player buffer has no content sufficient to start the playback.
The events on the Player state bar are drawn in semi-transparent colors. Therefore, if two events overlap, you may see a darker color. For example, two overlapping Freeze (buffer) events produce a dark red color. |
- Session Quality: Recalculates for every video chunk based on the Algorithm 1.
- Client Events: Displays the following events received from the device:
- App Start Duration
- Authentication Attempt
- Chunk Error
- Internet Lost
- Program Change
- Reboot
- Send Report
- Standby
- Storage
- Threshold Memory
- Unknown
- Virtual Memory
- Wi-Fi Strength
By moving your cursor over the graph, you can see that some events contain raw JSON data. Clicking on such an event will display it first in the Client events list below.
Client Events Panel
This list displays all events registered within a session. By hovering over the Details and JSON areas, you can get all the data for each event. A description of the raw JSON data for each event is shown below:

App Start
The application startup (load) duration.
API Request Parameter |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
||
e=APP_START |
Event type |
|||||
values |
Application startup (load) duration, in ms. |
Auth Attempt
Attempt to authorize the end-user device on the SmartTUBE server. The event determined by the SmartTUBE End-User Device API request /authorize? to the SmartTUBE server when a device is switching on. An event counts for any result.
Features:
- SmartTUBE v4. If an Internet connection is established, the authorization request is sent immediately; if not, after the connection is established.
- SmartTUBE v5 and later. The following condition is added to the logic described above: authorization is performed by a token that has its own expiration period. When it ends (backend setting), the reauthorization is performed.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=AUTH |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
san |
String |
Service account ID on the SmartTUBE SDP platform |
+ |
+ |
+ |
+ |
+ |
values |
String |
The result of the device authorization on the SmartTUBE server. Allowable values: SUCCESS, ERROR. |
+ |
+ |
+ |
+ |
+ |
ver |
String |
Client application / firmware version |
+ |
+ |
+ |
+ |
+ |
fver |
String |
Firmware version (for STB only) |
N/A |
+ |
|||
locationId |
Integer |
ID of the client device location (region ID in the SmartTUBE DB) |
+ |
+ |
+ |
+ |
+ |
dtId |
Integer |
ID of the device type (in the SmartTUBE DB) |
+ |
+ |
+ |
+ |
+ |
reason |
Integer |
Authorization type. Allowable values:
|
|||||
ip |
string |
IP address from which authorization was performed |
Bitrate Changed
Switching to a stream (variant) with a different bitrate.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=BITRATE_CHANGE |
String |
Event type |
|||||
values |
Integer |
New bitrate of content viewing, bit/s |
Buffering
For SmartTUBE apps for large-screen devices (JUNG-based apps) from version 8.2 onwards, this event has been replaced by the e=FREEZE event. |
Starting or completion of stream buffering.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=BUF_UNDERRUNS |
String |
Event type |
|||||
values |
Integer |
Duration of stream buffering, msec. A value of 0 indicates the start of buffering. |
Buffer Size
Information on the load buffer state. This event is sent at intervals specified by parameters bufsizeCheckInterval and bufsizePercentsDiff in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
e=BUF_SIZE |
String |
Event type |
duration |
Float |
Duration of content available in buffer, in sec. |
vid.usage |
Integer |
Percentage of video injector buffer utilization |
aud.usage |
Integer |
Percentage of audio injector buffer utilization |
sub.usage |
Integer |
Percentage of subtitle injector buffer utilization |
inj.usage |
Integer |
Percentage of internal injector buffer utilization |
Chunk Error
An event that reports an error when loading a chunk.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=CHUNK_ERROR |
String |
Event type |
+ |
||||
error |
String |
Error code |
+ |
||||
msg |
String |
Error message |
+ |
||||
url |
String |
Chunk URL |
+ |
Chunk Loaded
An event that reports the completion of a chunk load.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=CHUNK_LOADED |
String |
Event type |
+ |
+ |
+ |
||
d |
Integer |
Chunk loading duration, ms. |
+ |
+ |
+ |
||
s |
Integer |
Chunk size, bytes. |
+ |
+ |
+ |
||
bs |
Integer |
Buffer size at the moment of chunk loading started, ms. |
+ |
+ |
+ |
||
br |
Integer |
Chunk bitrate, bit/s (optional). The value is taken from the playlist. |
+ |
+ |
+ |
||
av |
String |
Chunk type: audio, video, sub, other. |
+ |
+ |
+ |
||
ebr |
Integer |
Current estimated network bandwidth, bit/s. |
+ |
+ |
+ |
||
url |
String |
Chunk URL (optional). The value is passed if only the sendChunkUrl flag is set to true in the configuration file setup.json of the SmartTUBE app. |
+ |
+ |
+ |
||
bs_stat |
Array |
Buffer statistics for av=video, in a format: [ { ts: <event occurrence timestamp (UTC without TZ)>, bs: <Buffer size, in msec> }, { ts: .., bs: .. }, … ] |
+ |
+ |
+ |
CPU Load
The abnormal surge of the end-user device’s CPU usage.
This event is sent at intervals specified by parameters cpuCheckInterval and cpuPercentsDiff in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=CPU_LOAD |
String |
Event type |
|||||
values |
Integer |
CPU usage value (%) |
Freeze
This event allows you to distinguish between three states in which streaming delay or image freezing occur:
- Pre-buffering — buffering before starting a channel or movie;
- Waiting for data by the HTMLMediaElement
- Buffer underrun — the moment the buffer is zeroed, i.e. there is no content left in the buffer.
API parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=FREEZE |
string |
Event type |
|||||
type |
string |
State in which streaming delay or image freezing occured:
|
|||||
d |
Integer |
Duration of a freeze, in ms. |
|||||
bs |
Integer |
Buffer size at the moment of event occurrence, in ms. |
Internet Lost
Internet connection loss. The connection is checked every minute by the ping [SmartTUBE server host address] command.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=INTERNET_LOST |
String |
Event type |
|||||
values |
Integer |
Duration of the Internet connection absence, msec. The data is sent by the device after the connection on the current network interface appears. |
Join Time
The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=JOIN_TIME |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
values |
Integer |
The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback, in ms. |
+ |
+ |
+ |
+ |
+ |
Parameters that directly affect the start time of the stream |
|||||||
mnft |
Double |
Amount of time it took to download and parse the manifest, in seconds. |
+ |
+ |
+ |
Roadmap |
N/A |
drmt |
Double |
Amount of time it took to download the first DRM key, in seconds. |
+ |
N/A |
Roadmap |
N/A |
+ |
lct |
Double |
Time spent on license requests during this session, in seconds. |
+ |
N/A |
Roadmap |
N/A |
+ |
ldl |
Double |
Time it took for the video element to have enough data to begin playback, in seconds. This is measured from the time the player’s load() function is called to the time the ‘loadeddata’ event is fired by the media element. |
+ |
+ |
N/A |
N/A |
+ |
Reference parameters |
|||||||
dt |
String |
Device type |
+ |
+ |
+ |
+ |
+ |
bfu |
Integer |
Loading buffer occupancy (%). The ratio of the time of viewing the content by the subscriber to the time of its buffering. For the JOIN_TIME event, this parameter should be equal to 100%, since playback has not started yet. |
+ |
+ |
+ |
N/A |
Roadmap |
ibr |
Integer |
NOT USED: Not sent by devices. Incoming stream bitrate, in bit/sec. |
– |
– |
– |
– |
– |
msd |
Double |
Presentation’s max segment duration: The duration of the longest segment described in the first loaded MPEG-DASH playlist at the moment of session start. |
+ |
+ |
N/A |
N/A |
+ |
ll |
Double |
Time between the frame display on the screen and its output to the air by the head-end, in seconds. |
+ |
+ |
N/A |
N/A |
Roadmap |
bft |
Double |
Total time spent in a buffering state, in seconds. |
+ |
+ |
+ |
N/A |
+ |
ebw |
Double |
Current estimated network bandwidth, in bit/sec. |
+ |
+ |
+ |
N/A |
+ |
pdc |
Integer |
Number of frames played |
+ |
+ |
+ |
N/A |
+ |
pdec |
Integer |
Number of frames with decoding errors |
+ (non-zero value) |
+ |
+ |
N/A |
Roadmap |
pbr |
Integer |
The bandwidth required for the current streams (total, in bit/sec). It takes into account the playback rate. |
|||||
abr |
Array of integers |
Available bitrates, in bit/sec. |
|||||
bdr |
Integer |
Buffer size, in sec. |
|||||
btr |
Integer |
Average bitrate calculated by the video PES packet, in bit/sec. |
|||||
dbr |
Integer |
Downloading bitrate, in bit/sec. |
|||||
dec |
Integer |
Number of frames with errors |
+ (non-zero value) |
+ |
+ |
N/A |
Roadmap |
ufc |
Integer |
Number of loading buffer underrun events (client application STVID_DATA_UNDERFLOW_EVT event). For the JOIN_TIME event, this parameter should be equal to 1. |
+ |
+ |
+ |
N/A |
+ |
fr |
Integer |
Number of frames (not fields) per second multiplied by 1000. For example, 24 fps is recorded as 24000. |
|||||
url |
String |
URL of the content playlist/manifest |
+ |
+ |
+ |
+ |
+ |
Keep Alive
Message on connection activity maintaining and stream playback status sent by the end-user device to the streaming server during stream playback (usually every 5 minutes). This event is sent at intervals specified by parameter keepAliveInterval in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=KEEP_ALIVE |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
+ |
mem |
Integer |
Client device memory usage (%) |
Chrome |
+ |
N/A |
+ |
N/A |
Roadmap |
cpu |
Integer |
Client device CPU usage (%) |
N/A |
+ |
N/A |
+ |
N/A |
Roadmap |
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
ste |
String |
Result of starting the stream / keep alive status:
|
+ |
+ |
+ |
+ |
+ |
btr |
Integer |
Average bitrate calculated by the video PES packet, in bit/sec. |
N/A |
N/A |
N/A |
N/A |
+ |
bfu |
Integer |
Loading buffer occupancy (%). The ratio of the time of viewing the content by the subscriber to the time of its buffering. |
+ |
+ |
+ |
N/A |
Roadmap |
ibr |
Integer |
NOT USED: Not sent by devices. Incoming stream bitrate, in bit/sec. |
– |
– |
– |
– |
– |
mnft |
Double |
Amount of time it took to download and parse the manifest, in seconds. |
+ |
+ |
Roadmap |
N/A |
+ |
drmt |
Double |
Amount of time it took to download the first DRM key, in seconds. |
+ |
N/A |
Roadmap |
N/A |
+ |
msd |
Double |
Presentation’s max segment duration, in seconds. |
+ |
+ |
N/A |
N/A |
+ |
ll |
Double |
Time between the frame display on the screen and its output to the air by the head-end, in seconds. |
+ |
+ |
N/A |
N/A |
Roadmap |
ebw |
Integer |
Current estimated network bandwidth, in bit/sec. |
+ |
+ |
+ |
N/A |
+ |
lct |
Double |
Time spent on license requests during this session, in seconds. |
+ |
N/A |
Roadmap |
N/A |
+ |
ldl |
Double |
Time it took for the video element to have enough data to begin playback, in seconds. This is measured from the time the player’s load() function is called to the time the ‘loadeddata’ event is fired by the media element. |
+ |
+ |
N/A |
N/A |
+ |
bft |
Double |
Total time spent in a buffering state, in seconds. |
+ |
+ |
+ |
N/A |
+ |
pdc |
Integer |
Number of frames played |
+ |
+ |
+ |
N/A |
+ |
dec |
Integer |
Number of frames with errors |
+ (non-zero value) |
+ |
+ |
N/A |
Roadmap |
pdec |
Integer |
Number of frames with decoding errors |
+ (non-zero value) |
N/A |
+ |
N/A |
Roadmap |
ufc |
Integer |
Number of loading buffer underrun events (client application STVID_DATA_UNDERFLOW_EVT event) |
+ |
+ |
+ |
N/A |
+ |
pgmajfault |
Integer |
Number of memory page access errors. Note: this parameter is also sent by the device along with the VIRTUAL_MEMORY event (with the values parameter). |
N/A |
N/A |
N/A |
N/A |
Roadmap |
fr |
Integer |
Number of frames (not fields) per second multiplied by 1000. For example, 24 fps is recorded as 24000. |
N/A |
N/A |
+ |
N/A |
+ |
pbr |
Integer |
The bandwidth required for the current streams (total, in bit/sec). It takes into account the playback rate. |
|||||
dbr |
Integer |
Downloading bitrate, in bit/sec. |
|||||
abr |
Array of integers |
Available bitrates, in bit/sec. |
|||||
bdr |
Integer |
Buffer duration, in bit/sec. |
Memory Usage
The abnormal surge of the subscriber device memory usage.
This event is sent at intervals specified by parameters memCheckInterval and memPercentsDiff in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=MEMORY |
String |
Event type |
|||||
values |
Integer |
Amount of RAM used (%) |
Playlist Loaded
An event that reports the completion of a playlist load.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=PLAYLIST_LOADED |
String |
Event type |
+ |
+ |
+ |
||
d |
Integer |
Playlist loading duration, ms. |
+ |
||||
s |
Integer |
Playlist size, bytes. |
+ |
||||
url |
String |
Playlist URL (optional). The value is passed if only the sendPlaylistUrl flag is set to true in the configuration file setup.json of the SmartTUBE app. |
+ |
Playback Event
Playback events (play, stop, pause or rewind).
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=PLAYER_STATUS |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
values |
String |
Type of signal to the client application player. Acceptable values: play, stop, pause, rewind. |
+ |
+ |
+ |
+ |
+ |
date |
Unixtime |
Rewind start time. |
+ |
+ |
+ |
+ |
+ |
diff |
Integer |
Rewind duration, in sec. |
+ |
+ |
+ |
+ |
+ |
direction |
String |
Direction of playback. Acceptable values: fwd (forward), bwd (backward) |
+ |
+ |
+ |
N/A |
+ |
Program Change
TV program change on the channel being viewed.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=PROGRAM_CHANGED |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
idc |
Integer |
Channel ID or content ID (movie name, local file name, YouTUBE content ID, etc.) |
+ |
+ |
+ |
+ |
+ |
idp |
Integer |
TV program ID (if the Live TV or DVR stream is played) |
+ |
+ |
+ |
+ |
+ |
idpStart |
Unixtime |
Program start date (timestamp) |
+ |
+ |
+ |
N/A |
+ |
idpEnd |
Unixtime |
Program end date (timestamp) |
+ |
+ |
+ |
N/A |
+ |
Reboot
STB reboot at low free memory level and high CPU utilization:
- Memory Critical Level (default threshold — 75%) exceeded — the STB reboots in the standby mode;
- Memory Blocker Level (default threshold — 80%) exceeded — in standby mode, the STB reboots immediately; in other mode, the STB reboots immediately when the CPU utilization level exceeds CPU Critical Level (default threshold — 80%).
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=REBOOT |
String |
Event type |
||||||
values |
String |
STB reboot at low free memory level and high CPU utilization, see description above. Allowable values:
|
Run Test
This event notifies about the execution of test scenarios on the end-user device. For more details, see here.
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=RUN_TEST |
String |
Event type |
+ |
|||||
value |
String |
Test execution state: start — start of the test; end — end of test. |
+ |
|||||
name |
String |
Name of a file with the test script |
+ |
|||||
testid |
String |
ID of the test execution. Represents the start or end time of the test, in ms. The ISO 8601 format with time zone is used (e.g. 20230711T154956.201%2B0300). IMPORTANT: testid must be passed with each event triggered by the test script. |
+ |
Send Report
The user sent the device log by pressing the Send Report button in the client application. Typically, it is located in the Home screen > Settings > System > Support > Support menu.
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=SEND_REPORT |
String |
Event type |
||||||
value |
Integer |
The reason the user sent the report, which he/she selected in the dialog box. Allowable values:
|
||||||
valueString |
String |
The reason the user sent the report, which he/she selected in the dialog box. Allowable values:
|
Session Start
Streaming enabling and start of streaming or error.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=SESSION_START |
String |
Event type |
+ |
+ |
+ |
+ |
+ |
ste |
String |
Result of starting the stream / keep alive status:
|
+ |
+ |
+ |
+ |
+ |
error |
String |
Description of the stream start error (code):
|
|||||
dt |
String |
Device type |
+ |
+ |
+ |
+ |
+ |
ver |
String |
Client application / firmware version |
+ |
+ |
+ |
+ |
+ |
idc |
String |
Channel ID or content ID (movie name, local file name, YouTUBE content ID, etc.) |
+ |
+ |
+ |
+ |
+ |
url |
String |
URL of the content playlist/manifest |
+ |
+ |
+ |
+ |
+ |
idp |
Integer |
TV program ID (if the Live TV or DVR stream is played) |
+ |
+ |
+ |
+ |
+ |
btr |
Integer |
Average bitrate calculated by the video PES packet |
N/A |
N/A |
N/A |
N/A |
+ |
pbr |
Integer |
The bandwidth required for the current streams (total, in bit/sec). It takes into account the playback rate. |
+ |
+ |
+ |
+ |
+ |
dbr |
Integer |
Download bitrate |
N/A |
+ |
+ |
+ |
+ |
abr |
Integer |
Available bitrates |
+ |
+ |
+ |
+ |
+ |
bdr |
Integer |
Buffer size (sec) |
+ |
+ |
+ |
N/A |
? |
idpStart |
Unixtime |
Program start date (timestamp) |
+ |
+ |
+ |
N/A |
+ |
idpEnd |
Unixtime |
Program end date (timestamp) |
+ |
+ |
+ |
N/A |
+ |
fr |
Integer |
Number of frames (not fields) per second multiplied by 1000. For example, 24 fps is recorded as 24000 |
N/A |
N/A |
+ |
N/A |
+ |
ibr |
Integer |
NOT USED: Not sent by devices. Incoming stream bitrate |
– |
– |
– |
– |
– |
bfu |
Integer |
Loading buffer occupancy (%) |
|||||
cfg |
String |
Player configuration parameters |
+ |
Platform |
||||||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
mem |
Integer |
Memory usage at the time of session generation (%) |
Chrome |
+ |
N/A |
+ |
iOS |
Roadmap |
cpu |
Integer |
CPU usage at the time of session generation (%) |
N/A |
+ |
N/A |
+ |
N/A |
Roadmap |
wlan |
Integer |
Wi-Fi signal level at the time of session generation |
Roadmap |
Roadmap |
Roadmap |
Roadmap |
N/A |
Roadmap |
rid |
String |
MAC address of the STB or UID of the Android device |
Roadmap |
Roadmap |
Roadmap |
Roadmap |
N/A |
Roadmap |
ip |
String |
IP address of the client device |
Roadmap |
Roadmap |
Roadmap |
Roadmap |
N/A |
Roadmap |
api |
String |
The version of the API used by the client application. Depending on the value, SmartCARE determines whether the session should be plotted on the graph based on client or server data. |
+ |
+ |
+ |
Session End
Session termination with the beginning of a new one. This is not an event of the client application, as it is generated by the Collector by changing the csi. See the “Session Concept” section.
Standby
The session goes into standby mode. This mode is activated when there is no action from the STB remote control for a certain time, as well as when the STB is turned off using the “Standby” button.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=STANDBY |
String |
Event type |
|||||
values |
String |
Standby mode. Allowable values:
|
Storage
Total size and amount of free space for critical storage directories:
- cache
- data
- persistent
- sdcard
- storage/emulated/0
This event is sent at intervals specified by parameter storageCheckInterval in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=STORAGE_STATS |
String |
Event type |
+ |
|||||
cache.bytes_free |
Integer |
Free space available in the cache directory, in bytes. |
||||||
cache.bytes_total |
Integer |
Total space of the cache directory, in bytes. |
||||||
persistent.bytes_free |
Integer |
Free space available in the persistent directory, in bytes. |
||||||
persistent.bytes_total |
Integer |
Total space of the persistent directory, in bytes. |
||||||
sdcard.bytes_free |
Integer |
Free space available in the sdcard directory, in bytes. |
||||||
sdcard.bytes_total |
Integer |
Total space of the sdcard directory, in bytes. |
||||||
storage%2Femulated%2F0.bytes_free |
Integer |
Free space available in the storage/emulated/0 directory, in bytes. |
||||||
storage%2Femulated%2F0 |
Integer |
Total space of the storage/emulated/0 directory, in bytes. |
||||||
data.bytes_free |
Integer |
Free space available in the data directory, in bytes. |
Roadmap |
Roadmap |
Roadmap |
Roadmap |
N/A |
Roadmap |
data.bytes_total |
Integer |
Total space of the data directory, in bytes. |
N/A |
N/A |
N/A |
+ |
N/A |
Roadmap |
Threshold Memory
The memory and CPU utilization exceeded one of the following thresholds on the STB:
- Memory Normal Level (default threshold – 60%)
- Memory Critical Level (default threshold – 75%)
- Memory Blocker Level (default threshold – 80%)
- CPU Critical Level (default threshold – 80%)
The default STB behavior when these thresholds are exceeded is as follows:
- Memory Normal Level exceeded — the CPU monitoring timer or reboot timer resets to 60 and 5 seconds respectively.
- Memory Critical Level exceeded — in standby mode, the reboot timer starts; in the other mode, the reboot timer starts when the STB goes into standby mode.
- Memory Blocker Level exceeded — in standby mode, the STB reboots immediately; in other mode, the STB reboots immediately when the CPU utilization level exceeds CPU Critical Level.
This event is sent at intervals specified by parameter memThresholdCheckInterval in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Platform |
|||||
Web |
Samsung Smart TV |
LG Smart TV |
Android TV |
iOS |
Android |
|||
e=MEMORY_THRESHOLD |
String |
Event type |
||||||
values |
String |
The memory and CPU utilization exceeded one of the thresholds described above (for STBs only). Allowable values:
|
Unknown Event
An unknown event for the Collector. It may occur when a new monitored event appears in the updated version of the client application and the corresponding processing in the current Collector version is not available.
Virtual Memory
Spike in the number of RAM page access errors (with 2-fold acceleration) for the period between checks (for 1 minute by default). When this event occurs, the device often slows down or freezes.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=VIRTUAL_MEMORY |
String |
Event type |
|||||
values |
Integer |
Number of memory page access errors. Note: this parameter is also sent by the device along with the KEEP_ALIVE event (with the pgmajfault parameter). |
Wi-Fi Strength
The abnormal surge of the Wi-Fi signal level on the subscriber device (only for STB with Wi-Fi module).
This event is sent at intervals specified by parameters wifiCheckInterval and wifiPercentsDiff in the configuration file setup.json of SmartTUBE app.
API Request Parameter |
Type |
Description |
Player |
||||
Shaka |
HLSJS |
Cobalt + ExoPlayer |
iOS |
Android |
|||
e=WIFI_STRENGTH |
String |
Event type |
|||||
values |
Integer |
Wi-Fi signal level change (%) |
Session Start Details
The Join Time event displayed in the Client Events panel provides you with additional information about events that were executed by the player when the stream was started. When you move the cursor over the Session Start Details field in its row, the following window pops up:

This window provides information about the following events that were executed by the player when the stream was started:
All players:
- OPENING: The player executed the open command and started preparing the data for opening.
- OPEN: The stream opening function is called.
HLSJS Player:
- MANIFEST_LOADED: The manifest is loaded.
- FRAG_LOADED: The chunk is loaded.
- FRAG_BUFFERED: The chunk is loaded to the buffer.
- KEY_LOADING: The encryption key is being loaded.
- KEY_LOADED: The encryption key is loaded.
- FRAG_PARSED: The chunk is parsed.
- INIT_PTS_FOUND: The initial PTS (The timestamp at which the sample will be presented) is found.
- AUDIO_TRACK_LOADING: The audio tracks is loaded.
- CANPLAY: Everything is ready to start playback.
- TIMEUPDATE: The time is updated.
- WAITING: Waiting for data.
Shaka Player:
- LOADING: The playlist and the first chunks have started downloading.
- MANIFESTPARSED: The manifest is parsed.
- LOADEDDATA: Loading a frame at the current media playback position is complete (often this is the first frame).
- TIMEUPDATE: The time is updated.
- STOP PREV STREAM: The previous stream is stopped using the STOP command.
- BEGIN TIMEOUT: Start of the timeout used when channel zapping.
- END TIMEOUT: End of the timeout used when channel zapping; Start of channel playback.
Delays between consecutive events can be caused by internal processes of the player UI, as well as network delays. |
Device Logs Panel
This panel displays logs of the Android OS logs on SmartLabs AOSP STBs with firmware sml-android-11.0.0_r4, sml-android-9.0.0_r11 and later and SmartTUBE Apps for large-screen Devices 8.2.5 (aka JUNG) and later.