From 91f2457363d20e824ad6ed3edd7f7903a71818a1 Mon Sep 17 00:00:00 2001 From: Gianluca Zuccarelli Date: Mon, 15 Nov 2021 14:43:44 +0000 Subject: [PATCH] metrics: add prometheus namespaces Make use of the prometheus namespace and subsystem to give the metrics a consistent namespaces in openshift. --- internal/prometheus/http_metrics.go | 49 +++++++++++++++++++++++++++++ internal/prometheus/prometheus.go | 42 ------------------------- internal/worker/server.go | 5 --- 3 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 internal/prometheus/http_metrics.go delete mode 100644 internal/prometheus/prometheus.go diff --git a/internal/prometheus/http_metrics.go b/internal/prometheus/http_metrics.go new file mode 100644 index 000000000..bcc5c21a2 --- /dev/null +++ b/internal/prometheus/http_metrics.go @@ -0,0 +1,49 @@ +package prometheus + +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" +) + +const ( + namespace = "image_builder" + subsystem = "composer" +) + +var ( + TotalRequests = promauto.NewCounter(prometheus.CounterOpts{ + Name: "total_requests", + Namespace: namespace, + Subsystem: subsystem, + Help: "total number of http requests made to osbuild-composer", + }) +) + +var ( + // update this to count all 500s + ComposeFailures = promauto.NewCounter(prometheus.CounterOpts{ + Name: "total_failed_compose_requests", + Namespace: namespace, + Subsystem: subsystem, + Help: "total number of failed compose requests", + }) +) + +var ( + ComposeRequests = promauto.NewCounter(prometheus.CounterOpts{ + Name: "total_compose_requests", + Namespace: namespace, + Subsystem: subsystem, + Help: "total number of compose requests made to osbuild-composer", + }) +) + +var ( + httpDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ + Name: "http_duration_seconds", + Namespace: namespace, + Subsystem: subsystem, + Help: "Duration of HTTP requests.", + Buckets: []float64{.025, .05, .075, .1, .2, .5, .75, 1, 1.5, 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 20}, + }, []string{"path"}) +) diff --git a/internal/prometheus/prometheus.go b/internal/prometheus/prometheus.go deleted file mode 100644 index 8dbfd069e..000000000 --- a/internal/prometheus/prometheus.go +++ /dev/null @@ -1,42 +0,0 @@ -package prometheus - -import ( - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" -) - -var ( - TotalRequests = promauto.NewCounter(prometheus.CounterOpts{ - Name: "composer_total_http_requests", - Help: "total number of http requests made to osbuild-composer", - }) -) - -var ( - ComposeRequests = promauto.NewCounter(prometheus.CounterOpts{ - Name: "total_compose_requests", - Help: "total number of compose requests made to osbuild-composer", - }) -) - -var ( - ComposeSuccesses = promauto.NewCounter(prometheus.CounterOpts{ - Name: "total_successful_compose_requests", - Help: "total number of successful compose requests", - }) -) - -var ( - ComposeFailures = promauto.NewCounter(prometheus.CounterOpts{ - Name: "total_failed_compose_requests", - Help: "total number of failed compose requests", - }) -) - -var ( - httpDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ - Name: "composer_http_duration_seconds", - Help: "Duration of HTTP requests.", - Buckets: []float64{.025, .05, .075, .1, .2, .5, .75, 1, 1.5, 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 20}, - }, []string{"path"}) -) diff --git a/internal/worker/server.go b/internal/worker/server.go index c2c56e2e0..855296b3e 100644 --- a/internal/worker/server.go +++ b/internal/worker/server.go @@ -21,7 +21,6 @@ import ( "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/jobqueue" - "github.com/osbuild/osbuild-composer/internal/prometheus" "github.com/osbuild/osbuild-composer/internal/worker/api" ) @@ -306,10 +305,6 @@ func (s *Server) FinishJob(token uuid.UUID, result json.RawMessage) error { return fmt.Errorf("error finding job status: %v", err) } - if jobResult.Success { - prometheus.ComposeSuccesses.Inc() - } - // Move artifacts from the temporary location to the final job // location. Log any errors, but do not treat them as fatal. The job is // already finished.