passenger_datadog 0.2.1 → 1.0.0

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,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: