From 61a0ff8ace87e917d31231f28f3be6b21a113624 Mon Sep 17 00:00:00 2001 From: Daria Kobtseva Date: Sun, 21 Jun 2020 12:29:42 +0200 Subject: Fix empty 'args' and 'kwargs' when using 'hide_args' with Jaeger When 'hide_args=True' is used in @profiler.trace() decorator along with Jaeger driver, trace 'args' and 'kwargs' function parameters are empty, which leads to a key error. This change introduces a key check before adding those parameters to tags. Change-Id: I312da1b175a04d4ddee7f823111b8320dd4777d6 --- osprofiler/drivers/jaeger.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/osprofiler/drivers/jaeger.py b/osprofiler/drivers/jaeger.py index 82b7a23..262f6a6 100644 --- a/osprofiler/drivers/jaeger.py +++ b/osprofiler/drivers/jaeger.py @@ -140,8 +140,10 @@ class Jaeger(base.Driver): tags["http.scheme"] = info["request"]["scheme"] elif info.get("function"): # RPC, function calls - tags["args"] = info["function"]["args"] - tags["kwargs"] = info["function"]["kwargs"] + if "args" in info["function"]: + tags["args"] = info["function"]["args"] + if "kwargs" in info["function"]: + tags["kwargs"] = info["function"]["kwargs"] tags["name"] = info["function"]["name"] return tags -- cgit v1.2.1