Class: Karafka::Web::Tracking::Consumers::Sampler::Metrics::Network
- Defined in:
- lib/karafka/web/tracking/consumers/sampler/metrics/network.rb
Overview
Collects network throughput metrics (bytes received/sent per second)
Instance Method Summary collapse
-
#bytes_received ⇒ Integer
Number of bytes received per second out of a one minute time window by all the consumers.
-
#bytes_sent ⇒ Integer
Number of bytes sent per second out of a one minute time window by all the consumers.
-
#initialize(windows) ⇒ Network
constructor
A new instance of Network.
Constructor Details
#initialize(windows) ⇒ Network
Returns a new instance of Network.
12 13 14 15 |
# File 'lib/karafka/web/tracking/consumers/sampler/metrics/network.rb', line 12 def initialize(windows) super() @windows = windows end |
Instance Method Details
#bytes_received ⇒ Integer
Note:
We use one minute window to compensate for cases where metrics would be reported or recorded faster or slower. This normalizes data
Returns number of bytes received per second out of a one minute time window by all the consumers.
21 22 23 24 25 26 27 |
# File 'lib/karafka/web/tracking/consumers/sampler/metrics/network.rb', line 21 def bytes_received windows .m1 .stats_from { |k, _v| k.end_with?('rxbytes') } .rps .round end |
#bytes_sent ⇒ Integer
Returns number of bytes sent per second out of a one minute time window by all the consumers.
31 32 33 34 35 36 37 |
# File 'lib/karafka/web/tracking/consumers/sampler/metrics/network.rb', line 31 def bytes_sent windows .m1 .stats_from { |k, _v| k.end_with?('txbytes') } .rps .round end |