X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpapi%2Fvpp_papi_provider.py;h=ff52de501bf90bc9746dab64965ef2cc59f0086e;hp=c9a43447f95f4ebb69009484176b6f4cbb41cbf1;hb=bd5eec0c49d4db896eab08ab3feb467f5d14ccc8;hpb=78a8427cc50c137e5d59ad3448ae128fdda369b2 diff --git a/resources/tools/papi/vpp_papi_provider.py b/resources/tools/papi/vpp_papi_provider.py index c9a43447f9..ff52de501b 100755 --- a/resources/tools/papi/vpp_papi_provider.py +++ b/resources/tools/papi/vpp_papi_provider.py @@ -209,6 +209,8 @@ def process_json_request(args): def process_stats(args): """Process the VPP Stats. + The reply contains single item covering all paths. + :param args: Command line arguments passed to VPP PAPI Provider. :type args: ArgumentParser :returns: JSON formatted string. @@ -221,19 +223,9 @@ def process_stats(args): except Exception as err: raise RuntimeError(f"PAPI init failed:\n{err!r}") - json_data = json.loads(args.data) - - reply = list() - - for path in json_data: - # The ls method can match multiple patterns, - # but we feed it one path at a time anyway, because the caller - # expect results in a list, one item per path. - # Most VPP versions understand a string is a single pattern, - # but some blindly iterate (as if it was a list of chars). - directory = stats.ls([path]) - data = stats.dump(directory) - reply.append(data) + paths = json.loads(args.data) + directory = stats.ls(paths) + reply = [stats.dump(directory)] try: return json.dumps(reply)