Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

"telemetryProfile": [{ 
  "header": "SYS_SH_WIFI_restart", 
   "content": ""com.cisco.spvtg.ccsp.wifiagent"", 
   "type": "<event>", 
   "pollingFrequency": "0" 
}, 

Processing
A shared library is used by components to send targeted marker occurrences through an event feed to the T2 component.Components using the shared library shall conditionally compile it in via #if defined(ENABLE_FEATURE_TELEMETRY2_0) in order to support platform-specific compilation.When the T2 component receives a marker event it processes the marker name and value according to the Use definition in the report profile. The T2 component will store absolute as received, accumulate, or aggregate values. Marker events are processed per report profile.
When a report is generated markers that were processed from the event feed are included in the report as specified by the report profile.

Architecture Overview

Telemetry 2.0

...

Example : t2_event_s("acs_split", pStr); in https://code.rdkcentral.com/r/c/rdkb/components/opensource/ccsp/CcspTr069Pa/+/35825/4/source-embedded/DslhManagementServer/ccsp_management_server_pa_api.c line 585


Use appropriate APIs to event markers and values.

           In RDKB we have logs coming from both scripts and component's code (code in C). From which markers are reported/grepped.

List of APIs :

    • To report markers from components 
      • t2_event_s(char* marker, char* value)                           - To send _split marker with string value to T2

 Usage: t2_event_s("xh_mac_3_split", "xh_MAC_value”);
             t2_event_s("xh_mac_3_split", strBuff); /* where strBuff contains the string value to be reported for this marker */
Sample Reviews: 

https://code.rdkcentral.com/r/c/rdkb/components/opensource/ccsp/CcspWifiAgent/+/30422/1/source/TR-181/sbapi/wifi_monitor.c where telemetryBuff is a an array of characters declared, reset and copied with string value to be reported.
https://code.rdkcentral.com/r/c/rdkb/components/opensource/ccsp/CcspTr069Pa/+/35825/4/source-embedded/DslhManagementServer/ccsp_management_server_pa_api.c where pStr is a buffer already used in the code.

NOTE: The instrumented component could use a static buffer or do a buffer malloc itself; but T2 common lib makes its own copy regardless, so instrumented component must clean up after itself.

      • t2_event_f(char* marker, double value)                           - To send marker with double value to T2
                  Usage: t2_event_d("HWREV_split", 2.2);


Must Check Notes

         1.While instrumenting components         

  2. While instrumenting  Scripts                    

       Source the utility script /lib/rdk/t2Shared_api.sh  

Invoke :

t2ValNotify "Marker" "Value"                 - To report split based markers

t2CountNotify  "Marker"                        - To report count based markers.


 Example: Refer https://code.rdkcentral.com/r/c/rdkb/components/opensource/ccsp/sysint/+/38359/8/uploadRDKBLogs.sh
         

T2 Report Profiles

                        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:

...