From f352e4ff6f74bb8dcdc85241c5a92c6f0da1fb76 Mon Sep 17 00:00:00 2001 From: pmikus Date: Mon, 23 Aug 2021 12:58:47 +0000 Subject: Telemetry: vpp device Signed-off-by: pmikus Change-Id: I80efb278cf824dd8b1d38bb3ff3df43366e7295a --- resources/libraries/robot/shared/default.robot | 28 ---- .../libraries/robot/shared/test_teardown.robot | 9 +- .../templates/telemetry/vpp_test_teardown.yaml | 154 +++++++++++++++++++++ 3 files changed, 161 insertions(+), 30 deletions(-) create mode 100644 resources/templates/telemetry/vpp_test_teardown.yaml (limited to 'resources') diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 7c013d78e7..93aa3976a2 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -93,34 +93,6 @@ | | # Parens are there to perform the call. | | Run Keyword If | $resetter | Evaluate | $resetter() -| Verify statistic commands -| | [Documentation] -| | ... | Execute several commands related to stats. -| | ... | To be used by "stats" device tests, -| | ... | as other device tests do not interact with stats. -| | -| | ... | The commands should also cover frequently used -| | ... | PAPI (non-stats) commands and CLI commands. -| | -| | ${results}= | Create List -| | ${status} | ${value}= | Run Keyword And Ignore Error -| | ... | VPP Show Runtime On All DUTs | ${nodes} -| | Append To List | ${results} | ${status} -| | ${status} | ${value}= | Run Keyword And Ignore Error -| | ... | Show Statistics On All DUTs | ${nodes} -| | Append To List | ${results} | ${status} -| | ${status} | ${value}= | Run Keyword And Ignore Error -| | ... | Show Event Logger On All DUTs | ${nodes} -| | Append To List | ${results} | ${status} -| | ${status} | ${value}= | Run Keyword And Ignore Error -| | ... | VPP Clear Runtime On All DUTs | ${nodes} -| | Append To List | ${results} | ${status} -| | ${status} | ${value}= | Run Keyword And Ignore Error -| | ... | Clear Statistics On All DUTs | ${nodes} -| | Append To List | ${results} | ${status} -| | Should Not Contain Match | ${results} | FAIL -| | ... | msg=At least one of statistic commands failed! - | Configure crypto device on all DUTs | | [Documentation] | Verify if Crypto QAT device virtual functions are | | ... | initialized on all DUTs. If parameter force_init is set to True, then diff --git a/resources/libraries/robot/shared/test_teardown.robot b/resources/libraries/robot/shared/test_teardown.robot index 977a87d5a6..3fe5e6a8ee 100644 --- a/resources/libraries/robot/shared/test_teardown.robot +++ b/resources/libraries/robot/shared/test_teardown.robot @@ -170,13 +170,18 @@ | | | | Show Packet Trace on All DUTs | ${nodes} +| Additional Test Tear Down Action For telemetry +| | [Documentation] +| | ... | Additional teardown for tests which uses telemetry reads. +| | +| | Run Telemetry On All DUTs +| | ... | ${nodes} | profile=${telemetry_profile}.yaml + | Additional Test Tear Down Action For performance | | [Documentation] | | ... | Additional teardown for tests which uses performance measurement. | | ... | Optionally, call \${resetter} (if defined) to reset DUT state. | | -| | ... | TODO: Document what test variables are required or optional. -| | | | Run Keyword If Test Passed | Return From Keyword | | ${use_latency} = | Get Use Latency | | ${rate_for_teardown} = | Get Rate For Teardown diff --git a/resources/templates/telemetry/vpp_test_teardown.yaml b/resources/templates/telemetry/vpp_test_teardown.yaml new file mode 100644 index 0000000000..a1372da19a --- /dev/null +++ b/resources/templates/telemetry/vpp_test_teardown.yaml @@ -0,0 +1,154 @@ +--- +logging: + version: 1 + formatters: + console: + format: '%(asctime)s - %(name)s - %(message)s' + prom: + format: '%(message)s' + handlers: + console: + class: logging.StreamHandler + level: INFO + formatter: console + stream: ext://sys.stdout + prom: + class: logging.handlers.RotatingFileHandler + level: INFO + formatter: prom + filename: /tmp/metric.prom + mode: w + loggers: + prom: + handlers: [prom] + level: INFO + propagate: False + root: + level: INFO + handlers: [console] +scheduler: + duration: 0 +programs: + - name: bundle_vpp + metrics: + counter: + - name: calls + documentation: Number of calls total + labelnames: + - name + - state + - thread_name + - thread_id + - thread_lcore + - name: vectors + documentation: Number of vectors total + labelnames: + - name + - state + - thread_name + - thread_id + - thread_lcore + - name: suspends + documentation: Number of suspends total + labelnames: + - name + - state + - thread_name + - thread_id + - thread_lcore + - name: clocks + documentation: Number of clocks total + labelnames: + - name + - state + - thread_name + - thread_id + - thread_lcore + - name: vectors_calls + documentation: Number of vectors per call + labelnames: + - name + - state + - thread_name + - thread_id + - thread_lcore + code: | + show runtime + - name: bundle_vpp + metrics: + counter: + - name: rx_packets + documentation: Number of received packets for interface + labelnames: + - name + - index + - name: rx_bytes + documentation: Number of received bytes for interface + labelnames: + - name + - index + - name: rx_error + documentation: Number of errors on interface + labelnames: + - name + - index + - name: tx_packets + documentation: Number of transitted packets for interface + labelnames: + - name + - index + - name: tx_bytes + documentation: Number of transitted bytes for interface + labelnames: + - name + - index + - name: tx_error + documentation: Number of errors on interface + labelnames: + - name + - index + - name: drops + documentation: Number of dropped packets for interface + labelnames: + - name + - index + - name: punt + documentation: Number of punted packets for interface + labelnames: + - name + - index + - name: ip4 + documentation: Number of IPv4 packets for interface + labelnames: + - name + - index + - name: ip6 + documentation: Number of IPv6 packets for interface + labelnames: + - name + - index + - name: rx_no_buf + documentation: Number of out of buffer RX packets on interface + labelnames: + - name + - index + - name: rx_miss + documentation: Number of missed RX packets on interface + labelnames: + - name + - index + code: | + show interface + - name: bundle_vpp + metrics: + counter: + - name: node_counter + documentation: Node counter + labelnames: + - name + - reason + - severity + - thread_name + - thread_id + code: | + show node counters verbose -- cgit 1.2.3-korg