collective-metrics 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 79ebcec1414ead81fb3d6b3241f3d16a1c085b5e
4
- data.tar.gz: 9ca77307b6d24013125f0abba2b419a8af196da2
3
+ metadata.gz: 379c0c2d2acab801d80078737558b671ca1dae95
4
+ data.tar.gz: 30738a23f12a71cdd9ae100364158a30843ab82e
5
5
  SHA512:
6
- metadata.gz: e7e947fd6072975eebacc1df3c4633c5c7138826f75f2b44dbddca6e12d3f910bd2fd2ffb8203d1ded1116983119863947e1cbf053e3d5a707e5ec3d18025d64
7
- data.tar.gz: a9b23608d2bdb40e3ff12839113d8a1b90ee5f625fb955b9c6648f24d9bdfc3dd1e679df756505fc5d4a487bca01c528691115140339d6ab024f8890f9df46df
6
+ metadata.gz: 346d61c9ceab426f7da3ecf1240e45b13202ad1884288a792fe0e34f5cff84adde525f063cf4a3986b12f5772e805fbdbe3415c2769e1f1b16d98d72e1f09aff
7
+ data.tar.gz: 721dde8e9e5769c6de1dc8aefce6d64f72cdce8c403daf02ab614ec71e060ff860e706becb4fa91de05539b02319d9c65ffb20d83eab6beb93a220f2be506c5d
data/Gemfile CHANGED
@@ -6,4 +6,5 @@ gemspec
6
6
  group :development do
7
7
  gem 'dalli'
8
8
  gem 'sidekiq'
9
+ gem 'mongoid', '~> 3.0'
9
10
  end
data/README.md CHANGED
@@ -22,6 +22,7 @@ It includes collectors for the following:
22
22
  * Redis
23
23
  * Memcached
24
24
  * RabbitMQ (You need to have the management plugin enabled)
25
+ * MongoDB
25
26
 
26
27
  ## Installation
27
28
 
@@ -39,6 +40,7 @@ Add a Collectfile:
39
40
  use Collective::Collectors::Sidekiq
40
41
  use Collective::Collectors::Redis
41
42
  use Collective::Collectors::RabbitMQ, url: ENV['RABBITMQ_MANAGEMENT_URL']
43
+ use Collective::Collectors::Mongodb, config: File.expand_path('./config/mongoid.yml')
42
44
  ```
43
45
 
44
46
  Start the collectors.
@@ -20,5 +20,11 @@ module Collective
20
20
  def group(*args, &block)
21
21
  Metrics.group(*args, &block)
22
22
  end
23
+
24
+ private
25
+
26
+ def instrumentable?(value)
27
+ Float(value) rescue nil
28
+ end
23
29
  end
24
30
  end
@@ -0,0 +1,28 @@
1
+ module Collective::Collectors
2
+ class Mongodb < Collective::Collector
3
+ requires :mongoid
4
+
5
+ collect do
6
+ db = stats.delete('db')
7
+
8
+ group 'mongodb' do |group|
9
+ stats.each do |metric, value|
10
+ group.instrument metric, value, source: db if instrumentable?(value)
11
+ end
12
+ end
13
+ end
14
+
15
+ private
16
+
17
+ def stats
18
+ session.command(dbStats: 1, scale: 1)
19
+ end
20
+
21
+ def session
22
+ @session ||= begin
23
+ Mongoid.load!(options[:config])
24
+ Mongoid.default_session
25
+ end
26
+ end
27
+ end
28
+ end
@@ -58,10 +58,6 @@ module Collective::Collectors
58
58
  end
59
59
  end
60
60
 
61
- def instrumentable?(value)
62
- Float(value) rescue nil
63
- end
64
-
65
61
  def client
66
62
  @client ||= Faraday.new(url) do |builder|
67
63
  builder.response :json, content_type: /\bjson$/
@@ -1,3 +1,3 @@
1
1
  module Collective
2
- VERSION = '0.1.9'
2
+ VERSION = '0.1.10'
3
3
  end
data/lib/collective.rb CHANGED
@@ -12,6 +12,7 @@ module Collective
12
12
  autoload :Redis, 'collective/collectors/redis'
13
13
  autoload :Memcached, 'collective/collectors/memcached'
14
14
  autoload :RabbitMQ, 'collective/collectors/rabbitmq'
15
+ autoload :Mongodb, 'collective/collectors/mongodb'
15
16
  end
16
17
 
17
18
  class << self
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: collective-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric J. Holmes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rufus-scheduler
@@ -151,6 +151,7 @@ files:
151
151
  - lib/collective/collector.rb
152
152
  - lib/collective/collector/dsl.rb
153
153
  - lib/collective/collectors/memcached.rb
154
+ - lib/collective/collectors/mongodb.rb
154
155
  - lib/collective/collectors/rabbitmq.rb
155
156
  - lib/collective/collectors/redis.rb
156
157
  - lib/collective/collectors/sidekiq.rb