aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go')
-rw-r--r--vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go154
1 files changed, 0 insertions, 154 deletions
diff --git a/vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go b/vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go
deleted file mode 100644
index 83e7702..0000000
--- a/vendor/github.com/xanzy/go-gitlab/sidekiq_metrics.go
+++ /dev/null
@@ -1,154 +0,0 @@
-//
-// Copyright 2018, Sander van Harmelen
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-package gitlab
-
-import "time"
-
-// SidekiqService handles communication with the sidekiq service
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/sidekiq_metrics.html
-type SidekiqService struct {
- client *Client
-}
-
-// QueueMetrics represents the GitLab sidekiq queue metrics.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-queue-metrics
-type QueueMetrics struct {
- Queues map[string]struct {
- Backlog int `json:"backlog"`
- Latency int `json:"latency"`
- } `json:"queues"`
-}
-
-// GetQueueMetrics lists information about all the registered queues,
-// their backlog and their latency.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-queue-metrics
-func (s *SidekiqService) GetQueueMetrics(options ...OptionFunc) (*QueueMetrics, *Response, error) {
- req, err := s.client.NewRequest("GET", "/sidekiq/queue_metrics", nil, options)
- if err != nil {
- return nil, nil, err
- }
-
- q := new(QueueMetrics)
- resp, err := s.client.Do(req, q)
- if err != nil {
- return nil, resp, err
- }
-
- return q, resp, err
-}
-
-// ProcessMetrics represents the GitLab sidekiq process metrics.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-process-metrics
-type ProcessMetrics struct {
- Processes []struct {
- Hostname string `json:"hostname"`
- Pid int `json:"pid"`
- Tag string `json:"tag"`
- StartedAt *time.Time `json:"started_at"`
- Queues []string `json:"queues"`
- Labels []string `json:"labels"`
- Concurrency int `json:"concurrency"`
- Busy int `json:"busy"`
- } `json:"processes"`
-}
-
-// GetProcessMetrics lists information about all the Sidekiq workers registered
-// to process your queues.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-process-metrics
-func (s *SidekiqService) GetProcessMetrics(options ...OptionFunc) (*ProcessMetrics, *Response, error) {
- req, err := s.client.NewRequest("GET", "/sidekiq/process_metrics", nil, options)
- if err != nil {
- return nil, nil, err
- }
-
- p := new(ProcessMetrics)
- resp, err := s.client.Do(req, p)
- if err != nil {
- return nil, resp, err
- }
-
- return p, resp, err
-}
-
-// JobStats represents the GitLab sidekiq job stats.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-job-statistics
-type JobStats struct {
- Jobs struct {
- Processed int `json:"processed"`
- Failed int `json:"failed"`
- Enqueued int `json:"enqueued"`
- } `json:"jobs"`
-}
-
-// GetJobStats list information about the jobs that Sidekiq has performed.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-job-statistics
-func (s *SidekiqService) GetJobStats(options ...OptionFunc) (*JobStats, *Response, error) {
- req, err := s.client.NewRequest("GET", "/sidekiq/job_stats", nil, options)
- if err != nil {
- return nil, nil, err
- }
-
- j := new(JobStats)
- resp, err := s.client.Do(req, j)
- if err != nil {
- return nil, resp, err
- }
-
- return j, resp, err
-}
-
-// CompoundMetrics represents the GitLab sidekiq compounded stats.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-a-compound-response-of-all-the-previously-mentioned-metrics
-type CompoundMetrics struct {
- QueueMetrics
- ProcessMetrics
- JobStats
-}
-
-// GetCompoundMetrics lists all the currently available information about Sidekiq.
-// Get a compound response of all the previously mentioned metrics
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-job-statistics
-func (s *SidekiqService) GetCompoundMetrics(options ...OptionFunc) (*CompoundMetrics, *Response, error) {
- req, err := s.client.NewRequest("GET", "/sidekiq/compound_metrics", nil, options)
- if err != nil {
- return nil, nil, err
- }
-
- c := new(CompoundMetrics)
- resp, err := s.client.Do(req, c)
- if err != nil {
- return nil, resp, err
- }
-
- return c, resp, err
-}