heroku_mongo_watcher 0.2.2.beta → 0.2.3.beta
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.
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'heroku_mongo_watcher'
|
1
2
|
require 'heroku_mongo_watcher/configuration'
|
2
3
|
require 'heroku_mongo_watcher/data_row'
|
3
4
|
require 'trollop'
|
@@ -120,10 +121,10 @@ class HerokuMongoWatcher::CLI
|
|
120
121
|
|
121
122
|
def self.check_and_notify_response_time
|
122
123
|
return unless @current_row.total_requests > 200
|
123
|
-
if @current_row.average_response_time > 10_000 || @current_row.error_rate >
|
124
|
+
if @current_row.average_response_time > 10_000 || @current_row.error_rate > 4
|
124
125
|
notify "[SEVERE WARNING] Application not healthy | [#{@current_row.total_requests} rpm,#{@current_row.average_response_time} art]" unless @art_critical_notified
|
125
126
|
@art_critical_notified = true
|
126
|
-
elsif @current_row.average_response_time > 500 || @current_row.error_rate >
|
127
|
+
elsif @current_row.average_response_time > 500 || @current_row.error_rate > 1 || @current_row.total_requests > 30_000
|
127
128
|
notify "[WARNING] Application heating up | [#{@current_row.total_requests} rpm,#{@current_row.average_response_time} art]" unless @art_warning_notified
|
128
129
|
@art_warning_notified = true
|
129
130
|
elsif @current_row.average_response_time < 300 && @current_row.total_requests < 25_000
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'term/ansicolor'
|
2
|
+
require 'heroku_mongo_watcher'
|
2
3
|
require 'heroku_mongo_watcher/configuration'
|
3
4
|
class HerokuMongoWatcher::DataRow
|
4
5
|
|
@@ -37,7 +38,7 @@ class HerokuMongoWatcher::DataRow
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def error_rate
|
40
|
-
total_requests > 0 ? (((total_web_errors + total_router_errors)*(1.0)) / total_requests).round(2) : 'N/A'
|
41
|
+
total_requests > 0 ? ((((total_web_errors + total_router_errors)*(1.0)) / total_requests)* 100).round(2) : 'N/A'
|
41
42
|
end
|
42
43
|
|
43
44
|
def process_heroku_router_line(line)
|
@@ -145,7 +146,7 @@ class HerokuMongoWatcher::DataRow
|
|
145
146
|
color_print @max_service, warning: 20_000
|
146
147
|
color_print @total_router_errors, warning: 1
|
147
148
|
color_print @total_web_errors, warning: 1
|
148
|
-
color_print error_rate, warning:
|
149
|
+
color_print error_rate, warning: 1, critical: 3, percent: true
|
149
150
|
color_print average_wait, warning: 10, critical: 100
|
150
151
|
color_print average_queue, warning: 10, critical: 100
|
151
152
|
color_print @slowest_request, length: 28, slice: 25
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku_mongo_watcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3.beta
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-07-24 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: term-ansicolor
|
16
|
-
requirement: &
|
16
|
+
requirement: &2158070480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2158070480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: tlsmail
|
27
|
-
requirement: &
|
27
|
+
requirement: &2158069020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2158069020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: heroku
|
38
|
-
requirement: &
|
38
|
+
requirement: &2158068300 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2158068300
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: trollop
|
49
|
-
requirement: &
|
49
|
+
requirement: &2158067500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2158067500
|
58
58
|
description: Also notifies you when certain thresholds are hit. I have found this
|
59
59
|
much more accurate than New Relic
|
60
60
|
email:
|