-
Notifications
You must be signed in to change notification settings - Fork 112
Evaluate and choose monitoring components #177
Comments
While #183 describes what metrics will be collected, this issue is about the infrastructure for metrics - libraries, protocols, databases, visualizations. |
According to this comment: ethereum/go-ethereum#15481 (comment), it should be fairly easy to use this library for Nevertheless, concerns have been voiced on the suitability of this stack for swarm.
This appears to be questioning that the available implementation in Also, it is not clear if this aggregate issue is due to the library itself ( In fact a specific library exists for writing to influxdb: This comment by @nonsense in fact suggests that the problem is in the https://github.com/syntaqx/go-metrics-datadog - here is a reporter which is resetting the Counters This reporter is also a client for the |
The @nonsense how is it possible to check if with |
The problem is in the
The way I see it, we have two options:
I believe option 2 is better, because we can track more fine-grained We can approach the decision in the following way: Define meaningful measurements we want to take in terms of |
So it appears that The metrics system should allow a normal swarm node to run easily, with minimum additional software installation requirements. |
I'd like to provide some insight, but I'm not sure I understand this "aggregate problem". So with a counter, don't you just keep incrementing it and then calculate the stats you want from that? So for example if I want to know how many requests I served in the last hour, I'd subtract the value from 1h ago from the value it is now. If instead the counter is reset every 10s then I have to add them all up? What if some of the stats get lost (it is UDP right), then I get an inaccurate count? There seems to be more opportunity for me to lose stats if they keep getting reset. |
The chosen stack is: gopkg.in/alexcesaro/statsd.v2 (statsd client in swarm go code) |
@holisticode thanks! i will sync with Peter tomorrow, so that we see what the geth team thinks of this, as I imagine we might want to add instrumentation on some of the shared go-ethereum / swarm code which might be missing. will keep you posted. |
In light of the amount of code and features done on go-ethereum with
So the stack becomes:
|
Probably we should use
influxdb
as the backend, but we can change this decision too.It is also a question what protocol to use: influxdb, statsd, or graphite
The text was updated successfully, but these errors were encountered: