Stats API¶
Reference¶
You can find Swagger's documentation here.
System Status¶
/ping
¶
Method: GET
Description
Checks if the service is up and running.
Success Response:
200 OK
pong
/ping/db
¶
Method: GET
Description
Checks if the database is up and running.
Success Response:
200 OK
pong
Summary¶
/summary
¶
Method: GET
Description
Provides information about customer's channels such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoints can be paginated using the appropriate query parameters.
Required parameters:
- time=[time filters]
Optional parameters:
- per_page=[numeric]
- page=[numeric]
Success Response:
200 OK
[
{
"channel_id": [string],
"cdn_throughput": [numeric],
"p2p_throughput": [numeric],
"total_throughput": [numeric],
"cdn_devices": [numeric],
"p2p_devices": [numeric],
"not_compatible_devices": [numeric],
"cdn_viewing_time": [numeric],
"p2p_viewing_time": [numeric],
"total_viewing_time": [numeric],
"total_pretty_viewing_time": [string]
},
{ ... }
]
Call samples:
/summary?time=live
/summary?time=24h&per_page=5&page=0
...
Response examples:
- Not paginated:
[
{
"channel_id": "1",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55,
"total_pretty_viewing_time": "0:00:55"
},
{ ... }
]
- Paginated:
[
{
"total_pages": 1,
"page": 0,
"results": [
{
"channel_id": "default channel",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55
},
{ ... }
]
}
]
- Empty response:
[
{
"total_pages": 0,
"page": 0,
"results": []
}
]
/channels/{channel_id}/summary
¶
Method: GET
Description
Provides information about channel's streams such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoint can be paginated using the appropriate query parameters.
Required parameters:
- time=[time filters]
Optional parameters:
- per_page=[numeric]
- page=[numeric]
Success Response:
200 OK
[
{
"stream_id": [string],
"stream_uri": [string],
"cdn_throughput": [numeric],
"p2p_throughput": [numeric],
"total_throughput": [numeric],
"cdn_devices": [numeric],
"p2p_devices": [numeric],
"not_compatible_devices": [numeric],
"cdn_viewing_time": [numeric],
"p2p_viewing_time": [numeric],
"total_viewing_time": [numeric],
"total_pretty_viewing_time": [string]
},
{ ... }
]
Call samples:
/channels/my_channel/summary?time=live
/channels/my_channel/summary?time=24h&per_page=5&page=0
...
Response example:
- Not paginated:
[
{
"stream_id": "0x78e31cc7",
"stream_uri": "http://my_manifest.m3u8",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55,
"total_pretty_viewing_time": "0:00:55"
},
{ ... }
]
- Paginated:
[
{
"total_pages": 1,
"page": 0,
"results": [
{
"stream_id": "0x78e31cc7",
"stream_uri": "http://my_manifest.m3u8",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55
},
{ ... }
]
}
]
- Empty response:
[
{
"total_pages": 0,
"page": 0,
"results": []
}
]
/channels/{channel_id}/streams/{stream_id}/summary
¶
Method: GET
Description
Provides information about stream’s bitrates such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoint can be paginated using the appropriate query parameters.
Required parameters:
- time=[time filters]
Optional parameters:
- per_page=[numeric]
- page=[numeric]
- bitrate=[string] (not paginated)
- representation_id=[string] (not paginated)
Success Response:
200 OK
[
{
"bitrate": [string],
"representation_id": [string],
"cdn_throughput": [numeric],
"p2p_throughput": [numeric],
"total_throughput": [numeric],
"cdn_devices": [numeric],
"p2p_devices": [numeric],
"not_compatible_devices": [numeric],
"cdn_viewing_time": [numeric],
"p2p_viewing_time": [numeric],
"total_viewing_time": [numeric],
"total_pretty_viewing_time": [string]
},
{ ... }
]
Call samples:
/channels/my_channel/streams/0x78e31cc7/summary?time=live
/channels/my_channel/streams/0x78e31cc7/summary?time=24h&per_page=5&page=0
...
Response example:
- Not paginated:
[
{
"bitrate": "4000",
"representation_id": "2 of 4",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55,
"total_pretty_viewing_time": "0:00:55"
},
{ ... }
]
- Paginated:
[
{
"total_pages": 1,
"page": 0,
"results": [
{
"bitrate": "4000",
"representation_id": "2 of 4",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55
},
{ ... }
]
}
]
- Empty response:
[
{
"total_pages": 0,
"page": 0,
"results": []
}
]
/summary/agg
¶
URLs:
/summary/agg
/channels/{channel_id}/summary/agg
/channels/{channel_id}/streams/{stream_id}/summary/agg
Method: GET
Description
Provides aggregated information depending on the endpoint such as throughput, devices and viewing time. The throughput unit is kbps and the viewing time is in seconds.
Required parameters:
- time=[time filters]
Success Response:
200 OK
[
{
"aggregate": [string],
"cdn_throughput": [numeric],
"p2p_throughput": [numeric],
"total_throughput": [numeric],
"cdn_devices": [numeric],
"p2p_devices": [numeric],
"not_compatible_devices": [numeric],
"cdn_viewing_time": [numeric],
"p2p_viewing_time": [numeric],
"total_viewing_time": [numeric],
"total_pretty_viewing_time": [string]
},
{ ... }
]
Call samples:
/summary/agg?time=live
/summary/agg?time=24h
/channels/my_channel/summary/agg?time=live
/channels/my_channel/streams/0x07777/summary/agg?time=live
...
Response example:
[
{
"aggregate": "aggregate",
"cdn_throughput": 40000,
"p2p_throughput": 180000,
"total_throughput": 220000,
"cdn_devices": 2,
"p2p_devices": 9,
"not_compatible_devices": 0,
"cdn_viewing_time": 10,
"p2p_viewing_time": 45,
"total_viewing_time": 55,
"total_pretty_viewing_time": "0:00:55"
}
]
System Statistics¶
stats/throughput/agg
¶
URLs:
/stats/throughput/agg
/stats/throughput/agg/last_point
/channels/{channel_id}/stats/throughput/agg
/channels/{channel_id}/stats/throughput/agg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/throughput/agg
/channels/{channel_id}/streams/{stream_id}/stats/throughput/agg/last_point
Method: GET
Description
Provides information about the aggregated throughput for a customer, specific channel or stream.. Throughput unit is kbps.
Required parameters:
- time=[time filters]
- source=[source filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"agg_throughput_{source}": [numeric]
},
{ ... }
]
Call samples:
/throughput/agg?time=live&source=cdn
/throughput/agg/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"agg_throughput_cdn": 100000
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/buffer_health/avg
¶
URLs:
/stats/buffer_health/avg
/stats/buffer_health/avg/last_point
/channels/{channel_id}/stats/buffer_health/avg
/channels/{channel_id}/stats/buffer_health/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/buffer_health/avg
/channels/{channel_id}/streams/{stream_id}/stats/buffer_health/avg/last_point
Method: GET
Description
Provides information about the average buffer health for a customer or specific channel. Buffer health unit is milliseconds.
Required parameters:
- time=[time filters]
- source=[source filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"avg_buffer_health_{source}": [numeric]
},
{ ... }
]
Call samples:
/buffer_health/avg?time=live&source=cdn
/buffer_health/avg/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"avg_buffer_health_p2p": 100000
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/rebuffering/ratio
¶
URLs:
/stats/rebuffering/ratio
/stats/rebuffering/ratio/last_point
/channels/{channel_id}/stats/rebuffering/ratio
/channels/{channel_id}/stats/rebuffering/ratio/last_point
/channels/{channel_id}/streams/{stream_id}/stats/rebuffering/ratio
/channels/{channel_id}/streams/{stream_id}/stats/rebuffering/ratio/last_point
Method: GET
Description
Provides information about the rebuffering ratio for a customer or specific channel.
Required parameters:
- time=[time filters]
- source=[source filters] or
not_compatible
(information related to data from not compatible devices)
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"rebuffering_ratio": [numeric]
},
{ ... }
]
Call samples:
/rebuffering/ratio?time=live&source=cdn
/rebuffering/ratio/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"rebuffering_ratio": 0.1
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/content_request_response_times/avg
¶
URLs:
/stats/content_request_response_times/avg
/stats/content_request_response_time/avg/last_point
/channels/{channel_id}/stats/content_request_response_times/avg
/channels/{channel_id}/stats/content_request_response_time/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/content_request_response_times/avg
/channels/{channel_id}/streams/{stream_id}/stats/content_request_response_time/avg/last_point
Method: GET
Description
Provides information about the average content request response times for a customer or specific channel.
Required parameters:
- time=[time filters]
- source=[source filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"avg_content_request_response_times_{source}": [numeric]
},
{ ... }
]
Call samples:
/content_request_response_times/avg?time=live&source=cdn
/content_request_response_times/avg/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"avg_content_request_response_times_p2p": 1
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/buffer_filling_rate/avg
¶
URLs:
/channels/{channel_id}/stats/buffer_filling_rate/avg
/channels/{channel_id}/stats/buffer_filling_rate/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/buffer_filling_rate/avg
/channels/{channel_id}/streams/{stream_id}/stats/buffer_filling_rate/avg/last_point
Method: GET
Description
Provides information about the average buffer filling rate for a specific channel.
Required parameters:
- time=[time filters]
- source=[source filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"avg_buffer_filling_rate_{source}": [numeric]
},
{ ... }
]
Call samples:
/buffer_filling_rate/avg?time=live&source=cdn
/buffer_filling_rate/avg/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"avg_buffer_filling_rate_cdn": 3.4
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/dropped_frames/avg
¶
URLs:
/channels/{channel_id}/stats/dropped_frames/avg
/channels/{channel_id}/stats/dropped_frames/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/dropped_frames/avg
/channels/{channel_id}/streams/{stream_id}/stats/dropped_frames/avg/last_point
Method: GET
Description
Provides information about the average dropped frames for a specific channel.
Required parameters:
- time=[time filters]
- source=[source filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"avg_dropped_frames_{source}": [numeric]
},
{ ... }
]
Call samples:
/dropped_frames/avg?time=live&source=cdn
/dropped_frames/avg/last_point?time=1h&source=p2p
...
Response example:
[
{
"datetime": 1543936767000,
"avg_dropped_frames_p2p": 0
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
Devices Statistics¶
/stats/os
¶
URLs:
/stats/os
/stats/os/last_point
/channels/{channel_id}/stats/os
/channels/{channel_id}/stats/os/last_point
/channels/{channel_id}/streams/{stream_id}/stats/os
/channels/{channel_id}/streams/{stream_id}/stats/os/last_point
Method: GET
Description
Provides information about the operating systems and the number of devices of each one for a customer or specific channel.
Required parameters:
- time=[time filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"operating_systems": [object]
},
{ ... }
]
Call samples:
/os?time=live
/os/last_point?time=1h
...
Response example:
[
{
"datetime": 1543936767000,
"operating_systems": {
"MAC": 1,
"LINUX": 2,
"WINDOWS": 1
}
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/platforms
¶
URLs:
/stats/platforms
/stats/platforms/last_point
/channels/{channel_id}/stats/platforms
/channels/{channel_id}/stats/platforms/last_point
/channels/{channel_id}/streams/{stream_id}/stats/platforms
/channels/{channel_id}/streams/{stream_id}/stats/platforms/last_point
Method: GET
Description
Provides information about the platforms and the number of devices of each one for a customer or specific channel.
Required parameters:
- time=[time filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"platforms": [object]
},
{ ... }
]
Call samples:
/platforms?time=live
/platforms/last_point?time=1h
...
Response example:
[
{
"datetime": 1543936767000,
"platforms": {
"FIREFOX": 1,
"CHROME": 2,
"ANDROID": 1
}
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.
/stats/connection_types
¶
URLs:
/stats/connection_types
/stats/connection_types/last_point
/channels/{channel_id}/stats/connection_types
/channels/{channel_id}/stats/connection_types/last_point
/channels/{channel_id}/streams/{stream_id}/stats/connection_types
/channels/{channel_id}/streams/{stream_id}/stats/connection_types/last_point
Method: GET
Description
Provides information about the connection types and the number of devices of each one for a customer or specific channel.
Required parameters:
- time=[time filters]
Optional parameters:
- bitrate=[string]
- representation_id=[string]
Success Response:
200 OK
[
{
"datetime": [timestamp],
"connection_types": [object]
},
{ ... }
]
Call samples:
/connection_types?time=live
/connection_types/last_point?time=1h
...
Response example:
[
{
"datetime": 1543936767000,
"connection_types": {
"ETHERNET": 1,
"WIFI": 2,
"CELLULAR": 1
}
}
]
Notes
- An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
- Without the suffix: returns every data in the database according to the specified time filter.
- Bitrate and Representation_id query param only apply to the stream filtered endpoint.