New and Changed Feature Information

This section lists all the new and changed features for the Telemetry Configuration Guide for Cisco NCS 540 Series Routers.

New and Changed Telemetry Features

Feature Description Changed in Release Where Documented

Support streaming telemetry data for Cisco-IOS-XR-sysadmin-asic-errors-ael Sysadmin model.

Support added to stream telemetry data for Cisco-IOS-XR-sysadmin-asic-errors-ael Sysadmin model.

Release 7.1.2 See Sensor Path topic for the list of supported Sysadmin data models.

Obtain this data model from Github repository.

Support to poll specific processes to stream telemetry data.

Introduced Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang data model with process keys to poll specific processes and stream telemetry data.

NETCONF Request:

<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
 <get>
  <filter>
   <process-monitoring xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-proc-oper">
    <nodes>
     <node>
      <node-name>0/RP0/CPU0</node-name>
           <process-name>
                <proc-cpu-utilizations>
                 <proc-cpu-utilization>
                  <process-name>
                    dumper
                   </process-name>
                 </proc-cpu-utilization>
                </proc-cpu-utilizations>
          </process-name>
     </node>
    </nodes>
   </process-monitoring>
  </filter>
 </get>
</rpc>
NETCONF Response:
<?xml version="1.0"?>
<rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
 <data>
  <process-monitoring xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-proc-oper">
   <nodes>
    <node>
     <node-name>0/RP0/CPU0</node-name>
     <process-name>
      <proc-cpu-utilizations>
       <proc-cpu-utilization>
        <process-name>dumper</process-name>
        <total-cpu-one-minute>0</total-cpu-one-minute>
        <total-cpu-five-minute>0</total-cpu-five-minute>
        <total-cpu-fifteen-minute>0</total-cpu-fifteen-minute>
        <process-cpu>
         <process-name>dumper</process-name>
         <process-id>3572</process-id>
         <process-cpu-one-minute>0</process-cpu-one-minute>
         <process-cpu-five-minute>0</process-cpu-five-minute>
         <process-cpu-fifteen-minute>0</process-cpu-fifteen-minute>
         <thread-cpu>
         </thread-cpu>
------------------------- Truncated for brevity ----------------------------
</process-cpu>
       </proc-cpu-utilization>
      </proc-cpu-utilizations>
     </process-name>
    </node>
   </nodes>
  </process-monitoring>
 </data>
</rpc-reply>
The following example shows a telemetry query to fetch CPU utilization data in JSON format:
mdt_exec -s Cisco-IOS-XR-wdsysmon-fd-proc-oper:
process-monitoring/nodes/node[node-name=0/RP0/CPU0]/process-name/
proc-cpu-utilizations/proc-cpu-utilization[process-name=bcdls] 
-c 2000 -d output.json
The following stream of data shows the streamed data in JSON format:
 Sub_id 200000001, flag 0, len 0
 Sub_id 200000001, flag 4, len 6496
--------
{"node_id_str":"ios","subscription_id_str":"app_200000001",
"encoding_path":"Cisco-IOS-XR-wdsysmon-fd-proc-oper:
process-monitoring/nodes/node/process-name/proc-cpu-utilizations/
proc-cpu-utilization","collection_id":"4","collection_start_time":
"1589478552400","msg_timestamp":"1589478552471",
"data_json":[{"timestamp":"1589478552469","keys":[{"node-name":
"0/RP0/CPU0"},{"process-name":"bcdls"}],
"content":{"total-cpu-one-minute":0,"total-cpu-five-minute":1,
"total-cpu-fifteen-minute":0,
"process-cpu":[{"process-name":"bcdls","process-id":5113,
"process-cpu-one-minute":0,
"process-cpu-five-minute":0,"process-cpu-fifteen-minute":0,
"thread-cpu":[{"thread-name":
"lwm_service_thr","thread-id":5127,"process-cpu-one-minute":0,
"process-cpu-five-minute":0,
"process-cpu-fifteen-minute":0},{"thread-name":"qsm_service_thr",
"thread-id":5128,
"process-cpu-one-minute":0,"process-cpu-five-minute":0,
"process-cpu-fifteen-minute":0},
{"thread-name":"bcdls","thread-id":5130,"process-cpu-one-minute":0,
"process-cpu-five-minute":0,
"process-cpu-fifteen-minute":0},{"thread-name":"bcdls","thread-id":5131,
"process-cpu-one-minute":0,
"process-cpu-five-minute":0,"process-cpu-fifteen-minute":0},
{"thread-name":"bcdls","thread-id":5132,
"process-cpu-one-minute":0,"process-cpu-five-minute":0,
"process-cpu-fifteen-minute":0},
-----------------------------Output trunacted for brevity ----------------------------
Release 7.1.2

Obtain this data model from Github repository.

Stream telemetry data using openconfig-platform data model

Streaming data related to the underlying characteristics of the device including the operational state or configuration of that device using openconfig-platform data model.

Release 7.1.1

Obtain this data model from Github repository.

Congestion control for telemetry

Support to provide congestion management for telemetry.

With congestion control, each destinationis allowed a maximum of 4000 outstanding messages. The events are throttled when the outstanding messages exceed 3000; throttling of cadence messages happen when outstanding messages exceed 250. Events have higher priority than cadence messages.

A sample output is provided as follows:
Router#show telemetry model-driven destination
 DialIn_1002      1         192.x.x.x        
 19687   self-describing-gpb     dialin      Active
 TLS:                  False
  Collection statistics:
    Maximum tokens                   : 4000
    Event tokens                     : 750
    Cadence tokens                   : 723
    Token processed at               : <time-stamp>
    Cadence token advertised at      : <time-stamp>
    Event token advertised at        : >time-stamp>
    GNMI initial synchronization time:
    Pending queue size               : 0
    Processed events                 : 0
    Collection tokens                : 723

Release 7.1.1

NA

Support for retrieving information about CPU utilization at thread level

Enhanced Cisco-IOS-XR-wdsysmon-fd-oper.yang data model to include CPU utilization at thread level for each running process.

The following example shows a sample output for a process:
<process-cpu> 
    <process-name>tam_sync</process-name> 
    <process-id>5062</process-id> 
    <process-cpu-one-minute>0</process-cpu-one-minute> 
    <process-cpu-five-minute>0</process-cpu-five-minute> 
    <process-cpu-fifteen-minute>0</process-cpu-fifteen-minute> 
    <thread-cpu>
       <thread-name>lwm_service_thr</thread-name> 
        <thread-id>5063</thread-id> 
        <process-cpu-one-minute>0</process-cpu-one-minute> 
        <process-cpu-five-minute>0</process-cpu-five-minute> 
        <process-cpu-fifteen-minute>0</process-cpu-fifteen-minute> 
    </thread-cpu>
</process-cpu>

Release 7.1.1

NA

Support for retreiving information about process threads

The Cisco-IOS-XR-procthreadname-oper.yang data model helps query thread-level details such as thread name, priority, state, stack size of a running processes.

The following example shows a sample output:
<thread> 
    <name>qsm_service_thr</name> 
    <state>Sleeping</state> 
    <stack>0K</stack> 
    <pri>20</pri> 
    <rtpri>0</rtpri> 
    <jid>69381</jid> 
     <tid>3866</tid> 
</thread>

Release 7.1.1

NA