Request level resource Monitoring
Posted by Better_Hopeless@reddit | programming | View on Reddit | 5 comments
I am planning on creating a java agent which monitor request level resource usage.
This agent is supposed to monitor each request received on server and the total resources it used.
- CPU Delta
- Memory Delta
- Total processing time
- Threads created (platform and virtual).
- Threads CPU time, memory delta, and execution time
- Memory leaks
- GC pressure
- Heap size
All these metrics can be published to client specific metric processors like Prometheus, Grafana etc.
What else do we need to process and monitor on a server per request? or precisily how can I extend it more.
if any one is interested on working on this, we can probably connect and work on this. we could also make it portable for other languages as well - but this thing is new to me and I am still learning, so any inputs/feedbacks on this is really appreciated.
Linkedin: https://www.linkedin.com/in/faizxmohammad/
Reachout : faizxmohammed@outlook.com
programming-ModTeam@reddit
This post was removed for violating the "/r/programming is not a support forum" rule. Please see the side-bar for details.
phillipcarter2@reddit
Why do this when the OpenTelemetry Java agent exists?
Better_Hopeless@reddit (OP)
OpenTelemetry only collects system-level or JVM-level metrics, not request-level resource attribution.
My idea goes beyond OpenTelemetry.
Currently open telemetry provides following:
what i want to achieve is all above +
and much more too - but those are just on top of my head right now
phillipcarter2@reddit
Per request is a dimension on your backend, most of them support this. Moreover, OpenTelemetry metrics exemplars already enable direct correlation of a trace and span ID with a metric event. Exemplar support isn’t widely implemented yet though, I’d recommend engaging with the community there to see where progress lies and how to contribute.
Better_Hopeless@reddit (OP)
sure thanks for the inputs, really appreciate it