Skip to content

[datadogreceiver] unset/unspecified type results in no processed data #35752

Open
@wiardvanrij

Description

@wiardvanrij

Component(s)

receiver/datadog

What happened?

Description

It's not required to set type.

However, not setting the type means that data seems to be completely lost. The receiver does say 'OK', as in it received the request, but it doesn't seem to process it futher.

Steps to Reproduce

note of not including the arg type

curl  -X POST -H "Content-type: application/json" \
    -d '{ "series" :
         [{"metric":"some_metric",
          "points":[['${current_time}', '${metric_val}']],
        "tags":["host:'foo'"]}
    ]
    }' \
    'https://your-endpoint/api/v1/series'

Expected Result

OTeL receiver parses this and then I can forward it to any remote metric endpoint

Actual Result

No data gets forwarded

Extra

https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/datadogreceiver/internal/translator/series.go#L66

No NumberDataPointSlice gets set in the switch. I find it very hard to parse the logic, but I'm assuming because this 'DPS' doesn't get set, further down the line the data isn't getting used at all: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/datadogreceiver/internal/translator/series.go#L90
Which makes it just a null value.

Also small nit; there are no unit tests for not setting the type.

extra part 2

I do sort of get the point of that in an ideal case.. the type is set. How else can we infer data. Yet, it doesn't seem to be a required thing on DD itself so I would actually prefer if somehow we can (maybe best effort) make something of it?

Collector version

lastest

Environment information

No response

OpenTelemetry Collector configuration

No response

Log output

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions