Class: Fluent::Plugin::NodeExporter::TimeMetricsCollector

Inherits:
MetricsCollector show all
Defined in:
lib/fluent/plugin/node_exporter/time_collector.rb

Instance Method Summary collapse

Methods inherited from MetricsCollector

#scan_sysfs_path

Constructor Details

#initialize(config = {}) ⇒ TimeMetricsCollector

Returns a new instance of TimeMetricsCollector.



24
25
26
27
28
29
30
# File 'lib/fluent/plugin/node_exporter/time_collector.rb', line 24

def initialize(config={})
  super(config)

  @gauge = CMetrics::Gauge.new
  @gauge.create("node", "", "time_seconds",
                "System time in seconds since epoch (1970).")
end

Instance Method Details

#cmetricsObject



42
43
44
45
46
# File 'lib/fluent/plugin/node_exporter/time_collector.rb', line 42

def cmetrics
  {
    time_seconds: @gauge
  }
end

#runObject



32
33
34
# File 'lib/fluent/plugin/node_exporter/time_collector.rb', line 32

def run
  time_update
end

#time_updateObject



36
37
38
39
40
# File 'lib/fluent/plugin/node_exporter/time_collector.rb', line 36

def time_update
  current_time = Fluent::EventTime.now
  value = current_time.to_i / 1e9
  @gauge.set(value)
end