Sha256: e239114a452311d277b27e9644e6a810adf3ef7e9349488a8405fc9e6c33fa31

Contents?: true

Size: 833 Bytes

Versions: 14

Compression:

Stored size: 833 Bytes

Contents

module OvirtMetrics
  module NicMetrics
    KILO                = 1024
    MEGA                = 1024 * KILO
    GIGA                = 1024 * MEGA
    GIGABIT_PER_SECOND  = GIGA
    GIGABYTE_PER_SECOND = GIGABIT_PER_SECOND / 8

    def self.net_usage_rate_average_in_kilobytes_per_second(nic_metrics)
      count = 0
      sum   = 0
      nic_metrics ||= []
      nic_metrics.each do |n|
        sum   += (n.receive_rate_percent.to_f + n.transmit_rate_percent.to_f) / 2
        count += 1
      end

      return 0.0 if count == 0

      percentage = sum / 100.0
      bytes_per_second = percentage * GIGABYTE_PER_SECOND

      (bytes_per_second / count) / 1024
    end

    def net_usage_rate_average_in_kilobytes_per_second(nic_metrics)
      NicMetrics.net_usage_rate_average_in_kilobytes_per_second(nic_metrics)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ovirt_metrics-3.2.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-3.1.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-3.0.3 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-3.0.2 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-3.0.1 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-3.0.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-2.0.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.4.1 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.4.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.3.1 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.3.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.2.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.1.0 lib/ovirt_metrics/nic_metrics.rb
ovirt_metrics-1.0.1 lib/ovirt_metrics/nic_metrics.rb