def verify_measurement()

in modules/python/clusterloader2/cri/cri.py [0:0]


def verify_measurement():
    client = KubernetesClient(os.path.expanduser("~/.kube/config"))
    nodes = client.get_nodes(label_selector="cri-resource-consume=true")
    user_pool = [node.metadata.name for node in nodes]
    logger.info(f"User pool: {user_pool}")
    # Create an API client
    api_client = k8s_client.ApiClient()
    for node_name in user_pool:
        url = f"/api/v1/nodes/{node_name}/proxy/metrics"

        try:
            response = api_client.call_api(
                resource_path=url,
                method="GET",
                auth_settings=['BearerToken'],
                response_type="str",
                _preload_content=True
            )

            metrics = response[0]  # The first item contains the response data
            filtered_metrics = "\n".join(
                line for line in metrics.splitlines() if line.startswith("kubelet_pod_start") or line.startswith("kubelet_runtime_operations")
            )
            logger.info("##[section]Metrics for node:", node_name) # pylint: disable=logging-too-many-args
            logger.info(filtered_metrics) # pylint: disable=logging-too-many-args

        except k8s_client.ApiException as e:
            logger.error(f"Error fetching metrics: {e}")