red_cross 0.2.7 → 0.2.8
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,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4ef8509ec9795cffb59a04f51946fb0ce2b7e00
|
4
|
+
data.tar.gz: 73372e2dd188696ef7b24beb4ab01ee791827104
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2caf6c18bd0906f99030f8c32948113d5173a14773594887491a299c4e66ea98b5738203dd9d9725083afb00ecffc337f167b9d0ed3925f8900282a65fa7a58f
|
7
|
+
data.tar.gz: 2d6e8aab563f688228b46a2f995f36aaa7aec7f2b25ca05386c8e8c4466b2debe0cfbbd4dcde2dc9516b4be00c82c3b0f1d5e8d607f54b9980f3b14b2ae0fce0
|
@@ -0,0 +1,65 @@
|
|
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
|
@@ -0,0 +1,15 @@
|
|
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
|
data/lib/red_cross/version.rb
CHANGED
data/lib/red_cross.rb
CHANGED
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.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ronbarab
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: analytics-ruby
|
@@ -115,12 +115,13 @@ 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
|
118
120
|
- lib/red_cross/trackers/base.rb
|
119
121
|
- lib/red_cross/trackers/http_tracker.rb
|
120
122
|
- lib/red_cross/trackers/monitor_tracker.rb
|
121
123
|
- lib/red_cross/trackers/segment_tracker.rb
|
122
124
|
- lib/red_cross/version.rb
|
123
|
-
- lib/resque/plugins/red_cross_async.rb
|
124
125
|
- red_cross.gemspec
|
125
126
|
homepage: https://github.com/YotpoLtd
|
126
127
|
licenses:
|
@@ -1,30 +0,0 @@
|
|
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
|