passenger_datadog 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDM4ZTU1OWU5MDNjMmI2YTcxNGE5OWU1YjVlMzU3YTdkZDg5YThjZg==
5
- data.tar.gz: !binary |-
6
- NDk0ZDhiMTc3YzU0YmNjNWEzZGQ5ZWI2MTI0NTRjZjg3OWJkODFkZQ==
2
+ SHA1:
3
+ metadata.gz: 8ebcdb70d77fe46e3f3976f75285406d71acec62
4
+ data.tar.gz: 5158eb6481792eaeaa9932958213fdffe406fe11
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MzJhNDFlZjJiOTc3ZWZiZmQ2OGVhODBiMDBhNjc0YThlNmJkZmRkNTBmYjc2
10
- NjQyZGI0ZjQyNDI0MTRjNDRkMTg0ZjRkZDFlYjg2MDY4ZjU1ODFlMmI0MDA2
11
- ZjkyZjRkY2RmOWVhMjVhMmVlMjNhNGViNzlmNGJiN2YzNTIwMGM=
12
- data.tar.gz: !binary |-
13
- MGUxOGFiNjhiODBlYTgyNDBkMGNhMmM4OGZkYmMwMTA5ZWZjMmFmMmRkODMx
14
- N2MxNDkxNjA5MDAyYWVmNWU2ZGM4MzU2NDJhNjcxNzg1OTNlNjJiZGM3MTJj
15
- ZGE1ZDlhOTA5ZTI2MGY4MzljYTI5MDgyMWZlOGQ0MzM1ODY5YzI=
6
+ metadata.gz: 68e52f68e05cf76db97b2c45a0bd03e2c524e8daa093eebdbb551ed028ebab854a2d6571d8c4015ddedac8d4288a56e4cc4cec358fd407576ab9d9eafd7ead3e
7
+ data.tar.gz: ee12b91958a59e4c821c0195b586adde46152282db03b66324267e163aaf0e10bfc33d5c3382bb8f14933d25cddca51e9ee162db73276e1230e4e262e316105c
data/README.md CHANGED
@@ -1,3 +1,8 @@
1
+ [![Gem Version](https://badge.fury.io/rb/passenger_datadog.svg)](https://badge.fury.io/rb/passenger_datadog)
2
+ [![Build Status](https://travis-ci.org/manheim/passenger-datadog.svg?branch=master)](https://travis-ci.org/manheim/passenger-datadog)
3
+ [![Code Climate](https://codeclimate.com/github/manheim/passenger-datadog/badges/gpa.svg)](https://codeclimate.com/github/manheim/passenger-datadog)
4
+ [![License](http://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+
1
6
  # passenger-datadog
2
7
 
3
8
  Inspired by [passengeri-datadog-monitor](https://github.com/Sjeanpierre/passenger-datadog-monitor)
@@ -17,6 +22,9 @@ in Passenger, make sure that same version of Passenger is installed for both use
17
22
  ```
18
23
  $ gem install passenger_datadog
19
24
  ```
25
+ ## Support
26
+ 1.x Ruby >= 2.2
27
+ 0.x Ruby < 2.2
20
28
 
21
29
  ## Usage
22
30
 
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: UTF-8
2
+ # frozen_string_literal: true
3
+
3
4
  $LOAD_PATH.unshift(File.dirname(File.expand_path(__FILE__)) + '/../lib')
4
5
  require 'daemons'
5
6
  require 'passenger_datadog'
6
7
 
7
- Daemons.run_proc('passenger-datadog', :dir_mode => :system) do
8
+ Daemons.run_proc('passenger-datadog', dir_mode: :system) do
8
9
  loop do
9
10
  PassengerDatadog.run
10
11
  sleep(30)
@@ -1,17 +1,20 @@
1
- # encoding: UTF-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'nokogiri'
3
- require 'statsd'
4
+ require 'datadog/statsd'
4
5
 
5
6
  class PassengerDatadog
6
- GROUP_STATS = %w(capacity_used processes_being_spawned enabled_process_count disabling_process_count disabled_process_count).freeze
7
- PROCESS_STATS = %w(processed sessions busyness concurrency cpu rss private_dirty pss swap real_memory vmsize).freeze
7
+ GROUP_STATS = %w[capacity_used processes_being_spawned enabled_process_count
8
+ disabling_process_count disabled_process_count].freeze
9
+ PROCESS_STATS = %w[processed sessions busyness concurrency cpu rss
10
+ private_dirty pss swap real_memory vmsize].freeze
8
11
 
9
12
  class << self
10
13
  def run
11
14
  status = `passenger-status --show=xml`
12
15
  return if status.empty?
13
16
 
14
- statsd = Statsd.new
17
+ statsd = Datadog::Statsd.new
15
18
 
16
19
  statsd.batch do |s|
17
20
  # Good job Passenger 4.0.10. Return non xml in your xml output.
@@ -29,13 +32,17 @@ class PassengerDatadog
29
32
 
30
33
  parsed.xpath('//supergroups/supergroup/group').each do |group|
31
34
  GROUP_STATS.each do |stat|
32
- s.gauge("passenger.#{stat}", group.xpath(stat).text)
35
+ value = group.xpath(stat).text
36
+ next if value.empty?
37
+ s.gauge("passenger.#{stat}", value)
33
38
  end
34
39
  end
35
40
 
36
41
  parsed.xpath('//supergroups/supergroup/group/processes/process').each_with_index do |process, index|
37
42
  PROCESS_STATS.each do |stat|
38
- s.gauge("passenger.#{stat}", process.xpath(stat).text, :tags => ["passenger-process:#{index}"])
43
+ value = process.xpath(stat).text
44
+ next if value.empty?
45
+ s.gauge("passenger.#{stat}", value, tags: ["passenger-process:#{index}"])
39
46
  end
40
47
  end
41
48
  end
metadata CHANGED
@@ -1,136 +1,126 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger_datadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Rosenblum
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-23 00:00:00.000000000 Z
11
+ date: 2018-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dogstatsd-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.5'
33
+ version: 2.0.0
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: 4.0.0
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - ~>
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
- version: '1.5'
43
+ version: 2.0.0
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: 4.0.0
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: nokogiri
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - <=
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 1.5.11
53
+ version: '1.0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - <=
58
+ - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: 1.5.11
60
+ version: '1.0'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: passenger
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ! '>='
65
+ - - ">="
60
66
  - !ruby/object:Gem::Version
61
67
  version: 4.0.0
62
- - - <=
68
+ - - "<="
63
69
  - !ruby/object:Gem::Version
64
70
  version: 6.0.0
65
71
  type: :runtime
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
68
74
  requirements:
69
- - - ! '>='
75
+ - - ">="
70
76
  - !ruby/object:Gem::Version
71
77
  version: 4.0.0
72
- - - <=
78
+ - - "<="
73
79
  - !ruby/object:Gem::Version
74
80
  version: 6.0.0
75
- - !ruby/object:Gem::Dependency
76
- name: bundler
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ~>
80
- - !ruby/object:Gem::Version
81
- version: '1.3'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ~>
87
- - !ruby/object:Gem::Version
88
- version: '1.3'
89
81
  - !ruby/object:Gem::Dependency
90
82
  name: rake
91
83
  requirement: !ruby/object:Gem::Requirement
92
84
  requirements:
93
- - - ~>
85
+ - - "~>"
94
86
  - !ruby/object:Gem::Version
95
87
  version: '10.1'
96
88
  type: :development
97
89
  prerelease: false
98
90
  version_requirements: !ruby/object:Gem::Requirement
99
91
  requirements:
100
- - - ~>
92
+ - - "~>"
101
93
  - !ruby/object:Gem::Version
102
94
  version: '10.1'
103
95
  - !ruby/object:Gem::Dependency
104
96
  name: rspec
105
97
  requirement: !ruby/object:Gem::Requirement
106
98
  requirements:
107
- - - ~>
99
+ - - "~>"
108
100
  - !ruby/object:Gem::Version
109
101
  version: '3.3'
110
102
  type: :development
111
103
  prerelease: false
112
104
  version_requirements: !ruby/object:Gem::Requirement
113
105
  requirements:
114
- - - ~>
106
+ - - "~>"
115
107
  - !ruby/object:Gem::Version
116
108
  version: '3.3'
117
109
  - !ruby/object:Gem::Dependency
118
110
  name: rubocop
119
111
  requirement: !ruby/object:Gem::Requirement
120
112
  requirements:
121
- - - ~>
113
+ - - "~>"
122
114
  - !ruby/object:Gem::Version
123
- version: 0.34.2
115
+ version: 0.52.0
124
116
  type: :development
125
117
  prerelease: false
126
118
  version_requirements: !ruby/object:Gem::Requirement
127
119
  requirements:
128
- - - ~>
120
+ - - "~>"
129
121
  - !ruby/object:Gem::Version
130
- version: 0.34.2
131
- description: ! ' A tool for sending Passenger stats to Datadog.
132
-
133
- '
122
+ version: 0.52.0
123
+ description: " A tool for sending Passenger stats to Datadog.\n"
134
124
  email: passenger_datadog@manheim.com
135
125
  executables:
136
126
  - passenger-datadog
@@ -153,19 +143,18 @@ require_paths:
153
143
  - lib
154
144
  required_ruby_version: !ruby/object:Gem::Requirement
155
145
  requirements:
156
- - - ! '>='
146
+ - - ">="
157
147
  - !ruby/object:Gem::Version
158
- version: 1.8.7
148
+ version: 2.2.0
159
149
  required_rubygems_version: !ruby/object:Gem::Requirement
160
150
  requirements:
161
- - - ! '>='
151
+ - - ">="
162
152
  - !ruby/object:Gem::Version
163
153
  version: '0'
164
154
  requirements: []
165
155
  rubyforge_project:
166
- rubygems_version: 2.4.6
156
+ rubygems_version: 2.6.13
167
157
  signing_key:
168
158
  specification_version: 4
169
159
  summary: A tool for sending Passenger stats to Datadog
170
160
  test_files: []
171
- has_rdoc: