Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wiardvanrij opened this issue Oct 11, 2024 · 1 comment
Open
Labels
bug Something isn't working needs triage New item requiring triage receiver/datadog

Comments

@wiardvanrij
Copy link
Contributor

wiardvanrij commented Oct 11, 2024

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

@wiardvanrij wiardvanrij added bug Something isn't working needs triage New item requiring triage labels Oct 11, 2024
Copy link
Contributor

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs triage New item requiring triage receiver/datadog
Projects
None yet
Development

No branches or pull requests

1 participant