cyprinus12138 / otelgin Goto Github PK
View Code? Open in Web Editor NEWOpenTelemetry trace & metric instrumentation as Gin Middleware
License: Apache License 2.0
OpenTelemetry trace & metric instrumentation as Gin Middleware
License: Apache License 2.0
Adding this to the middleware on my Gin server seems to make the request body become empty, and return EOF on read.
The HTTP metrics histogram has a lot of things that in a production environment are likely not useful, and will cause memory bloat.
http_server_request_duration_milliseconds_bucket{http_method="POST",http_route="/api/v2/series",http_scheme="http",http_status_code="202",http_target="/api/v2/series",net_host_name="datadog-receiver",net_host_port="8080",net_protocol_version="1.1",net_sock_peer_addr="10.43.128.181",net_sock_peer_port="51112",otel_scope_name="github.com/Cyprinus12138/otelgin",otel_scope_version="0.49.0",user_agent_original="datadog-agent/7.52.0",le="0"} 0
The net_sock_peer_addr
and net_sock_peer_port
and user_agent_original
is likely to make pain happen when there are millions of unique combinations of these items.
Perhaps a way to filter the metrics as an option, either by marking what to include or exclude might be useful?
It's probably OK for traces, as those are more or less stand-alone, but the size metrics would generally be used per-endpoint I would think, not per something-the-user-controls-and-can-explode-my-server-memory.
If you'd like me to take a stab at this, I'm likely to implement a callback function that will take the metric keys and return a new list that has whatever I want in there. This would allow me to filter as well as add should I want to.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.