Sha256: eb0de3b3d451412365bd4b4798039c27708803bb873eb88de023b1078db53968

Contents?: true

Size: 705 Bytes

Versions: 9

Compression:

Stored size: 705 Bytes

Contents

#! /usr/bin/env ruby
$LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), 'lib'))

require 'json'
require 'panoptimon-collector-http'

ARGV[0] or raise "arguments required"
conf = JSON.parse(ARGV[0], {symbolize_names: true})

defaults = {
  method:  conf[:default_method] || 'head',
  timeout: conf[:default_timeout] || 3,
}

raise "must have 'urls' value in config" unless conf[:urls]
setup = conf[:urls].map {|u|
  o = defaults.merge(u.is_a?(Hash) ? u : {url: u})
  o[:url] = 'http://' . o[:url] unless o[:url].match(%r{^\w+://})
  o[:name] ||= o[:url].to_s
  o
}

output = Hash[setup.map {|o|
  [o[:name], Panoptimon::Collector::HTTP.new(o[:url], o).go]
}]
puts JSON.generate(output)

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
panoptimon-0.4.5 collectors/http/http
panoptimon-0.4.4 collectors/http/http
panoptimon-0.4.2 collectors/http/http
panoptimon-0.4.1 collectors/http/http
panoptimon-0.4.0 collectors/http/http
panoptimon-0.3.0 collectors/http/http
panoptimon-0.2.0 collectors/http/http
panoptimon-0.1.0 collectors/http/http
panoptimon-0.0.2 collectors/http/http