travis-metrics 2.0.0.rc1 → 2.0.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 202ba9076da5cb2ecedfd3bfc0af052b96eaeac5
4
- data.tar.gz: ffaa169c567cce2e4445b168da8fbd5bd345b9ab
3
+ metadata.gz: 4bdef9f8c02b1e952172f58ce58e9f877764f658
4
+ data.tar.gz: 3adb2e6bd4a34cf05b3a75a7b7ab6abbebc219fc
5
5
  SHA512:
6
- metadata.gz: ab7dd5d25bc4775a3e9d1f81ec7e91113fc0bb6b7ceba2cf89093d42403e1b4d044319ee863c1593f5bfee0bda0723f514c8ba187ac9447a5d5a2d46fed2fd27
7
- data.tar.gz: 598eacf6c8a7a497a0e08eb5fdc2e3f01543fae208902f2e292d1206319c3dc588db30a94dabd2f2d26df239c5aeeb1ef9dc4f4f5048ee718d6d925af4a7573b
6
+ metadata.gz: b40e9efd5d6387779db058692255c4691a5a412f71fc735da3039c00cd6a8948dbc8e7055e66bb0fd3a6b36c6e79c6f4e23169176582c2877e4ff732e6515405
7
+ data.tar.gz: c43b0afd47de667cf50b0d13b0c6661b7cef273d4811e96aa4bb17914dae303b206b1c769fda05afdf7f1da6cd80cf72001197b19a2b7b72263d5cdad6801c74
data/Gemfile CHANGED
@@ -4,4 +4,5 @@ gemspec
4
4
 
5
5
  group :test do
6
6
  gem 'rspec'
7
+ gem 'riemann-client', '~> 0.0.7'
7
8
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- travis-metrics (0.0.1)
4
+ travis-metrics (2.0.0.rc1)
5
5
  metriks-librato_metrics (~> 1.0)
6
6
 
7
7
  GEM
@@ -10,14 +10,20 @@ GEM
10
10
  atomic (1.1.99)
11
11
  avl_tree (1.2.1)
12
12
  atomic (~> 1.1)
13
+ beefcake (1.2.0)
13
14
  diff-lcs (1.2.5)
14
- hitimes (1.2.3)
15
+ hitimes (1.2.4)
15
16
  metriks (0.9.9.7)
16
17
  atomic (~> 1.0)
17
18
  avl_tree (~> 1.2.0)
18
19
  hitimes (~> 1.1)
19
- metriks-librato_metrics (1.0.3)
20
+ metriks-librato_metrics (1.0.5)
20
21
  metriks (>= 0.9.9.6)
22
+ mtrc (0.0.4)
23
+ riemann-client (0.0.8)
24
+ beefcake (>= 0.3.5)
25
+ mtrc (>= 0.0.4)
26
+ trollop (>= 1.16.2)
21
27
  rspec (3.3.0)
22
28
  rspec-core (~> 3.3.0)
23
29
  rspec-expectations (~> 3.3.0)
@@ -31,11 +37,13 @@ GEM
31
37
  diff-lcs (>= 1.2.0, < 2.0)
32
38
  rspec-support (~> 3.3.0)
33
39
  rspec-support (3.3.0)
40
+ trollop (2.1.2)
34
41
 
35
42
  PLATFORMS
36
43
  ruby
37
44
 
38
45
  DEPENDENCIES
46
+ riemann-client (~> 0.0.7)
39
47
  rspec
40
48
  travis-metrics!
41
49
 
@@ -0,0 +1,47 @@
1
+ begin
2
+ require 'metriks/reporter/riemann'
3
+ rescue LoadError
4
+ end
5
+
6
+ module Travis
7
+ class Metrics
8
+ module Reporter
9
+ class Riemann < Struct.new(:config)
10
+ #MSGS = {
11
+ #setup: 'Using Librato metrics reporter (source: %s, account: %s)',
12
+ #error: 'Librato error: %s (%s)'
13
+ #}
14
+
15
+ def setup
16
+ #return unless host
17
+ #logger.info MSGS[:setup] % [source, email]
18
+ Metriks::Reporter::Riemann.new(client, interval: interval)
19
+ end
20
+
21
+ private
22
+
23
+ def client
24
+ ::Riemann::Client.new(host,port)
25
+ end
26
+
27
+ def host
28
+ "host"
29
+ #config[:host]
30
+ end
31
+
32
+ def port
33
+ "port"
34
+ #config[:port]
35
+ end
36
+
37
+ def interval
38
+ config[:interval]
39
+ end
40
+
41
+ #def on_error(e)
42
+ #logger.error MSGS[:error] % [e.message, e.response.body]
43
+ #end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,5 +1,5 @@
1
1
  module Travis
