Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Report Profile

Created on June 21, 2022

A Telemetry 2.0 Report Profile is a configuration, authored in JSON, that can be sent to any RDK device which supports Telemetry 2.0. A Report Profile contains properties that are interpreted by the CPE in order to generate and upload a telemetry report. These properties define the details of a generated report, including:

  • Scheduling (how often the report should be generated) 
  • Parameters (what key/value pairs should be in the report)   
  • Encoding (the format of the generated report)   
  • Protocol (protocol to use to send generated report)


Profile Properties


Property

Type

Required

DescriptionstringOptional
VersionstringOptional
ProtocolstringRequired
EncodingTypestringRequired
ReportingIntervalintegerOptional
ActivationTimeOutintegerOptional
TimeReferencestringOptional
GenerateNowbooleanOptional
ParameterarrayRequired
TriggerConditionarrayOptional
HTTPobjectOptional
JSONEncodingobjectOptional

Description


Text describing the purpose of this Report Profile.

Description

  • is optional
  • Type: string


Version


Version of the profile. This value is opaque to the Telemetry 2 component, but can be used by server processing to indicate specifics about data available in the generated report.

Version

  • is optional
  • Type: string


Protocol


The protocol to be used for the upload of report generated by this profile.

Protocol

  • is required
  • Type: string

Protocol Constraints

enum: the value of this property must be equal to one of the following values:

Value

Explanation

"HTTP"When Protocol is equal to HTTP, an HTTP element is expected to occur within the Profile.

EncodingType


The encoding type to be used in the report generated by this profile.

EncodingType

  • is required
  • Type: string

EncodingType Constraints

enum: the value of this property must be equal to one of the following values:

Value

Explanation

"JSON"When EncodingType is equal to JSON, a JSONEncoding element is expected to occur within the Profile.

ReportingInterval


The interval, in seconds, at which this profile shall cause a report to be generated.

ReportingInterval

  • is optional
  • Type: integer


ActivationTimeOut


The amount of time, in seconds, that this profile shall remain active on the device. This is the amount of time from which the profile is received until the CPE will consider the profile to be disabled. After this time, no further reports will be generated for this report.

ActivationTimeOut

  • is optional
  • Type: integer


TimeReference


TBD. Must be value of “0001-01-01T00:00:00Z” for Telemetry 2.0.

TimeReference

  • is optional
  • Type: string

TimeReference Default Value

The default value is:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code class="language-json">"0001-01-01T00:00:00Z"</code><br><br>
<code class="language-json">"0001-01-01T00:00:00Z"</code><br><br>
"0001-01-01T00:00:00Z"

GenerateNow


When true, indicates that the report for this Report Profile should be generated immediately upon receipt of the profile.

GenerateNow

  • is optional
  • Type: boolean

GenerateNow Default Value

The default value is:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<code class="language-json">false</code><br><br>
<code class="language-json">false</code><br><br>
false

Parameter


An array of objects which defines the data to be included in the generated report. Each object defines the type of data, the source of the data and an optional name to be used as the name (marker) for this data in the generated report.

Parameter

  • is required
  • Type: object[]

Parameter Type

object (Parameter Definition)

Parameter Constraints

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


TriggerCondition


An array of condition definition objects which defines the conditions upon which a report should be generated.  If any one condition evaluates to TRUE, the report is generated.   Each condition definition object in the array defines the type of data, the source of the data, the operator and value to evaluate.

TriggerCondition

  • is optional
  • Type: array[]

TriggerCondition Type

array (TriggerCondition Definition)

TriggerCondition Constraints

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

HTTP


HTTP Protocol details that will be used when Protocol=”HTTP”.

HTTP

  • is optional
  • Type: object

HTTP Type

object (HTTP Protocol Definition)


JSONEncoding


JSON Encoding details that will be used when EncodingType=”JSON”.

JSONEncoding

  • is optional
  • Type: object

JSONEncoding Type

object (JSON Encoding Definition)

Examples


Example 1

This is an example of a complete Report Profile. The “Parameter” property defines the data to be gathered and reported. Notice that there are three types of data supported: dataModel, event, and grep. The other properties define scheduling, protocols and encoding of the generated report.


{
    "Description": "T2.0 WiFi data example",
    "Version": "0.1",
    "Protocol": "HTTP",
    "EncodingType": "JSON",
    "ReportingInterval": 900,
    "TimeReference": "0001-01-01T00:00:00Z",
    "Parameter": [{
            "type": "dataModel",
            "name": "MAC",
            "reference": "Device.DeviceInfo.X_COMCAST-COM_CM_MAC"
        },
        {
            "type": "grep",
            "marker": "WIFI_BYTESSENTCLIENTS_1",
            "search": "WIFI_BYTESSENTCLIENTS_1:",
            "logFile": "wifihealth.txt"
        },
        {
            "type": "grep",
            "marker": "WIFI_BYTESSENTCLIENTS_2",
            "search": "WIFI_BYTESSENTCLIENTS_2:",
            "logFile": "wifihealth.txt"
        },
        {
            "type": "event",
            "eventName": "WIFI_CWconfig_1_split",
            "component": "ccsp-wifi-agent"
        },
        {
            "type": "event",
            "eventName": "WIFI_CWconfig_2_split",
            "component": "ccsp-wifi-agent"
        },
        {
            "type": "dataModel",
            "reference": "Device.WiFi.Radio.{i}.OperatingChannelBandwidth"
        },
        {
            "type": "dataModel",
            "name": "WIFI_NF_1_split",
            "reference": "Device.WiFi.Radio.1.Stats.X_COMCAST-COM_NoiseFloor"
        },
        {
            "type": "dataModel",
            "name": "WIFI_NF_2_split",
            "reference": "Device.WiFi.Radio.2.Stats.X_COMCAST-COM_NoiseFloor"
        }
 
    ],
    "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"
    }
 
}