envoyproxy / ratelimit

Go/gRPC service designed to enable generic rate limit scenarios from different types of applications.
Apache License 2.0
2.21k stars 430 forks source link

Initial integration of DogStatsD #585

Closed JDeuce closed 1 month ago

JDeuce commented 2 months ago

godogstats package is implemented to bridge lyft/gostats with dogstatsd.

There is a new statsd sink implemented which will output the stats using dogstatsd protocol over UDP which allows tags.

Thus, a new mogrification feature is also added which lets us mogrify the stat from internal metric names, into a different name + tags, similar to what is done in the prom-stats-exporter example

Note: there is some runtime cost associated with mogrifying the metrics but it should be minimal due to the existing in memory flushing architecture.

ChuckCrawford commented 1 month ago

I apologize for making a design comment on an already implemented PR but what if instead of continuing to build support for specific company / vendor formats we instead implemented vendor-neutral OTEL Metrics ?