-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
# See the License for the specific language governing permissions and
# limitations under the License.
-"""Linux perf utility."""
+"""Telemetry utility."""
+
+from robot.api import logger
from resources.libraries.python.Constants import Constants
from resources.libraries.python.OptionString import OptionString
cd_cmd += f"{Constants.RESOURCES_TOOLS}"
bin_cmd = f"python3 -m telemetry --config {config} --hook {hook}\""
+ hostname = node[u"host"]
exec_cmd_no_error(node, f"{cd_cmd} && {bin_cmd}", sudo=True)
- exec_cmd_no_error(node, f"cat /tmp/metric.prom", sudo=True)
+ stdout, _ = exec_cmd_no_error(
+ node, u"cat /tmp/metric.prom", sudo=True, log_stdout_err=False
+ )
+ logger.info(
+ u"# TYPE target info\n"
+ u"# HELP target Target metadata\n"
+ f"target_info{{hostname=\"{hostname}\",hook=\"{hook}\"}} 1\n"
+ f"{stdout}"
+ )
@staticmethod
def run_telemetry_on_all_duts(nodes, profile):
for node in nodes.values():
if node[u"type"] == NodeType.DUT:
try:
- for socket in node[u"sockets"][u"PAPI"].values():
+ for socket in node[u"sockets"][u"CLI"].values():
TelemetryUtil.run_telemetry(
node, profile=profile, hook=socket
)