@@ -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