Skip to content

Add DogStatsD-over-HTTP protobuf payload (AGTMETRICS-487)#1835

Draft
carlosroman wants to merge 1 commit intomainfrom
carlosroman/AGTMETRICS-487-dogstatsd-over-http
Draft

Add DogStatsD-over-HTTP protobuf payload (AGTMETRICS-487)#1835
carlosroman wants to merge 1 commit intomainfrom
carlosroman/AGTMETRICS-487-dogstatsd-over-http

Conversation

@carlosroman
Copy link

Introduces DogStatsDHttp, a new lading_payload serializer that encodes DogStatsD Count and Gauge metrics into the binary protobuf format expected by the Datadog Agent's DogStatsD-over-HTTP endpoint. Metric names and tag strings are stored in varint-length-prefixed byte dictionaries with delta encoding for indices, mirroring dogstatsdhttp/payload.proto.

Adds a CI fingerprint config that exercises the payload through lading's existing http generator targeting the Agent at http://127.0.0.1:8125 with Content-Type: application/x-protobuf.

What does this PR do?

A brief description of the change being made with this pull request.

Motivation

What inspired you to submit this pull request?

Related issues

A list of issues either fixed, containing architectural discussions, otherwise relevant
for this Pull Request.

Additional Notes

Anything else we should know when reviewing?

Introduces `DogStatsDHttp`, a new `lading_payload` serializer that encodes
DogStatsD Count and Gauge metrics into the binary protobuf format expected
by the Datadog Agent's DogStatsD-over-HTTP endpoint. Metric names and tag
strings are stored in varint-length-prefixed byte dictionaries with delta
encoding for indices, mirroring `dogstatsdhttp/payload.proto`.

Adds a CI fingerprint config that exercises the payload through lading's
existing `http` generator targeting the Agent at `http://127.0.0.1:8125`
with `Content-Type: application/x-protobuf`.
Comment on lines +237 to +240
u16::from(config.metric_weights.timer),
u16::from(config.metric_weights.distribution),
u16::from(config.metric_weights.set),
u16::from(config.metric_weights.histogram),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since they aren't supported, we might as well just stop them being generated..

Suggested change
u16::from(config.metric_weights.timer),
u16::from(config.metric_weights.distribution),
u16::from(config.metric_weights.set),
u16::from(config.metric_weights.histogram),
0,
0,
0,
0,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants