Report Profiles Set

Created on June 21, 2022

The Telemetry 2.0 Report Profiles Set defines the full set of profiles that are to be active on the device. Each “profile” within the array defines a single Telemetry 2.0 Report Profile, where the “value” is the content of a single Profile.

It is intended that the Profile Set will be built automatically by the Cloud based on defined Report Profiles and Rules that target Profiles to specific devices and device sets, similar to XConf targeting rules.

Until Cloud side configuration is complete, a user may send Telemetry 2.0 Profile Sets to a device via WebPA or by using dmcli directly on the device. Set the Device.X_RDKCENTRAL-COM_T2.ReportProfiles with Profiles Set JSON that has been minified.

See Examples.


Profiles Set Properties


Property

Type

Required

profilesarrayRequired

profiles

An array of profile objects that each defines a Telemetry 2.0 Report Profile.

profiles

  • is required
  • Type: an array of profile (Details)

profiles Constraints

maximum number of items: the maximum number of items for this array is: 10


Profile


profile

Profile Properties

Property

Type

Required

namestringRequired
versionHashstringRequired
valueobjectRequired

name

Name of the Profile. This is value is accessible from within the Report Profile as dataModel parameter “Profile.Name”.

name

  • is optional
  • Type: string

versionHash

Unique value that is expected to change when anything within the Report Profile is changed.

versionHash

  • is optional
  • Type: string

value

The JSON representing this Report Profile.

value


Examples

Example 1

Simple example to illustrate the JSON structure. The actual “value” object would be in the form of valid JSON representing a T2 report profile.

{
    "profiles": [
        {
            "name": "Example_profile_1",
            "versionHash": "profile1Hash111",
            "value": {JSON representing a Report Profile}
        },
        {  
            "name": "Example_profile_2",
            "versionHash": "profile2Hash111",
            "value": {JSON representing a Report Profile}
        }
    ]
}


Example 2

A profile set containing three profiles, “LMLITE_primer_TEST”, “RDKB_CCSPWifi_Profile” and “RDKB_SelfHeal_Profile”.

Note that an abbreviated set of parameters is used for each profile for illustrative purposes, therefore, these may not represent desired production profiles.

“value” objects would be in the form of valid JSON representing a T2 report profile.

{
    "profiles": [{
            "name": "LMLITE_primer_TEST",
            "versionHash": "lmliteHash111",
            "value": {
                "Description": "A report for a few CCSP-LM-LITE details",
                "Version": "0.1",
                "Protocol": "HTTP",
                "EncodingType": "JSON",
                "ReportingInterval": 60,
                "TimeReference": "0001-01-01T00:00:00Z",
                "ActivationTimeOut": 90,
                "Parameter": [{
                    "type": "grep",
                    "marker": "SYS_SH_TADProcess_restart",
                    "search": "Restarting CcspTandDSsp",
                    "logFile": "LM.txt.0",
                    "use": "absolute"
                }, {
                    "type": "event",
                    "name": "LMLite_caught_wifi_disconnect",
                    "eventName": "WIFI_INFO_clientdisconnect",
                    "component": "ccsp_lmlite",
                    "use": "count",
                    "reportEmpty": false
                }, {
                    "type": "dataModel",
                    "name": "UPTIME",
                    "reference": "Device.DeviceInfo.UpTime",
                    "use": "absolute"
                }],
                "HTTP": {
                    "URL": "<https://some.example.url>",
                    "Compression": "None",
                    "Method": "POST",
                    "RequestURIParameter": [{
                        "Name": "profileName",
                        "Reference": "Profile.Name"
                    }]
                },
                "JSONEncoding": {
                    "ReportFormat": "NameValuePair",
                    "ReportTimestamp": "None"
                }
            }
        },
        {
            "name": "RDKB_CCSPWifi_Profile",
            "versionHash": "wifiHash111",
            "value": {
                "Description": "Report to check WiFi Parameters",
                "Version": "1",
                "Protocol": "HTTP",
                "EncodingType": "JSON",
                "ReportingInterval": 180,
                "TimeReference": "0001-01-01T00:00:00Z",
                "Parameter": [{
                    "type": "dataModel",
                    "reference": "Device.WiFi.Radio.1.Stats.X_COMCAST-COM_NoiseFloor"
                }, {
                    "type": "dataModel",
                    "reference": "Device.WiFi.Radio.2.Stats.X_COMCAST-COM_NoiseFloor"
                }, {
                    "type": "event",
                    "eventName": "2GclientMac_split",
                    "component": "ccsp_wifiagent",
                    "use": "absolute"
                }, {
                    "type": "event",
                    "eventName": "5GclientMac_split",
                    "component": "ccsp_wifiagent",
                    "use": "absolute"
                }, {
                    "type": "event",
                    "name": "wifiradio WIFI_COUNT",
                    "eventName": "WIFI_MAC_1_TOTAL_COUNT:0",
                    "component": "ccsp_wifiagent",
                    "use": "count",
                    "reportEmpty": false
                }, {
                    "type": "dataModel",
                    "name": "UPTIME",
                    "reference": "Device.DeviceInfo.UpTime",
                    "use": "absolute"
                }],
                "HTTP": {
                    "URL": "<https://some.example.url>",
                    "Compression": "None",
                    "Method": "POST",
                    "RequestURIParameter": [{
                        "Name": "profileName",
                        "Reference": "Profile.Name"
                    }, {
                        "Name": "reportVersion",
                        "Reference": "Profile.Version"
                    }]
                },
                "JSONEncoding": {
                    "ReportFormat": "NameValuePair",
                    "ReportTimestamp": "None"
                }
            }
        },
        {
            "name": "RDKB_SelfHeal_Profile",
            "hash": "selfHealHash2",
            "value": {
                "Description": "Report to check SelfHeal Parameters",
                "Version": "2",
                "Protocol": "HTTP",
                "EncodingType": "JSON",
                "ReportingInterval": 180,
                "TimeReference": "0001-01-01T00:00:00Z",
                "Parameter": [{
                    "type": "dataModel",
                    "name": "Profile",
                    "reference": "Device.DeviceInfo.X_RDK.RDKProfileName"
                }, {
                    "type": "dataModel",
                    "name": "Time",
                    "reference": "Device.Time.CurrentLocalTime"
                }, {
                    "type": "dataModel",
                    "name": "mac",
                    "reference": "Device.DeviceInfo.X_COMCAST-COM_WAN_MAC"
                }, {
                    "type": "dataModel",
                    "name": "erouterIpv4",
                    "reference": "Device.DeviceInfo.X_COMCAST-COM_WAN_IP"
                }, {
                    "type": "dataModel",
                    "name": "erouterIpv6",
                    "reference": "Device.DeviceInfo.X_COMCAST-COM_WAN_IPv6"
                }, {
                    "type": "dataModel",
                    "name": "PartnerId",
                    "reference": "Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.PartnerId"
                }, {
                    "type": "dataModel",
                    "name": "Version",
                    "reference": "Device.DeviceInfo.SoftwareVersion"
                }, {
                    "type": "dataModel",
                    "name": "AccountId",
                    "reference": "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AccountInfo.AccountID"
                }, {
                    "type": "dataModel",
                    "name": "MAC",
                    "reference": "Device.DeviceInfo.X_COMCAST-COM_CM_MAC"
                }, {
                    "type": "dataModel",
                    "reference": "Profile.Name"
                }, {
                    "type": "dataModel",
                    "reference": "Profile.Version"
                }, {
                    "type": "dataModel",
                    "reference": "Device.DeviceInfo.UpTime",
                    "use": "absolute"
                }, {
                    "type": "event",
                    "eventName": "SYS_ERROR_AdvSecurity_NotRunning",
                    "component": "test_and_diagnostics",
                    "use": "absolute"
                }, {
                    "type": "event",
                    "eventName": "SYS_SH_lighttpdCrash",
                    "component": "test_and_diagnostics",
                    "use": "count",
                    "reportEmpty": false
                }, {
                    "type": "dataModel",
                    "name": "WAN_SSH_STATUS",
                    "reference": "Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.WANsideSSH.Enable",
                    "use": "absolute"
                }],
                "HTTP": {
                    "URL": "http://<sample telemetry domain>:<port no>/<path of the report>", #sample telemetry url from where we post report
                    "Compression": "None",
                    "Method": "POST",
                    "RequestURIParameter": [{
                        "Name": "deviceId",
                        "Reference": "Device.DeviceInfo.X_COMCAST-COM_CM_MAC"
                    }, {
                        "Name": "profileName",
                        "Reference": "Profile.Name"
                    }]
                },
                "JSONEncoding": {
                    "ReportFormat": "NameValuePair",
                    "ReportTimestamp": "None"
                }
            }
        }
    ]
}


Example 3

Send an empty set of profiles to remove all Telemetry 2.0 profiles from a device.

{
    "profiles": []
}
Go To Top