Module: OvirtMetrics
- Defined in:
- lib/ovirt_metrics.rb,
lib/ovirt_metrics/version.rb,
lib/ovirt_metrics/nic_metrics.rb,
lib/ovirt_metrics/models/period.rb,
lib/ovirt_metrics/models/calendar.rb,
lib/ovirt_metrics/column_definitions.rb,
lib/ovirt_metrics/models/tag_details.rb,
lib/ovirt_metrics/models/disks_vm_map.rb,
lib/ovirt_metrics/models/ovirt_history.rb,
lib/ovirt_metrics/models/enum_translator.rb,
lib/ovirt_metrics/models/vm_configuration.rb,
lib/ovirt_metrics/models/vm_daily_history.rb,
lib/ovirt_metrics/models/vm_hourly_history.rb,
lib/ovirt_metrics/models/host_configuration.rb,
lib/ovirt_metrics/models/host_daily_history.rb,
lib/ovirt_metrics/models/vm_samples_history.rb,
lib/ovirt_metrics/models/host_hourly_history.rb,
lib/ovirt_metrics/models/host_samples_history.rb,
lib/ovirt_metrics/models/cluster_configuration.rb,
lib/ovirt_metrics/models/history_configuration.rb,
lib/ovirt_metrics/models/tag_relations_history.rb,
lib/ovirt_metrics/models/vm_disk_configuration.rb,
lib/ovirt_metrics/models/vm_disk_daily_history.rb,
lib/ovirt_metrics/models/vm_disk_hourly_history.rb,
lib/ovirt_metrics/models/vm_disk_samples_history.rb,
lib/ovirt_metrics/models/datacenter_configuration.rb,
lib/ovirt_metrics/models/datacenter_daily_history.rb,
lib/ovirt_metrics/models/datacenter_hourly_history.rb,
lib/ovirt_metrics/models/datacenter_samples_history.rb,
lib/ovirt_metrics/models/vm_interface_configuration.rb,
lib/ovirt_metrics/models/vm_interface_daily_history.rb,
lib/ovirt_metrics/models/vm_interface_hourly_history.rb,
lib/ovirt_metrics/models/host_interface_configuration.rb,
lib/ovirt_metrics/models/host_interface_daily_history.rb,
lib/ovirt_metrics/models/storage_domain_configuration.rb,
lib/ovirt_metrics/models/storage_domain_daily_history.rb,
lib/ovirt_metrics/models/vm_disks_usage_daily_history.rb,
lib/ovirt_metrics/models/vm_interface_samples_history.rb,
lib/ovirt_metrics/models/datacenter_storage_domain_map.rb,
lib/ovirt_metrics/models/host_interface_hourly_history.rb,
lib/ovirt_metrics/models/storage_domain_hourly_history.rb,
lib/ovirt_metrics/models/vm_disks_usage_hourly_history.rb,
lib/ovirt_metrics/models/host_interface_samples_history.rb,
lib/ovirt_metrics/models/storage_domain_samples_history.rb,
lib/ovirt_metrics/models/vm_disks_usage_samples_history.rb
Defined Under Namespace
Modules: NicMetrics
Classes: Calendar, ClusterConfiguration, DatacenterConfiguration, DatacenterDailyHistory, DatacenterHourlyHistory, DatacenterSamplesHistory, DatacenterStorageDomainMap, DisksVmMap, EnumTranslator, HistoryConfiguration, HostConfiguration, HostDailyHistory, HostHourlyHistory, HostInterfaceConfiguration, HostInterfaceDailyHistory, HostInterfaceHourlyHistory, HostInterfaceSamplesHistory, HostSamplesHistory, OvirtHistory, Period, StorageDomainConfiguration, StorageDomainDailyHistory, StorageDomainHourlyHistory, StorageDomainSamplesHistory, TagDetails, TagRelationsHistory, VmConfiguration, VmDailyHistory, VmDiskConfiguration, VmDiskDailyHistory, VmDiskHourlyHistory, VmDiskSamplesHistory, VmDisksUsageDailyHistory, VmDisksUsageHourlyHistory, VmDisksUsageSamplesHistory, VmHourlyHistory, VmInterfaceConfiguration, VmInterfaceDailyHistory, VmInterfaceHourlyHistory, VmInterfaceSamplesHistory, VmSamplesHistory
Constant Summary
collapse
- DEFAULT_HISTORY_DATABASE_NAME =
"ovirt_engine_history".freeze
- DEFAULT_HISTORY_DATABASE_NAME_3_0 =
"rhevm_history".freeze
- VM_NOT_RUNNING =
0
- VERSION =
"1.2.0"
- COMMON_COLUMN_DEFINITIONS =
{
"cpu_usage_rate_average" => {
:ovirt_key => :cpu_usage_rate_average,
:ovirt_method => lambda { |metrics| metrics[:metric].cpu_usage_percent.to_f },
:counter => {
:counter_key => "cpu_usage_rate_average",
:instance => "",
:capture_interval => "20",
:precision => 1,
:rollup => "average",
:unit_key => "percent",
:capture_interval_name => "realtime"
}
},
"cpu_usagemhz_rate_average" => {
:ovirt_key => :cpu_usagemhz_rate_average,
:ovirt_method => lambda { |metrics| metrics[:metric].cpu_usagemhz_rate_average },
:counter => {
:counter_key => "cpu_usagemhz_rate_average",
:instance => "",
:capture_interval => "20",
:precision => 2,
:rollup => "average",
:unit_key => "megahertz",
:capture_interval_name => "realtime"
}
},
"mem_usage_absolute_average" => {
:ovirt_key => :mem_usage_absolute_average,
:ovirt_method => lambda { |metrics| metrics[:metric].memory_usage_percent.to_f },
:counter => {
:counter_key => "mem_usage_absolute_average",
:instance => "",
:capture_interval => "20",
:precision => 1,
:rollup => "average",
:unit_key => "percent",
:capture_interval_name => "realtime"
}
},
}
- VM_COLUMN_DEFINITIONS =
{
"cpu_usage_rate_average" => COMMON_COLUMN_DEFINITIONS["cpu_usage_rate_average"],
"cpu_usagemhz_rate_average" => COMMON_COLUMN_DEFINITIONS["cpu_usagemhz_rate_average"],
"mem_usage_absolute_average" => COMMON_COLUMN_DEFINITIONS["mem_usage_absolute_average"],
"disk_usage_rate_average" => {
:ovirt_key => :disk_usage_rate_average,
:ovirt_method => lambda { |metrics| VmDiskSamplesHistory.disk_usage_rate_average_in_kilobytes_per_second(metrics[:disk]) },
:counter => {
:counter_key => "disk_usage_rate_average",
:instance => "",
:capture_interval => "20",
:precision => 2,
:rollup => "average",
:unit_key => "kilobytespersecond",
:capture_interval_name => "realtime"
}
},
"net_usage_rate_average" => {
:ovirt_key => :net_usage_rate_average,
:ovirt_method => lambda { |metrics| VmInterfaceSamplesHistory.net_usage_rate_average_in_kilobytes_per_second(metrics[:nic]) },
:counter => {
:counter_key => "net_usage_rate_average",
:instance => "",
:capture_interval => "20",
:precision => 2,
:rollup => "average",
:unit_key => "kilobytespersecond",
:capture_interval_name => "realtime"
}
}
}
- HOST_COLUMN_DEFINITIONS =
{
"cpu_usage_rate_average" => COMMON_COLUMN_DEFINITIONS["cpu_usage_rate_average"],
"cpu_usagemhz_rate_average" => COMMON_COLUMN_DEFINITIONS["cpu_usagemhz_rate_average"],
"mem_usage_absolute_average" => COMMON_COLUMN_DEFINITIONS["mem_usage_absolute_average"],
"net_usage_rate_average" => {
:ovirt_key => :net_usage_rate_average,
:ovirt_method => lambda { |metrics| HostInterfaceSamplesHistory.net_usage_rate_average_in_kilobytes_per_second(metrics[:nic]) },
:counter => {
:counter_key => "net_usage_rate_average",
:instance => "",
:capture_interval => "20",
:precision => 2,
:rollup => "average",
:unit_key => "kilobytespersecond",
:capture_interval_name => "realtime"
}
}
}
Class Method Summary
collapse
Class Method Details
.connect(opts) ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/ovirt_metrics.rb', line 19
def self.connect(opts)
opts ||= {}
opts[:port] ||= 5432
opts[:database] ||= DEFAULT_HISTORY_DATABASE_NAME
opts[:adapter] = begin
if ActiveRecord::VERSION::MAJOR > 4
require "active_record/connection_adapters/ovirt_legacy_postgresql_adapter"
'ovirt_legacy_postgresql'
else
'postgresql'
end
end
host = opts[:host].to_s.strip
raise ArgumentError, "host cannot be blank" if host.empty?
raise ArgumentError, "host cannot be set to localhost" if ["localhost", "localhost.localdomain", "127.0.0.1", "0.0.0.0"].include?(host)
OvirtHistory.establish_connection(opts)
end
|
.connected? ⇒ Boolean
41
42
43
|
# File 'lib/ovirt_metrics.rb', line 41
def self.connected?
OvirtHistory.connection.active?
end
|
.disconnect ⇒ Object
45
46
47
|
# File 'lib/ovirt_metrics.rb', line 45
def self.disconnect
OvirtHistory.connection.disconnect!
end
|
.establish_connection(opts) ⇒ Object
15
16
17
|
# File 'lib/ovirt_metrics.rb', line 15
def self.establish_connection(opts)
self.connect(opts)
end
|
.host_realtime(host_id, start_time = nil, end_time = nil) ⇒ Object
56
57
58
59
60
|
# File 'lib/ovirt_metrics.rb', line 56
def self.host_realtime(host_id, start_time = nil, end_time = nil)
metrics = query_host_realtime_metrics(host_id, start_time, end_time).all
nic_metrics = query_host_nic_realtime_metrics(host_id, start_time, end_time)
host_realtime_metrics_to_hashes(metrics, nic_metrics)
end
|
.vm_realtime(vm_id, start_time = nil, end_time = nil) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/ovirt_metrics.rb', line 49
def self.vm_realtime(vm_id, start_time = nil, end_time = nil)
metrics = query_vm_realtime_metrics(vm_id, start_time, end_time)
disk_metrics = query_vm_disk_realtime_metrics(vm_id, start_time, end_time)
nic_metrics = query_vm_nic_realtime_metrics(vm_id, start_time, end_time)
vm_realtime_metrics_to_hashes(metrics, disk_metrics, nic_metrics)
end
|