sidekiq-job-stats 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +8 -1
- data/examples/1.png +0 -0
- data/examples/main.png +0 -0
- data/lib/sidekiq_job_stats/history.rb +2 -2
- data/lib/sidekiq_job_stats/statistic.rb +4 -0
- data/lib/sidekiq_job_stats/version.rb +1 -1
- data/lib/sidekiq_job_stats/web_extension.rb +2 -4
- data/lib/sidekiq_job_stats.rb +5 -5
- data/lib/web/views/job_histories.erb +2 -2
- data/lib/web/views/job_stats.erb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba3ca2f5a5fbb009d7998c4a5524f1e392d3efa5ed6a954973e27a9f957b9797
|
4
|
+
data.tar.gz: 04d71dcdb1b0a6ccaa0e14ae5bd110b2ea2310002045dbd712bbeadb66462d7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d061774049fc6fa164211fe9a5b56fc2986f9e5167a38631f83c11f870f4d6a876bfc0de964c0d25b67e9b16d255b216b98c4533981ed449564093200dbe25f8
|
7
|
+
data.tar.gz: 58830a7f4304614adf938d17c966e803b7319b504d3c5e8c83ee2ce0efca6f41bd7b8ae474e87f3220a226386eabced60c03aebff6e3d563d10b7f1f0e212195
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
# Sidekiq::Job::Stats
|
2
|
+
Sidekiq Job Stats is a gem that provides functionality to track and monitor job statistics in Sidekiq, inspired by the functionality provided by the "resque-job-stats" gem.
|
3
|
+
|
2
4
|
|
3
5
|
## Installation
|
4
6
|
|
@@ -8,4 +10,9 @@ In your Gemfile add:
|
|
8
10
|
|
9
11
|
```ruby
|
10
12
|
gem 'sidekiq-job-stats'
|
11
|
-
```
|
13
|
+
```
|
14
|
+
|
15
|
+
<img src="https://github.com/sliusar-ihor/sidekiq-job-stats/blob/main/examples/main.png" style="max-width: 100%;">
|
16
|
+
<img src="https://github.com/sliusar-ihor/sidekiq-job-stats/blob/main/examples/1.png" style="max-width: 100%;">
|
17
|
+
|
18
|
+
|
data/examples/1.png
ADDED
Binary file
|
data/examples/main.png
ADDED
Binary file
|
@@ -33,11 +33,11 @@ module SidekiqJobStats
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def push_history(job_data)
|
36
|
-
return if Sidekiq.
|
36
|
+
return if Sidekiq.job_stats_max_count.zero?
|
37
37
|
|
38
38
|
Sidekiq.redis do |conn|
|
39
39
|
conn.lpush(job_history_key, job_data.to_json)
|
40
|
-
conn.ltrim(job_history_key, 0, Sidekiq.
|
40
|
+
conn.ltrim(job_history_key, 0, Sidekiq.job_stats_max_count)
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
@@ -34,6 +34,10 @@ module SidekiqJobStats
|
|
34
34
|
self.job_class = job_class
|
35
35
|
end
|
36
36
|
|
37
|
+
def <=>(other)
|
38
|
+
self.name <=> other.name
|
39
|
+
end
|
40
|
+
|
37
41
|
%w[duration memory_usage history enqueued].each do |method_name|
|
38
42
|
define_method(method_name) do
|
39
43
|
instance_variable_get("@#{method_name}") ||
|
@@ -9,15 +9,13 @@ module SidekiqJobStats
|
|
9
9
|
def self.registered(app)
|
10
10
|
app.helpers Helpers::Stats
|
11
11
|
|
12
|
-
app.get '/
|
13
|
-
ApplicantScoringWorker #todo
|
12
|
+
app.get '/job_stats' do
|
14
13
|
@jobs = SidekiqJobStats::Statistic.find_all.sort
|
15
14
|
|
16
15
|
render(:erb, File.read("#{ROOT}/views/job_stats.erb"))
|
17
16
|
end
|
18
17
|
|
19
|
-
app.get '/
|
20
|
-
ApplicantScoringWorker #todo
|
18
|
+
app.get '/job_stats/job_history/:job_class' do
|
21
19
|
@job_class = SidekiqJobStats::Statistic.find_all.find { |j| j.job_class.to_s == params[:job_class] }
|
22
20
|
|
23
21
|
@start = 0
|
data/lib/sidekiq_job_stats.rb
CHANGED
@@ -10,14 +10,14 @@ require_relative "sidekiq_job_stats/history"
|
|
10
10
|
require 'sidekiq/web'
|
11
11
|
|
12
12
|
module Sidekiq
|
13
|
-
def self.
|
14
|
-
@
|
13
|
+
def self.job_stats_max_count=(value)
|
14
|
+
@job_stats_max_count = value
|
15
15
|
end
|
16
16
|
|
17
|
-
def self.
|
18
|
-
@
|
17
|
+
def self.job_stats_max_count
|
18
|
+
@job_stats_max_count || 1000
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
22
|
Sidekiq::Web.register(SidekiqJobStats::WebExtension)
|
23
|
-
Sidekiq::Web.tabs['
|
23
|
+
Sidekiq::Web.tabs['Job stats'] = 'job_stats'
|
@@ -33,10 +33,10 @@
|
|
33
33
|
<%if @start > 0 || @start + @limit <= @size %>
|
34
34
|
<p class='pagination'>
|
35
35
|
<% if @start - @limit >= 0 %>
|
36
|
-
<a href="<%=
|
36
|
+
<a href="/sidekiq<%= request.path_info %>?start=<%= [0, @start - @limit].max %>&limit=<%= @limit %>" class='less'>« less</a>
|
37
37
|
<% end %>
|
38
38
|
<% if @start + @limit <= @size %>
|
39
|
-
<a href="<%=
|
39
|
+
<a href="/sidekiq<%= request.path_info %>?start=<%= @start + @limit %>&limit=<%= @limit %>" class='more'>more »</a>
|
40
40
|
<% end %>
|
41
41
|
</p>
|
42
42
|
<%end%>
|
data/lib/web/views/job_stats.erb
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
<tr>
|
29
29
|
<td>
|
30
30
|
<%= job.name %>
|
31
|
-
<a href='<%= "/sidekiq/
|
31
|
+
<a href='<%= "/sidekiq/job_stats/job_history/#{job.name}" %>'>[history]</a>
|
32
32
|
</td>
|
33
33
|
<%= display_stat(job, :jobs_enqueued, :number_display) %>
|
34
34
|
<%= display_stat(job, :jobs_performed_day, :number_display) %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-job-stats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- isliusar
|
@@ -52,6 +52,8 @@ files:
|
|
52
52
|
- LICENSE.txt
|
53
53
|
- README.md
|
54
54
|
- Rakefile
|
55
|
+
- examples/1.png
|
56
|
+
- examples/main.png
|
55
57
|
- lib/sidekiq_job_stats.rb
|
56
58
|
- lib/sidekiq_job_stats/duration.rb
|
57
59
|
- lib/sidekiq_job_stats/enqueued.rb
|