From 56b9c8a094af5adccd8ce9a946742c5ca3cd6b3b Mon Sep 17 00:00:00 2001
From: ensiouel <ensiouel@gmail.com>
Date: Wed, 20 Dec 2023 16:33:27 +0300
Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?=
 =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D1=81=D0=B0=D1=8F?=
 =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D1=82=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../middleware/metrics_middleware.go          |  4 +-
 .../middleware/metrics_middleware.go          |  4 +-
 .../middleware/metrics_middleware.go          |  4 +-
 .../middleware/metrics_middleware.go          |  4 +-
 pkg/items/middleware/metrics_middleware.go    |  4 +-
 pkg/locales/middleware/metrics_middleware.go  |  4 +-
 pkg/members/middleware/metrics_middleware.go  |  4 +-
 .../middleware/metrics_middleware.go          | 38 +++++++++++--------
 .../middleware/metrics_middleware.go          |  4 +-
 pkg/roles/middleware/metrics_middleware.go    |  4 +-
 pkg/spaces/middleware/metrics_middleware.go   |  4 +-
 pkg/users/middleware/metrics_middleware.go    |  4 +-
 12 files changed, 45 insertions(+), 37 deletions(-)

diff --git a/pkg/collaborators/middleware/metrics_middleware.go b/pkg/collaborators/middleware/metrics_middleware.go
index 69597fe4..38ed853d 100644
--- a/pkg/collaborators/middleware/metrics_middleware.go
+++ b/pkg/collaborators/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/collaborators -i Collaborators -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/collaborators -i Collaborators -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/collections/middleware/metrics_middleware.go b/pkg/collections/middleware/metrics_middleware.go
index 3ebdfbd1..fc244f73 100644
--- a/pkg/collections/middleware/metrics_middleware.go
+++ b/pkg/collections/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/collections -i Collections -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/collections -i Collections -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/environments/middleware/metrics_middleware.go b/pkg/environments/middleware/metrics_middleware.go
index 5501ac3c..dfa1905c 100644
--- a/pkg/environments/middleware/metrics_middleware.go
+++ b/pkg/environments/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/environments -i Environments -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/environments -i Environments -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/invitations/middleware/metrics_middleware.go b/pkg/invitations/middleware/metrics_middleware.go
index 9bc85e88..a13a17a0 100644
--- a/pkg/invitations/middleware/metrics_middleware.go
+++ b/pkg/invitations/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/invitations -i Invitations -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/invitations -i Invitations -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/items/middleware/metrics_middleware.go b/pkg/items/middleware/metrics_middleware.go
index 913a0df8..05986434 100644
--- a/pkg/items/middleware/metrics_middleware.go
+++ b/pkg/items/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/items -i Items -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/items -i Items -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/locales/middleware/metrics_middleware.go b/pkg/locales/middleware/metrics_middleware.go
index 3868740a..611b951b 100644
--- a/pkg/locales/middleware/metrics_middleware.go
+++ b/pkg/locales/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/locales -i Locales -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/locales -i Locales -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/members/middleware/metrics_middleware.go b/pkg/members/middleware/metrics_middleware.go
index 6ece219d..f15d5078 100644
--- a/pkg/members/middleware/metrics_middleware.go
+++ b/pkg/members/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/members -i Members -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/members -i Members -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/organizations/middleware/metrics_middleware.go b/pkg/organizations/middleware/metrics_middleware.go
index dc111073..2d5dff8e 100644
--- a/pkg/organizations/middleware/metrics_middleware.go
+++ b/pkg/organizations/middleware/metrics_middleware.go
@@ -8,6 +8,7 @@ package middleware
 
 import (
 	"context"
+	"strings"
 
 	"git.perx.ru/perxis/perxis-go/pkg/metrics"
 	"git.perx.ru/perxis/perxis-go/pkg/options"
@@ -17,6 +18,7 @@ import (
 
 // metricsMiddleware implements organizations.Organizations that is instrumented with metrics
 type metricsMiddleware struct {
+	serviceName    string
 	requestMetrics *metrics.RequestMetrics
 	next           organizations.Organizations
 }
@@ -25,6 +27,7 @@ type metricsMiddleware struct {
 func MetricsMiddleware(requestMetrics *metrics.RequestMetrics) Middleware {
 	return func(next organizations.Organizations) organizations.Organizations {
 		return &metricsMiddleware{
+			serviceName:    strings.ToLower("Organizations"),
 			requestMetrics: requestMetrics,
 			next:           next,
 		}
@@ -33,12 +36,13 @@ func MetricsMiddleware(requestMetrics *metrics.RequestMetrics) Middleware {
 
 // Create implements organizations.Organizations
 func (m metricsMiddleware) Create(ctx context.Context, org *organizations.Organization) (created *organizations.Organization, err error) {
-	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.WithLabelValues("Create"))
+	labels := prometheus.Labels{"service": m.serviceName, "method": "Create"}
+	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.With(labels))
 	defer timer.ObserveDuration()
-	m.requestMetrics.Total.WithLabelValues("Create").Inc()
+	m.requestMetrics.Total.With(labels).Inc()
 	created, err = m.next.Create(ctx, org)
 	if err != nil {
-		m.requestMetrics.FailedTotal.WithLabelValues("Create").Inc()
+		m.requestMetrics.FailedTotal.With(labels).Inc()
 		return
 	}
 	return
@@ -46,12 +50,13 @@ func (m metricsMiddleware) Create(ctx context.Context, org *organizations.Organi
 
 // Delete implements organizations.Organizations
 func (m metricsMiddleware) Delete(ctx context.Context, orgId string) (err error) {
-	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.WithLabelValues("Delete"))
+	labels := prometheus.Labels{"service": m.serviceName, "method": "Delete"}
+	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.With(labels))
 	defer timer.ObserveDuration()
-	m.requestMetrics.Total.WithLabelValues("Delete").Inc()
+	m.requestMetrics.Total.With(labels).Inc()
 	err = m.next.Delete(ctx, orgId)
 	if err != nil {
-		m.requestMetrics.FailedTotal.WithLabelValues("Delete").Inc()
+		m.requestMetrics.FailedTotal.With(labels).Inc()
 		return
 	}
 	return
@@ -59,12 +64,13 @@ func (m metricsMiddleware) Delete(ctx context.Context, orgId string) (err error)
 
 // Find implements organizations.Organizations
 func (m metricsMiddleware) Find(ctx context.Context, filter *organizations.Filter, opts *options.FindOptions) (orgs []*organizations.Organization, total int, err error) {
-	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.WithLabelValues("Find"))
+	labels := prometheus.Labels{"service": m.serviceName, "method": "Find"}
+	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.With(labels))
 	defer timer.ObserveDuration()
-	m.requestMetrics.Total.WithLabelValues("Find").Inc()
+	m.requestMetrics.Total.With(labels).Inc()
 	orgs, total, err = m.next.Find(ctx, filter, opts)
 	if err != nil {
-		m.requestMetrics.FailedTotal.WithLabelValues("Find").Inc()
+		m.requestMetrics.FailedTotal.With(labels).Inc()
 		return
 	}
 	return
@@ -72,12 +78,13 @@ func (m metricsMiddleware) Find(ctx context.Context, filter *organizations.Filte
 
 // Get implements organizations.Organizations
 func (m metricsMiddleware) Get(ctx context.Context, orgId string) (org *organizations.Organization, err error) {
-	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.WithLabelValues("Get"))
+	labels := prometheus.Labels{"service": m.serviceName, "method": "Get"}
+	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.With(labels))
 	defer timer.ObserveDuration()
-	m.requestMetrics.Total.WithLabelValues("Get").Inc()
+	m.requestMetrics.Total.With(labels).Inc()
 	org, err = m.next.Get(ctx, orgId)
 	if err != nil {
-		m.requestMetrics.FailedTotal.WithLabelValues("Get").Inc()
+		m.requestMetrics.FailedTotal.With(labels).Inc()
 		return
 	}
 	return
@@ -85,12 +92,13 @@ func (m metricsMiddleware) Get(ctx context.Context, orgId string) (org *organiza
 
 // Update implements organizations.Organizations
 func (m metricsMiddleware) Update(ctx context.Context, org *organizations.Organization) (err error) {
-	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.WithLabelValues("Update"))
+	labels := prometheus.Labels{"service": m.serviceName, "method": "Update"}
+	timer := prometheus.NewTimer(m.requestMetrics.DurationSeconds.With(labels))
 	defer timer.ObserveDuration()
-	m.requestMetrics.Total.WithLabelValues("Update").Inc()
+	m.requestMetrics.Total.With(labels).Inc()
 	err = m.next.Update(ctx, org)
 	if err != nil {
-		m.requestMetrics.FailedTotal.WithLabelValues("Update").Inc()
+		m.requestMetrics.FailedTotal.With(labels).Inc()
 		return
 	}
 	return
diff --git a/pkg/references/middleware/metrics_middleware.go b/pkg/references/middleware/metrics_middleware.go
index 224b2ecd..119a1b75 100644
--- a/pkg/references/middleware/metrics_middleware.go
+++ b/pkg/references/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/references -i References -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/references -i References -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/roles/middleware/metrics_middleware.go b/pkg/roles/middleware/metrics_middleware.go
index 204df624..0280d5cf 100644
--- a/pkg/roles/middleware/metrics_middleware.go
+++ b/pkg/roles/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/roles -i Roles -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/roles -i Roles -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/spaces/middleware/metrics_middleware.go b/pkg/spaces/middleware/metrics_middleware.go
index 6424331a..b9cecf1d 100644
--- a/pkg/spaces/middleware/metrics_middleware.go
+++ b/pkg/spaces/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/spaces -i Spaces -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/spaces -i Spaces -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
diff --git a/pkg/users/middleware/metrics_middleware.go b/pkg/users/middleware/metrics_middleware.go
index 860a3da8..fb55d90b 100644
--- a/pkg/users/middleware/metrics_middleware.go
+++ b/pkg/users/middleware/metrics_middleware.go
@@ -1,10 +1,10 @@
 // Code generated by gowrap. DO NOT EDIT.
-// template: ..\..\..\assets\templates\middleware\metrics
+// template: ../../../assets/templates/middleware/metrics
 // gowrap: http://github.com/hexdigest/gowrap
 
 package middleware
 
-//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/users -i Users -t ..\..\..\assets\templates\middleware\metrics -o metrics_middleware.go -l ""
+//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/users -i Users -t ../../../assets/templates/middleware/metrics -o metrics_middleware.go -l ""
 
 import (
 	"context"
-- 
GitLab