From 1cee976b4fd574f1e1673eda81d3e4ef3e18b132 Mon Sep 17 00:00:00 2001 From: Stewart Webb Date: Thu, 23 May 2024 08:46:33 +1000 Subject: [PATCH 1/3] Add logging in cases of opentelemetry metric+trace decode fail Signed-off-by: Stewart Webb --- plugins/in_opentelemetry/opentelemetry_prot.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/in_opentelemetry/opentelemetry_prot.c b/plugins/in_opentelemetry/opentelemetry_prot.c index 0de3c3b1221..07417cd1791 100644 --- a/plugins/in_opentelemetry/opentelemetry_prot.c +++ b/plugins/in_opentelemetry/opentelemetry_prot.c @@ -2205,6 +2205,9 @@ static int process_payload_metrics_ng(struct flb_opentelemetry *ctx, cmt_decode_opentelemetry_destroy(&decoded_contexts); } + else { + flb_plg_warn(ctx->ins, "non-success cmetrics opentelemetry decode result %d", result); + } return 0; } @@ -2242,6 +2245,9 @@ static int process_payload_traces_proto_ng(struct flb_opentelemetry *ctx, result = flb_input_trace_append(ctx->ins, NULL, 0, decoded_context); ctr_decode_opentelemetry_destroy(decoded_context); } + else { + flb_plg_warn(ctx->ins, "non-success ctraces opentelemetry decode result %d", result); + } return result; } From 2d2e9311c414748991fddc41787aaa1faa05d421 Mon Sep 17 00:00:00 2001 From: Stewart Webb Date: Thu, 23 May 2024 08:46:55 +1000 Subject: [PATCH 2/3] Return error val in case of opentelemetry metric payload decode failure Signed-off-by: Stewart Webb --- plugins/in_opentelemetry/opentelemetry_prot.c | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/in_opentelemetry/opentelemetry_prot.c b/plugins/in_opentelemetry/opentelemetry_prot.c index 07417cd1791..7ea12d939af 100644 --- a/plugins/in_opentelemetry/opentelemetry_prot.c +++ b/plugins/in_opentelemetry/opentelemetry_prot.c @@ -2207,6 +2207,7 @@ static int process_payload_metrics_ng(struct flb_opentelemetry *ctx, } else { flb_plg_warn(ctx->ins, "non-success cmetrics opentelemetry decode result %d", result); + return -1; } return 0; From dbd4997f03779a6d541cd9298c1667c5701bcd06 Mon Sep 17 00:00:00 2001 From: Stewart Webb Date: Thu, 23 May 2024 08:50:10 +1000 Subject: [PATCH 3/3] Update opentelemetry HTTP server to return deserialisation error message in non-ok handling cases Signed-off-by: Stewart Webb --- plugins/in_opentelemetry/opentelemetry_prot.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/in_opentelemetry/opentelemetry_prot.c b/plugins/in_opentelemetry/opentelemetry_prot.c index 7ea12d939af..3b594bce1e3 100644 --- a/plugins/in_opentelemetry/opentelemetry_prot.c +++ b/plugins/in_opentelemetry/opentelemetry_prot.c @@ -2461,7 +2461,12 @@ int opentelemetry_prot_handle_ng(struct flb_http_request *request, send_export_service_response_ng(response, result, payload_type); } else { - send_response_ng(response, context->successful_response_code, NULL); + if (result == 0) { + send_response_ng(response, context->successful_response_code, NULL); + } + else { + send_response_ng(response, 400, "invalid request: deserialisation error\n"); + } } return result;