Module: Metrix

Defined in:
lib/metrix.rb,
lib/metrix/df.rb,
lib/metrix/cli.rb,
lib/metrix/fpm.rb,
lib/metrix/base.rb,
lib/metrix/load.rb,
lib/metrix/nginx.rb,
lib/metrix/memory.rb,
lib/metrix/metric.rb,
lib/metrix/system.rb,
lib/metrix/mongodb.rb,
lib/metrix/version.rb,
lib/metrix/graphite.rb,
lib/metrix/opentsdb.rb,
lib/metrix/diskstats.rb,
lib/metrix/json_metric.rb,
lib/metrix/tcp_reporter.rb,
lib/metrix/elastic_search.rb,
lib/metrix/process_metric.rb,
lib/metrix/reporter/stdout.rb

Defined Under Namespace

Modules: JsonMetric, Reporter Classes: Base, CLI, Df, Diskstats, ElasticSearch, FPM, Graphite, Load, Memory, Metric, Mongodb, Nginx, OpenTSDB, ProcessMetric, System, TcpReporter

Constant Summary collapse

VERSION =
"0.0.14"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



7
8
9
10
11
# File 'lib/metrix.rb', line 7

def logger
  return @logger if @logger
  require "logger"
  @logger ||= Logger.new(STDOUT)
end

Class Method Details

.hostnameObject



13
14
15
# File 'lib/metrix.rb', line 13

def hostname
  @hostname ||= `hostname`.strip
end

.known_metricsObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/metrix.rb', line 17

def known_metrics
  Dir.glob(File.expand_path("../metrix/*.rb", __FILE__)).each do |path|
    require path
  end
  Base.subclasses.map do |clazz|
    raise "known_metrics not set for #{clazz}" if clazz.known_metrics.nil?
    raise "prefix not set for #{clazz}" if clazz.prefix.nil?
    clazz.known_metrics.map do |m|
      "#{clazz.prefix}.#{m}"
    end
  end.flatten.compact.sort
end