red_cross 0.2.4 → 0.2.5
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 +4 -4
- data/README.md +1 -1
- data/lib/red_cross/trackers/http_tracker.rb +8 -8
- data/lib/red_cross/trackers/monitor_tracker.rb +1 -2
- data/lib/red_cross/version.rb +1 -1
- data/lib/red_cross.rb +1 -0
- data/lib/resque/plugins/red_cross_monitor.rb +30 -0
- metadata +3 -4
- data/lib/red_cross/resque/plugins/red_cross_monitor.rb +0 -65
- data/lib/red_cross/resque/scheduler.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac7909151c96e69e0a1e63fe749754b3bfd23a8d
|
4
|
+
data.tar.gz: 606e950ecbc33ef42b0a4c5c61b5d9c9d852cf6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a822c815d8c19593e844f2e20c9fdf93b75253a19fdc366471cab5fd3fdef0190b23a66d9e60f3ba8335209fbb22011762311e29ba847753f180f07228fdef7
|
7
|
+
data.tar.gz: 6c40830957e91da09b2c818c1f75a82ede946ca7a1bc95a5bc8a62c5b31d167e15db551ccefed09f10a28564d4fc090daa78df2289e23ad6a8fca788d7683b1f
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module RedCross
|
2
2
|
module Trackers
|
3
3
|
class HttpTracker < RedCross::Trackers::Base
|
4
|
-
class
|
4
|
+
class FailedPushingToEventbus < Exception
|
5
5
|
def initialize(code, route, return_code)
|
6
6
|
@code = code
|
7
7
|
@route = route
|
@@ -9,17 +9,17 @@ module RedCross
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def to_s
|
12
|
-
"Failed pushing to
|
12
|
+
"Failed pushing to Eventbus. Error code: #{@code}, route: #{@route} Error: #{@return_code.to_s}"
|
13
13
|
end
|
14
14
|
end
|
15
|
-
attr_accessor :
|
15
|
+
attr_accessor :eventbus_host
|
16
16
|
|
17
17
|
def initialize(host)
|
18
|
-
@
|
18
|
+
@eventbus_host = host
|
19
19
|
end
|
20
20
|
|
21
|
-
def track(attrs, additional_args = {})
|
22
|
-
|
21
|
+
def track(route, attrs, additional_args = {})
|
22
|
+
eventbus_request(@eventbus_host + route, attrs.merge(additional_args), :post)
|
23
23
|
end
|
24
24
|
|
25
25
|
def identify(attrs, additional_args = {})
|
@@ -30,7 +30,7 @@ module RedCross
|
|
30
30
|
{}
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
33
|
+
def eventbus_request(request_url, params, method = :get)
|
34
34
|
request = Typhoeus::Request.new(
|
35
35
|
request_url,
|
36
36
|
method: method,
|
@@ -41,7 +41,7 @@ module RedCross
|
|
41
41
|
if response.success?
|
42
42
|
return true
|
43
43
|
else
|
44
|
-
raise
|
44
|
+
raise FailedPushingToEventbus.new(response.response_code ,request_url, response.return_code)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
request.run
|
@@ -3,8 +3,7 @@ module RedCross
|
|
3
3
|
class MonitorTracker < RedCross::Trackers::Base
|
4
4
|
attr_accessor :client
|
5
5
|
|
6
|
-
def initialize(database = '', host = '', port =
|
7
|
-
[database, host, port].each{ |var| return if !var.is_a?(String) || var.empty? }
|
6
|
+
def initialize(database = 'test', host = 'localhost', port = 8086)
|
8
7
|
@client = InfluxDB::Client.new database,
|
9
8
|
host: host,
|
10
9
|
port: port,
|
data/lib/red_cross/version.rb
CHANGED
data/lib/red_cross.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
module Resque
|
2
|
+
module Plugins
|
3
|
+
module RedCrossAsync
|
4
|
+
# Hash of properties for RedCross.monitor
|
5
|
+
# Please add count: MY_NUMBER in case your metric value differs 1
|
6
|
+
def properties(*args)
|
7
|
+
{}
|
8
|
+
end
|
9
|
+
|
10
|
+
def after_perform_actions(*args)
|
11
|
+
RedCross.flush
|
12
|
+
send_metrics('performed', *args)
|
13
|
+
end
|
14
|
+
|
15
|
+
def before_perform_send_monitor_data(*args)
|
16
|
+
send_metrics('before_perform', *args)
|
17
|
+
end
|
18
|
+
|
19
|
+
def on_failure_send_monitor_data(e, *args)
|
20
|
+
send_metrics('failed', *args)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def send_metrics(event_type, *args)
|
26
|
+
RedCross.monitor_track(event: 'resque_job_' + event_type, properties: { class: self.name }.merge(properties(*args)))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: red_cross
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ronbarab
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: analytics-ruby
|
@@ -115,13 +115,12 @@ files:
|
|
115
115
|
- lib/red_cross.rb
|
116
116
|
- lib/red_cross/configuration.rb
|
117
117
|
- lib/red_cross/logger.rb
|
118
|
-
- lib/red_cross/resque/plugins/red_cross_monitor.rb
|
119
|
-
- lib/red_cross/resque/scheduler.rb
|
120
118
|
- lib/red_cross/trackers/base.rb
|
121
119
|
- lib/red_cross/trackers/http_tracker.rb
|
122
120
|
- lib/red_cross/trackers/monitor_tracker.rb
|
123
121
|
- lib/red_cross/trackers/segment_tracker.rb
|
124
122
|
- lib/red_cross/version.rb
|
123
|
+
- lib/resque/plugins/red_cross_monitor.rb
|
125
124
|
- red_cross.gemspec
|
126
125
|
homepage: https://github.com/YotpoLtd
|
127
126
|
licenses:
|
@@ -1,65 +0,0 @@
|
|
1
|
-
module Resque
|
2
|
-
module Plugins
|
3
|
-
module RedCrossMonitor
|
4
|
-
# Hash of properties for RedCross.monitor
|
5
|
-
# Please add count: MY_NUMBER in case your metric value differs 1
|
6
|
-
def job_method(*args)
|
7
|
-
#Add the method that triggered by the job
|
8
|
-
'no_job_method'
|
9
|
-
end
|
10
|
-
|
11
|
-
def before_schedule_send_monitor_data(*args)
|
12
|
-
send_metrics('before_schedule', *args)
|
13
|
-
end
|
14
|
-
|
15
|
-
def after_schedule_send_monitor_data(*args)
|
16
|
-
send_metrics('after_schedule', *args)
|
17
|
-
end
|
18
|
-
|
19
|
-
def before_delayed_enqueue_send_monitor_data(*args)
|
20
|
-
send_metrics('before_delayed_enqueue', *args)
|
21
|
-
end
|
22
|
-
|
23
|
-
def before_enqueue_send_monitor_data(*args)
|
24
|
-
send_metrics('before_enqueue', *args)
|
25
|
-
end
|
26
|
-
|
27
|
-
def after_enqueue_send_monitor_data(*args)
|
28
|
-
send_metrics('after_enqueue', *args)
|
29
|
-
end
|
30
|
-
|
31
|
-
def before_perform_send_monitor_data(*args)
|
32
|
-
@job_start_time = Time.now()
|
33
|
-
send_metrics('before_perform', *args)
|
34
|
-
end
|
35
|
-
|
36
|
-
def after_perform_actions(*args)
|
37
|
-
::RedCross.flush
|
38
|
-
@job_end_time = Time.now()
|
39
|
-
send_metrics('performed', *args)
|
40
|
-
end
|
41
|
-
|
42
|
-
def on_failure_send_monitor_data(e, *args)
|
43
|
-
@job_end_time = Time.now()
|
44
|
-
send_metrics('failed', *args)
|
45
|
-
end
|
46
|
-
|
47
|
-
def default_event_properties(*args)
|
48
|
-
@event_properties ||= { fields: { } }
|
49
|
-
@event_properties[:class] ||= self.name
|
50
|
-
event_job_method = @event_properties[:event_method].nil? ? job_method(*args) : @event_properties[:event_method]
|
51
|
-
if (!event_job_method.nil? && ([String, Integer, Symbol].include? event_job_method.class))
|
52
|
-
@event_properties[:event_method] = event_job_method
|
53
|
-
else
|
54
|
-
@event_properties[:event_method] = 'no_valid_job_method'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def send_metrics(job_status, *args)
|
59
|
-
default_event_properties(*args)
|
60
|
-
@event_properties[:fields][:run_time] = ((@job_end_time - @job_start_time)*1000).to_i if %w(performed failed).include? job_status
|
61
|
-
::RedCross.monitor_track(event: 'resque', properties: @event_properties.merge({ job_status: job_status }))
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Resque
|
2
|
-
module Scheduler
|
3
|
-
module DelayingExtensions
|
4
|
-
alias default_last_enqueued_at last_enqueued_at
|
5
|
-
def last_enqueued_at(name, timestemp)
|
6
|
-
properties = {
|
7
|
-
task_name: name,
|
8
|
-
status: 'enqueued'
|
9
|
-
}
|
10
|
-
RedCross.monitor_track(event: 'resque_scheduler', properties: properties)
|
11
|
-
default_last_enqueued_at(name, timestemp)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|