Sunbird offline desktop application - Telemetry events spec
Proposed Solution for offline desktop telemetry events
Use cases for plugin installation flow :
Plugin Buil Start Event
{
"eid": "START",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "plugin",
"uaspec": {
"agent": "Chromium",
"platform": "WebKit",
"raw": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) snap Chromium/73.0.3683.103 Chrome/73.0.3683.103 Safari/537.36",
"system": "Linux",
"ver": "73.0.3683.103"
}
"mode": "installation"
}
}
Plugin Build Finish Event
{
"eid": "END",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "plugin",
"mode": "installation",
"duration": "317 sec",
"summary": [
{
"installation_status": "success",
"errors": 0
}
]
}
}
Use cases for Network Connection flow :
Network Connected Event
{
"eid": "AUDIT",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"props": [
"Network"
],
"state": "Connected",
"prevstate": "Disconnected",
"duration": "10 sec"
}
}
Network Disconnected Event
{
"eid": "AUDIT",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"props": [
"Network"
],
"state": "Disconnected",
"prevstate": "Connected",
"duration": "5 sec"
}
}
Use cases for changing settings flow :
Setting Modified Event
{
"eid": "AUDIT",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"props": [
"Setting"
],
"state": <Current_Setting_State>,
"prevstate": <Previous_Setting_State>,
"duration": "3 sec"
}
}
Use cases for searching flow :
Searched Event
{
"eid": "SEARCH",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "Search",
"query": "Java",
"filters": {
"category": "technology"
},
"sort": {},
"size": 20,
"topn": [
{}
]
}
}
Use cases for each and every API call flow :
Log Event for each and every API calls
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "api_access",
"level": "INFO",
"message": "/api/search?text=java",
"params": [
{
"category": "technology"
}
]
}
}
Error Event for each and every errors
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "api_access",
"level": "ERROR",
"message": "searched content not found on server"
}
}
Use cases for Downloading content flow :
Download Start Event
{
"eid": "AUDIT",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"props": [
"Download"
],
"state": "Started",
"prevstate": "Stopped"
}
}
Download Finish Event
{
"eid": "AUDIT",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"props": [
"Download"
],
"state": "Finished",
"prevstate": "Running",
"duration": "240 sec"
}
}
Download Paused Event
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "content_download_paused",
"level": "INFO",
"message": "Download Paused",
"params": [
{
"content_id": "0777946b-adb1-4624-863c-f909a784b3e9"
}
]
}
}
Download Resumed Event
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "content_download_resumed",
"level": "ERROR",
"message": <error_stack>,
"params": [
{
"content_id": "0777946b-adb1-4624-863c-f909a784b3e9"
}
]
}
}
Download Failed Event
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "content_download_failed",
"level": "ERROR",
"message": <error_stack>,
"params": [
{
"content_id": "0777946b-adb1-4624-863c-f909a784b3e9"
}
]
}
}
Download Duplicate Event
{
"eid": "LOG",
"context": {
"channel": "b00bc992ef25f1a9a8d63291e20efc8d",
"pdata": {
"id": "dev.sunbird.offline",
"ver": "2.0.0",
"pid": "sunbird-offline"
},
"env": "offline"
},
"edata": {
"type": "content_download_duplicate",
"level": "ERROR",
"message": <error_stack>,
"params": [
{
"content_id": "0777946b-adb1-4624-863c-f909a784b3e9"
}
]
}
}
, multiple selections available,