sidekiq_queue_metrics 0.0.3 → 0.0.4

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
  SHA256:
3
- metadata.gz: 02ff424fdc7f21863eb3d6652d920eba006815a2b955279ed9790c4a8a0e0f80
4
- data.tar.gz: 43de8232e85cf8307ecb71f8707a3486b4fd301ade7a45a43d23bee9e3cccbe0
3
+ metadata.gz: daf0f1ea2f12028ed178c494e10dfd964b698694fe7130eaac119f3bfa3a6d67
4
+ data.tar.gz: e5c478e522f27ac57cccbdb96de47def08eeada6ed8fff075503bf7965e79014
5
5
  SHA512:
6
- metadata.gz: 3275a0ef634bea95ac4c1d22dc9761ad19f3153f95d00955b0fc46e3de10fa1b89d72b65a0bf773f25f84333c8b889d2f967839f4dd4fb0a8e935dca80bd6e2d
7
- data.tar.gz: ff1eb673e5c72739012d95ff5009f8e87be3d172edfad4662ad8ef108a2d8be02b51af291a15a08ae344942e967db66e0a34a319560a30ebe64d5e6375a3dac3
6
+ metadata.gz: 4dd1d9e899a40948311352572bdb055a868f16ccecf17351156b1bc1a8dbf13364f4f70c770871d86d199735310bfc52fbddd2ccd00bbbe052c48c8bc9c6991b
7
+ data.tar.gz: b0986216491cfd4cbaf3e2e5669bc23386550ee354418579301eeef178999c25427d2719e7d647fd9b1d551ea2a833e80bc0c891b3e8ea386abdf1d8d1c3677c
data/README.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # sidekiq_queue_metrics
2
2
  Records stats of each sidekiq queue and exposes APIs to retrieve them
3
3
 
4
+ [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://opensource.org/licenses/MIT)
5
+ [![Gem Version](https://badge.fury.io/rb/sidekiq_queue_metrics.svg)](https://badge.fury.io/rb/sidekiq_queue_metrics)
6
+ ![Gem Downloads](http://ruby-gem-downloads-badge.herokuapp.com/sidekiq_queue_metrics?type=total)
7
+ [![Build Status](https://travis-ci.org/ajitsing/sidekiq_queue_metrics.svg?branch=master)](https://travis-ci.org/ajitsing/sidekiq_queue_metrics)
8
+ [![Twitter Follow](https://img.shields.io/twitter/follow/Ajit5ingh.svg?style=social)](https://twitter.com/Ajit5ingh)
9
+
4
10
  ## Installation
5
11
  Add this line to your application's Gemfile:
6
12
  ```ruby
@@ -17,6 +23,12 @@ end
17
23
  ```
18
24
 
19
25
  ## Usage
26
+ sidekiq_queue_metrics adds a new tab `Queue Metrics` in Sidekiq UI.
27
+
28
+ <img src="https://github.com/ajitsing/ScreenShots/blob/master/sidekiq_queue_metrics/sidekiq_queue_metrics.png"/>
29
+
30
+ You can also use the below apis to directly consume the queue metrics.
31
+
20
32
  Fetch stats of all queues:
21
33
  ```ruby
22
34
  Sidekiq::QueueMetrics.fetch
@@ -1,6 +1,12 @@
1
1
  require 'sidekiq'
2
2
  require 'sidekiq/api'
3
+ require "sidekiq/web"
3
4
  require 'eldritch'
4
5
 
5
6
  project_root = File.dirname(File.absolute_path(__FILE__))
6
7
  Dir.glob(project_root + '/sidekiq_queue_metrics/**/*.rb', &method(:require))
8
+
9
+ if defined?(Sidekiq::Web)
10
+ Sidekiq::Web.register Sidekiq::QueueMetrics::WebExtension
11
+ Sidekiq::Web.tabs['Queue Metrics'] = 'queue_metrics'
12
+ end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module QueueMetrics
3
- VERSION = '0.0.3'
3
+ VERSION = '0.0.4'
4
4
  end
5
5
  end
@@ -0,0 +1,22 @@
1
+ <header class="row">
2
+ <div class="col-sm-10">
3
+ <h3>Queue Metrics</h3>
4
+ </div>
5
+ </header>
6
+
7
+ <% @queue_metrics.each do |queue, metrics| %>
8
+ <table class="table table-striped table-bordered table-white">
9
+ <thead>
10
+ <tr>
11
+ <th><%= queue %></th>
12
+ <th style="width: 150px">Count</th>
13
+ </tr>
14
+ </thead>
15
+ <% metrics.each do |q, count| %>
16
+ <tr>
17
+ <td><%= q %></td>
18
+ <td><%= count %></td>
19
+ </tr>
20
+ <% end %>
21
+ </table>
22
+ <% end %>
@@ -0,0 +1,12 @@
1
+ module Sidekiq::QueueMetrics
2
+ module WebExtension
3
+ def self.registered(app)
4
+ view_path = File.join(File.expand_path("..", __FILE__), "views")
5
+
6
+ app.get "/queue_metrics" do
7
+ @queue_metrics = Sidekiq::QueueMetrics.fetch
8
+ render(:erb, File.read(File.join(view_path, "queue_metrics.erb")))
9
+ end
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_queue_metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ajit Singh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-22 00:00:00.000000000 Z
11
+ date: 2018-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -87,6 +87,8 @@ files:
87
87
  - lib/sidekiq_queue_metrics/queue_metrics.rb
88
88
  - lib/sidekiq_queue_metrics/storage.rb
89
89
  - lib/sidekiq_queue_metrics/version.rb
90
+ - lib/sidekiq_queue_metrics/views/queue_metrics.erb
91
+ - lib/sidekiq_queue_metrics/web_extension.rb
90
92
  - sidekiq_queue_metrics.gemspec
91
93
  - spec/lib/sidekiq_queue_metrics/monitor/job_death_monitor_spec.rb
92
94
  - spec/lib/sidekiq_queue_metrics/monitor/job_success_monitor_spec.rb