diff options
author | Steve Kemp <steve@steve.org.uk> | 2013-10-04 15:03:55 +0100 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2013-10-04 15:03:55 +0100 |
commit | d48349ac70b2f79eff5ab53eaeb966d076ef89dd (patch) | |
tree | a79bab3dcf7e41f88653481e0b8e9790ff824422 /lib/custodian/alerts/graphite.rb | |
parent | 0f189f8b226b30172a2a2618b85c049e67ffef3b (diff) |
Graphite alerter.
Diffstat (limited to 'lib/custodian/alerts/graphite.rb')
-rw-r--r-- | lib/custodian/alerts/graphite.rb | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/lib/custodian/alerts/graphite.rb b/lib/custodian/alerts/graphite.rb new file mode 100644 index 0000000..857c872 --- /dev/null +++ b/lib/custodian/alerts/graphite.rb @@ -0,0 +1,70 @@ +# +# The graphite-alerter. +# +# This only exists to record timing durations in the local graphite/carbon +# instance. +# +module Custodian + + module Alerter + + class GraphiteAlert < AlertFactory + + # + # The test this alerter cares about + # + attr_reader :test + + + # + # Constructor - save the test-object away. + # + def initialize( obj ) + @test = obj + end + + + + # + # NOP. + # + def raise + end + + + + # + # NOP. + # + def clear + end + + + + # + # Send the test test-duration to graphite/carbon + # + def duration( ms ) + + # + # hostname + test-type + # + host = @test.target + test = @test.get_type + + # + # The key we'll send + # + str = "#{host}-#{test}" + str.gsub!(/\\\./, "-") + str = "monitor.#{str}" + + system( "/bin/echo '#{str} #{ms} #{Time.now.to_i}' | nc localhost 2003" ) + end + + register_alert_type "graphite" + + + end + end +end |