@@ -241,7 +241,16 @@ func (r *sfxReceiver) handleDatapointReq(resp http.ResponseWriter, req *http.Req
241241
242242 var md pmetric.Metrics
243243
244- if ! otlpFormat {
244+ if otlpFormat {
245+ r .settings .Logger .Debug ("Received request is in OTLP format" )
246+ otlpreq := pmetricotlp .NewExportRequest ()
247+ if err := otlpreq .UnmarshalProto (body ); err != nil {
248+ r .settings .Logger .Debug ("OTLP data unmarshalling failed" , zap .Error (err ))
249+ r .failRequest (ctx , resp , http .StatusBadRequest , errUnmarshalBodyRespBody , err )
250+ return
251+ }
252+ md = otlpreq .Metrics ()
253+ } else {
245254 msg := & sfxpb.DataPointUploadMessage {}
246255 err := msg .Unmarshal (body )
247256 if err != nil {
@@ -253,15 +262,6 @@ func (r *sfxReceiver) handleDatapointReq(resp http.ResponseWriter, req *http.Req
253262 if err != nil {
254263 r .settings .Logger .Debug ("SignalFx conversion error" , zap .Error (err ))
255264 }
256- } else {
257- r .settings .Logger .Debug ("Received request is in OTLP format" )
258- otlpreq := pmetricotlp .NewExportRequest ()
259- if err := otlpreq .UnmarshalProto (body ); err != nil {
260- r .settings .Logger .Debug ("OTLP data unmarshalling failed" , zap .Error (err ))
261- r .failRequest (ctx , resp , http .StatusBadRequest , errUnmarshalBodyRespBody , err )
262- return
263- }
264- md = otlpreq .Metrics ()
265265 }
266266
267267 dataPointCount := md .DataPointCount ()
@@ -271,7 +271,7 @@ func (r *sfxReceiver) handleDatapointReq(resp http.ResponseWriter, req *http.Req
271271 return
272272 }
273273
274- r .addAccessTokenLabel (& md , req )
274+ r .addAccessTokenLabel (md , req )
275275
276276 err := r .metricsConsumer .ConsumeMetrics (ctx , md )
277277 r .obsrecv .EndMetricsOp (ctx , metadata .Type .String (), dataPointCount , err )
@@ -366,7 +366,7 @@ func (r *sfxReceiver) failRequest(
366366 )
367367}
368368
369- func (r * sfxReceiver ) addAccessTokenLabel (md * pmetric.Metrics , req * http.Request ) {
369+ func (r * sfxReceiver ) addAccessTokenLabel (md pmetric.Metrics , req * http.Request ) {
370370 if r .config .AccessTokenPassthrough {
371371 if accessToken := req .Header .Get (splunk .SFxAccessTokenHeader ); accessToken != "" {
372372 for i := 0 ; i < md .ResourceMetrics ().Len (); i ++ {
0 commit comments