Skip to content

Commit 8fc1d25

Browse files
nuclearpidgeonedsiper
authored andcommitted
in_opentelemetry: add tag_from_uri support to http2 codepath
tags are still v1_logs/v1_metrics/v1_traces even in gRPC cases Signed-off-by: Stewart Webb <[email protected]>
1 parent 48684cf commit 8fc1d25

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

plugins/in_opentelemetry/opentelemetry_prot.c

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2423,6 +2423,7 @@ int opentelemetry_prot_handle_ng(struct flb_http_request *request,
24232423
int grpc_request;
24242424
struct flb_opentelemetry *context;
24252425
int result = -1;
2426+
flb_sds_t tag;
24262427

24272428
context = (struct flb_opentelemetry *) response->stream->user_data;
24282429

@@ -2466,19 +2467,37 @@ int opentelemetry_prot_handle_ng(struct flb_http_request *request,
24662467
strcmp(request->path, "/opentelemetry.proto.collector.metric.v1.MetricService/Export") == 0 ||
24672468
strcmp(request->path, "/opentelemetry.proto.collector.metrics.v1.MetricsService/Export") == 0) {
24682469
payload_type = 'M';
2469-
result = process_payload_metrics_ng(context, context->ins->tag, request, response);
2470+
if (context->tag_from_uri == FLB_TRUE) {
2471+
tag = flb_sds_create("v1_metrics");
2472+
}
2473+
else {
2474+
tag = flb_sds_create(context->ins->tag);
2475+
}
2476+
result = process_payload_metrics_ng(context, tag, request, response);
24702477
}
24712478
else if (strcmp(request->path, "/v1/traces") == 0 ||
24722479
strcmp(request->path, "/opentelemetry.proto.collector.trace.v1.TraceService/Export") == 0 ||
24732480
strcmp(request->path, "/opentelemetry.proto.collector.traces.v1.TracesService/Export") == 0) {
24742481
payload_type = 'T';
2475-
result = process_payload_traces_ng(context, context->ins->tag, request, response);
2482+
if (context->tag_from_uri == FLB_TRUE) {
2483+
tag = flb_sds_create("v1_traces");
2484+
}
2485+
else {
2486+
tag = flb_sds_create(context->ins->tag);
2487+
}
2488+
result = process_payload_traces_ng(context, tag, request, response);
24762489
}
24772490
else if (strcmp(request->path, "/v1/logs") == 0 ||
24782491
strcmp(request->path, "/opentelemetry.proto.collector.log.v1.LogService/Export") == 0 ||
24792492
strcmp(request->path, "/opentelemetry.proto.collector.logs.v1.LogsService/Export") == 0) {
24802493
payload_type = 'L';
2481-
result = process_payload_logs_ng(context, context->ins->tag, request, response);
2494+
if (context->tag_from_uri == FLB_TRUE) {
2495+
tag = flb_sds_create("v1_logs");
2496+
}
2497+
else {
2498+
tag = flb_sds_create(context->ins->tag);
2499+
}
2500+
result = process_payload_logs_ng(context, tag, request, response);
24822501
}
24832502

24842503
if (grpc_request) {
@@ -2493,5 +2512,7 @@ int opentelemetry_prot_handle_ng(struct flb_http_request *request,
24932512
}
24942513
}
24952514

2515+
flb_sds_destroy(tag);
2516+
24962517
return result;
24972518
}

0 commit comments

Comments
 (0)