2
2
  class Metrics
3
- VERSION = "2.0.0.rc1"
3
+ VERSION = "2.0.0.rc2"
4
4
  end
5
5
  end
@@ -1,17 +1,18 @@
1
1
  require 'metriks'
2
2
  require 'travis/metrics/reporter/librato'
3
3
  require 'travis/metrics/reporter/graphite'
4
+ require 'travis/metrics/reporter/riemann'
4
5
 
5
6
  module Travis
6
7
  class Metrics
7
8
  class << self
8
- attr_reader :reporter
9
-
10
9
  MSGS = {
11
10
  no_reporter: 'No metrics reporter configured.',
12
11
  error: '"Exception while starting metrics reporter: %s"'
13
12
  }
14
13
 
14
+ attr_reader :reporter
15
+
15
16
  def setup(config, logger)
16
17
  config[:reporter] ? start(config, logger) : logger.info(MSGS[:no_reporter])
17
18
  new
@@ -22,12 +23,9 @@ module Travis
22
23
  def start(config, logger)
23
24
  adapter = config[:reporter]
24
25
  config = config[adapter.to_sym] || {}
25
- @reporter = Reporter.send(adapter, config, logger)
26
- reporter.start
27
- end
28
-
29
- def started?
30
- !!reporter
26
+ const = Reporter.const_get(adapter.capitalize) rescue nil
27
+ @reporter = const && const.new(config, logger)
28
+ reporter.setup if reporter
31
29
  end
32
30
  end
33
31
 
@@ -0,0 +1,38 @@
1
+ describe Travis::Metrics::Reporter::Riemann do
2
+ let(:config) { { client: client, host: host, port: 1234 } }
3
+ let(:host) { 'https://example.com' }
4
+ let(:client) { ::Riemann::Client.new(config) }
5
+ let(:reporter) { described_class.new(config) }
6
+ subject { reporter.setup }
7
+
8
+ #def log
9
+ #reporter.setup
10
+ #super
11
+ #end
12
+
13
+ #describe 'setup' do
14
+ #describe 'returns nil if host is missing' do
15
+ #let(:host) { nil }
16
+ #it { expect(subject).to be_nil }
17
+ #end
18
+
19
+ describe 'returns a riemann reporter' do
20
+ xit { expect(subject).to be_kind_of(Metriks::Reporter::Riemann) }
21
+ #it { expect(log).to include "Using Graphite metrics reporter (host: #{host}, port: 1234)" }
22
+ end
23
+
24
+ #describe 'on_error' do
25
+ #let(:error) { StandardError.new('message') }
26
+ #before { allow(error).to receive(:response).and_return(double(body: 'body')) }
27
+ #before { allow_any_instance_of(Metriks::Reporter::Graphite).to receive(:write).and_raise(error) }
28
+
29
+ #before do
30
+ #subject.start
31
+ #sleep 0.1 # ugh.
32
+ #subject.stop
33
+ #end
34
+
35
+ #it { expect(stdout.string).to include 'Graphite error: message (body)' }
36
+ #end
37
+ #end
38
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc1
4
+ version: 2.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis CI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-08 00:00:00.000000000 Z
11
+ date: 2016-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metriks-librato_metrics
@@ -37,6 +37,7 @@ files:
37
37
  - lib/travis/metrics.rb
38
38
  - lib/travis/metrics/reporter/graphite.rb
39
39
  - lib/travis/metrics/reporter/librato.rb
40
+ - lib/travis/metrics/reporter/riemann.rb
40
41
  - lib/travis/metrics/sidekiq.rb
41
42
  - lib/travis/metrics/version.rb
42
43
  - spec/spec_helper.rb
@@ -44,6 +45,7 @@ files:
44
45
  - spec/travis/metrics/instrument_spec.rb
45
46
  - spec/travis/metrics/reporter/graphite_spec.rb
46
47
  - spec/travis/metrics/reporter/librato_spec.rb
48
+ - spec/travis/metrics/reporter/riemann_spec.rb
47
49
  - travis-metrics.gemspec
48
50
  homepage: https://github.com/travis-ci/travis-instrumentation
49
51
  licenses: []