diff --git a/doc/pt_to_monasca_serializer.md b/doc/pt_to_monasca_serializer.md index fd35f68..c33a2ba 100644 --- a/doc/pt_to_monasca_serializer.md +++ b/doc/pt_to_monasca_serializer.md @@ -1,5 +1,5 @@ -Monasca PT Serializer Format -============================ +Monasca Packet Trace (PT) Serializer Format +=========================================== Monasca API supports reporting of metrics in JSON encoding with the following key/value pairs: @@ -15,9 +15,9 @@ This document details the format of Monasca metrics as generated by the Packet Trace to Monasca serializer (serializers/pt_to_monasca.py) PT Fields ---------- +========= -# name +## name The name field consists of the suffix "broadview.pt." to which is added the name of the PT report. @@ -30,11 +30,11 @@ PT report names consist of the following: * packet-trace-drop-reason * packet-trace-drop-counter-report -###Example: +###Example "name": "broadview.pt.packet-trace-ecmp-resolution" -# timestamp +## timestamp The timestamp field is a floating point value which represents that time in microseconds of the report (as provided by the agent or as added by the @@ -44,7 +44,7 @@ collector when no such timestamp is provided by the agent). "timestamp": 1459361118000.0 -# value +## value The value field represents that reported value for the statistic. @@ -55,165 +55,166 @@ The value field represents that reported value for the statistic. Note: the dimension field "ignore-value" is set to 1 when the value is valid for the specific report type. If 0, value must be ignored. -# dimensions +Common Dimensions +================= Dimensions contains (meta)data associated with the report. All reports will include the following dimensions. -# asic-id +## asic-id The ID of the ASIC to which the report corresponds -# bv-agent +## bv-agent The IPV4 address of the agent that generated the report -# ignore-value +## ignore-value -If 1, the value field is not valid (and will be set to 0) -If 0, the value field is valid (and can be any value) +* If 1, the value field is not valid (and will be set to 0) +* If 0, the value field is valid (and can be any value) When ignore-value is 0, generally the data of the report will be contained as a dimension. packet-trace-profile --------------------- +==================== This report can be invoked to report lag-link-resolution or ecmp-resolution data, as specified by the realm dimension (see below). -# value - ignored for this report +## value - ignored for this report -# dimensions +## dimensions -## realm +### realm Either "lag-link-resolution" or "ecmp-link-resolution" -## ignore-value +### ignore-value Always 1 for this report The following dimensions are for lag-link-resolution only. -## lag-id +### lag-id The lag ID -## lag-members +### lag-members An array of lag member strings -## dst-lag-member +### dst-lag-member Destination lag member, as a string -## port +### port Associated port -### Example +## Example {"timestamp": 1416298504000.0, "name": "broadview.pt.packet-trace-profile", "value": 0, "dimensions": {"lag-id": "2", "asic-id": "1", "realm": "lag-link-resolution", "ignore-value": 1, "bv-agent": "10.14.244.199", "lag-members": ["1", "2", "3", "4"], "dst-lag-member": "4", "port": "1"}} The following dimensions are for ecmp-link-resolution realm only. -## ecmp-next-hop-ip +### ecmp-next-hop-ip The IPV4 address of the ecmp next hop -## ecmp-group-id +### ecmp-group-id ecmp group ID, as a string -## ecmp-dst-port +### ecmp-dst-port Destination port, as a string -## ecmp-dst-member +### ecmp-dst-member Destination ecmp member, as a string -## port +### port Associated port -## ecmp-members +### ecmp-members An array of ecmp members. Each member is an object that contains an "ip", "id", and "port" field. -### Example +## Example {"timestamp": 1416298504000.0, "name": "broadview.pt.packet-trace-profile", "value": 0, "dimensions": {"asic-id": "1", "realm": "ecmp-link-resolution", "ecmp-dst-member": "100005", "ignore-value": 1, "bv-agent": "10.14.244.199", "ecmp-dst-port": "41", "port": "1", "ecmp-members": [{"ip": "2.2.2.2", "id": "100004", "port": "28"}, {"ip": "6.6.6.1", "id": "100005", "port": "41"}], "ecmp-group-id": "200256", "ecmp-next-hop-ip": "6.6.6.2"}} -packet-trace-lag-resolution ---------------------------- +packet-trace-lag-resolution +=========================== This report can be invoked to report lag-link-resolution. -# value - ignored for this report +## value - ignored for this report -# dimensions +## dimensions -## ignore-value +### ignore-value Always 1 for this report The following dimensions are for lag-link-resolution only. -## lag-id +### lag-id The lag ID -## lag-members +### lag-members An array of lag member strings -## dst-lag-member +### dst-lag-member Destination lag member, as a string -## port +### port Associated port -### Example +## Example {"timestamp": 1468367668000.0, "name": "broadview.pt.packet-trace-lag-resolution", "value": 0, "dimensions": {"lag-id": "1", "asic-id": "1", "ignore-value": 1, "bv-agent": "10.14.244.199", "lag-members": ["1", "2", "3", "4"], "dst-lag-member": "4", "port": "1"}} packet-trace-ecmp-resolution ----------------------------- +============================ This report can be invoked to report ecmp-resolution -# value - ignored for this report +## value - ignored for this report -# dimensions +## dimensions -## ignore-value +### ignore-value Always 1 for this report -## ecmp-next-hop-ip +### ecmp-next-hop-ip The IPV4 address of the ecmp next hop -## ecmp-group-id +### ecmp-group-id ecmp group ID, as a string -## ecmp-dst-port +### ecmp-dst-port Destination port, as a string -## ecmp-dst-member +### ecmp-dst-member Destination ecmp member, as a string -## port +### port Associated port @@ -222,70 +223,72 @@ Associated port An array of ecmp members. Each member is an object that contains an "ip", "id", and "port" field. -### Example +## Example {"timestamp": 1468367675000.0, "name": "broadview.pt.packet-trace-ecmp-resolution", "value": 0, "dimensions": {"asic-id": "1", "ecmp-dst-member": "100005", "ignore-value": 1, "bv-agent": "10.14.244.199", "ecmp-dst-port": "41", "port": "1", "ecmp-members": [{"ip": "2.2.2.2", "id": "100004", "port": "28"}, {"ip": "6.6.6.1", "id": "100005", "port": "41"}], "ecmp-group-id": "200256", "ecmp-next-hop-ip": "6.6.6.2"}} -packet-trace-drop-reason ------------------------- +packet-trace-drop-reason +======================== This report contains the following data -# value - the number of packets dropped +## value -# dimensions +the number of packets dropped -## ignore-value +## dimensions + +### ignore-value Always 0 for this report -## reason +### reason A string providing the reason for the packet drop -## trace-profile +### trace-profile The associated trace profile flag for the report, true or false -## send-dropped-packet +### send-dropped-packet The associated send dropped packet flag for the report, true or false -## packet-threshold +### packet-threshold The associated packet threshold -## port-list +### port-list An array of associated ports, each member a string -### Example +## Example {"timestamp": 1468392886000000, "name": "broadview.pt.packet-trace-drop-reason", "value": 3, "dimensions": {"asic-id": "1", "port-list": ["1", "5", "6", "10-15"], "send-dropped-packet": true, "ignore-value": 0, "bv-agent": "10.14.244.199", "trace-profile": false, "reason": "l2-lookup-failure", "packet-threshold": 0}} -packet-trace-drop-counter-report --------------------------------- +packet-trace-drop-counter-report +================================ This report profiles a packet drop counter report for a specific drop realm -# value - the drop count +## value - the drop count -# dimensions +## dimensions -## ignore-value +### ignore-value Always 0 for this report -## realm +### realm The type of the drop, as a text string -## port +### port Associated port -### Example +## Example {"timestamp": 1468392895000000, "name": "broadview.pt.packet-trace-drop-counter-report", "value": 10, "dimensions": {"asic-id": "1", "ignore-value": 0, "realm": "vlan-xlate-miss-drop", "port": "1", "bv-agent": "10.14.244.199"}}