summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatricio Cano <patricio@gitlab.com>2016-06-14 16:46:53 +0000
committerPatricio Cano <patricio@gitlab.com>2016-06-14 16:46:53 +0000
commit6023dc356a421462a1d00333b5893116e64cfd33 (patch)
tree524fc0fec9da539e19d77950c2ac213607e3a464
parent06e0ef07bcb92925e6819cbe1e33cdcf645b736b (diff)
downloadgitlab-ce-revert-06e0ef07.tar.gz
Revert "Added API endpoint for Sidekiq Metrics"revert-06e0ef07
This reverts commit 06e0ef07bcb92925e6819cbe1e33cdcf645b736b
-rw-r--r--doc/api/README.md1
-rw-r--r--doc/api/sidekiq_metrics.md152
-rw-r--r--lib/api/api.rb1
-rw-r--r--lib/api/sidekiq_metrics.rb90
-rw-r--r--spec/requests/api/sidekiq_metrics_spec.rb40
5 files changed, 0 insertions, 284 deletions
diff --git a/doc/api/README.md b/doc/api/README.md
index 6042ef7637c..e3fc5a09f21 100644
--- a/doc/api/README.md
+++ b/doc/api/README.md
@@ -31,7 +31,6 @@ following locations:
- [Services](services.md)
- [Session](session.md)
- [Settings](settings.md)
-- [Sidekiq Metrics](sidekiq_metrics.md)
- [System Hooks](system_hooks.md)
- [Tags](tags.md)
- [Users](users.md)
diff --git a/doc/api/sidekiq_metrics.md b/doc/api/sidekiq_metrics.md
deleted file mode 100644
index de627c1a969..00000000000
--- a/doc/api/sidekiq_metrics.md
+++ /dev/null
@@ -1,152 +0,0 @@
-# Sidekiq Metrics
-
->**Note:** This endpoint is only available on GitLab 8.9 and above.
-
-This API endpoint allows you to retrieve some information about the current state
-of Sidekiq, it's jobs, queues, and processes.
-
-## Get the current Queue Metrics
-
-List information about all the registered queues, their backlog and their
-latency.
-
-```
-GET /sidekiq/queue_metrics
-```
-
-```bash
-curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/sidekiq/queue_metrics
-```
-
-Example response:
-
-```json
-{
- "queues": {
- "default": {
- "backlog": 0,
- "latency": 0
- }
- }
-}
-```
-
-## Get the current Process Metrics
-
-List information about all the Sidekiq workers registered to process your queues.
-
-```
-GET /sidekiq/process_metrics
-```
-
-```bash
-curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/sidekiq/process_metrics
-```
-
-Example response:
-
-```json
-{
- "processes": [
- {
- "hostname": "local.host",
- "pid": 5649,
- "tag": "gitlab",
- "started_at": "2016-06-14T10:45:07.159-05:00",
- "queues": [
- "post_receive",
- "mailers",
- "archive_repo",
- "system_hook",
- "project_web_hook",
- "gitlab_shell",
- "incoming_email",
- "runner",
- "common",
- "default"
- ],
- "labels": [],
- "concurrency": 25,
- "busy": 0
- }
- ]
-}
-```
-
-## Get the current Job Statistics
-
-List information about the jobs that Sidekiq has performed.
-
-```
-GET /sidekiq/job_stats
-```
-
-```bash
-curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/sidekiq/job_stats
-```
-
-Example response:
-
-```json
-{
- "jobs": {
- "processed": 2,
- "failed": 0,
- "enqueued": 0
- }
-}
-```
-
-## Get a compound response of all the previously mentioned metrics
-
-List all the currently available information about Sidekiq.
-
-```
-GET /sidekiq/compound_metrics
-```
-
-```bash
-curl -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/sidekiq/compound_metrics
-```
-
-Example response:
-
-```json
-{
- "queues": {
- "default": {
- "backlog": 0,
- "latency": 0
- }
- },
- "processes": [
- {
- "hostname": "local.host",
- "pid": 5649,
- "tag": "gitlab",
- "started_at": "2016-06-14T10:45:07.159-05:00",
- "queues": [
- "post_receive",
- "mailers",
- "archive_repo",
- "system_hook",
- "project_web_hook",
- "gitlab_shell",
- "incoming_email",
- "runner",
- "common",
- "default"
- ],
- "labels": [],
- "concurrency": 25,
- "busy": 0
- }
- ],
- "jobs": {
- "processed": 2,
- "failed": 0,
- "enqueued": 0
- }
-}
-```
-
diff --git a/lib/api/api.rb b/lib/api/api.rb
index 51ddd0dbfc4..6cd909f6115 100644
--- a/lib/api/api.rb
+++ b/lib/api/api.rb
@@ -59,6 +59,5 @@ module API
mount ::API::Licenses
mount ::API::Subscriptions
mount ::API::Gitignores
- mount ::API::SidekiqMetrics
end
end
diff --git a/lib/api/sidekiq_metrics.rb b/lib/api/sidekiq_metrics.rb
deleted file mode 100644
index f99cdb7a948..00000000000
--- a/lib/api/sidekiq_metrics.rb
+++ /dev/null
@@ -1,90 +0,0 @@
-require 'sidekiq/api'
-
-module API
- class SidekiqMetrics < Grape::API
- before { authenticated_as_admin! }
-
- helpers do
- def queue_metrics
- Sidekiq::Queue.all.each_with_object({}) do |queue, hash|
- hash[queue.name] = {
- backlog: queue.size,
- latency: queue.latency.to_i
- }
- end
- end
-
- def process_metrics
- Sidekiq::ProcessSet.new.map do |process|
- {
- hostname: process['hostname'],
- pid: process['pid'],
- tag: process['tag'],
- started_at: Time.at(process['started_at']),
- queues: process['queues'],
- labels: process['labels'],
- concurrency: process['concurrency'],
- busy: process['busy']
- }
- end
- end
-
- def job_stats
- stats = Sidekiq::Stats.new
- {
- processed: stats.processed,
- failed: stats.failed,
- enqueued: stats.enqueued
- }
- end
- end
-
- # Get Sidekiq Queue metrics
- #
- # Parameters:
- # None
- #
- # Example:
- # GET /sidekiq/queue_metrics
- #
- get 'sidekiq/queue_metrics' do
- { queues: queue_metrics }
- end
-
- # Get Sidekiq Process metrics
- #
- # Parameters:
- # None
- #
- # Example:
- # GET /sidekiq/process_metrics
- #
- get 'sidekiq/process_metrics' do
- { processes: process_metrics }
- end
-
- # Get Sidekiq Job statistics
- #
- # Parameters:
- # None
- #
- # Example:
- # GET /sidekiq/job_stats
- #
- get 'sidekiq/job_stats' do
- { jobs: job_stats }
- end
-
- # Get Sidekiq Compound metrics. Includes all previous metrics
- #
- # Parameters:
- # None
- #
- # Example:
- # GET /sidekiq/compound_metrics
- #
- get 'sidekiq/compound_metrics' do
- { queues: queue_metrics, processes: process_metrics, jobs: job_stats }
- end
- end
-end \ No newline at end of file
diff --git a/spec/requests/api/sidekiq_metrics_spec.rb b/spec/requests/api/sidekiq_metrics_spec.rb
deleted file mode 100644
index e65890167bb..00000000000
--- a/spec/requests/api/sidekiq_metrics_spec.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-require 'spec_helper'
-
-describe API::SidekiqMetrics, api: true do
- include ApiHelpers
-
- let(:admin) { create(:user, :admin) }
-
- describe 'GET sidekiq/*' do
- it 'defines the `queue_metrics` endpoint' do
- get api('/sidekiq/queue_metrics', admin)
-
- expect(response.status).to eq(200)
- expect(json_response).to be_a Hash
- end
-
- it 'defines the `process_metrics` endpoint' do
- get api('/sidekiq/process_metrics', admin)
-
- expect(response.status).to eq(200)
- expect(json_response['processes']).to be_an Array
- end
-
- it 'defines the `job_stats` endpoint' do
- get api('/sidekiq/job_stats', admin)
-
- expect(response.status).to eq(200)
- expect(json_response).to be_a Hash
- end
-
- it 'defines the `compound_metrics` endpoint' do
- get api('/sidekiq/compound_metrics', admin)
-
- expect(response.status).to eq(200)
- expect(json_response).to be_a Hash
- expect(json_response['queues']).to be_a Hash
- expect(json_response['processes']).to be_an Array
- expect(json_response['jobs']).to be_a Hash
- end
- end
-end \ No newline at end of file