Skip to content

Commit e534352

Browse files
committed
refactoring and cleanup
Signed-off-by: Markus Blaschke <[email protected]>
1 parent f8a6c9e commit e534352

File tree

3 files changed

+21
-36
lines changed

3 files changed

+21
-36
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ require (
7474
github.com/robfig/cron v1.2.0 // indirect
7575
github.com/std-uritemplate/std-uritemplate/go v0.0.53 // indirect
7676
github.com/stretchr/testify v1.8.4 // indirect
77-
github.com/webdevops/go-common v0.0.0-20240224160459-39041cd1f800
77+
github.com/webdevops/go-common v0.0.0-20240224162410-e2481e4d7353
7878
go.opentelemetry.io/otel v1.24.0 // indirect
7979
go.opentelemetry.io/otel/metric v1.24.0 // indirect
8080
go.opentelemetry.io/otel/trace v1.24.0 // indirect

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
162162
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
163163
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
164164
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
165-
github.com/webdevops/go-common v0.0.0-20240224160459-39041cd1f800 h1:d+jUvoJZneQuJRGm52oXx/F0KuTV+eMcf2vRqtt/74Q=
166-
github.com/webdevops/go-common v0.0.0-20240224160459-39041cd1f800/go.mod h1:Ut443ThSsOcrZdT5T62ZhuG4lJSdGrcp3FCY5UA8ozI=
165+
github.com/webdevops/go-common v0.0.0-20240224162410-e2481e4d7353 h1:QlrUI5PU4mc8Hd6F9Iq+n0UpOvynWpJp8rEG3xQic6w=
166+
github.com/webdevops/go-common v0.0.0-20240224162410-e2481e4d7353/go.mod h1:Ut443ThSsOcrZdT5T62ZhuG4lJSdGrcp3FCY5UA8ozI=
167167
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
168168
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
169169
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=

metrics_azurerm_reservation.go

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"context"
54
"time"
65

76
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption"
@@ -43,6 +42,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
4342
"usageDate",
4443
},
4544
)
45+
m.Collector.RegisterMetricList("reservationInfo", m.prometheus.reservationInfo, true)
4646

4747
m.prometheus.reservationUsage = prometheus.NewGaugeVec(
4848
prometheus.GaugeOpts{
@@ -57,6 +57,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
5757
"usageDate",
5858
},
5959
)
60+
m.Collector.RegisterMetricList("reservationUsage", m.prometheus.reservationUsage, true)
6061

6162
m.prometheus.reservationMinUsage = prometheus.NewGaugeVec(
6263
prometheus.GaugeOpts{
@@ -71,6 +72,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
7172
"usageDate",
7273
},
7374
)
75+
m.Collector.RegisterMetricList("reservationMinUsage", m.prometheus.reservationMinUsage, true)
7476

7577
m.prometheus.reservationMaxUsage = prometheus.NewGaugeVec(
7678
prometheus.GaugeOpts{
@@ -85,6 +87,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
8587
"usageDate",
8688
},
8789
)
90+
m.Collector.RegisterMetricList("reservationMaxUsage", m.prometheus.reservationMaxUsage, true)
8891

8992
m.prometheus.reservationUsedHours = prometheus.NewGaugeVec(
9093
prometheus.GaugeOpts{
@@ -99,6 +102,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
99102
"usageDate",
100103
},
101104
)
105+
m.Collector.RegisterMetricList("reservationUsedHours", m.prometheus.reservationUsedHours, true)
102106

103107
m.prometheus.reservationReservedHours = prometheus.NewGaugeVec(
104108
prometheus.GaugeOpts{
@@ -113,6 +117,7 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
113117
"usageDate",
114118
},
115119
)
120+
m.Collector.RegisterMetricList("reservationReservedHours", m.prometheus.reservationReservedHours, true)
116121

117122
m.prometheus.reservationTotalReservedQuantity = prometheus.NewGaugeVec(
118123
prometheus.GaugeOpts{
@@ -127,13 +132,6 @@ func (m *MetricsCollectorAzureRmReservation) Setup(collector *collector.Collecto
127132
"usageDate",
128133
},
129134
)
130-
131-
m.Collector.RegisterMetricList("reservationInfo", m.prometheus.reservationInfo, true)
132-
m.Collector.RegisterMetricList("reservationUsage", m.prometheus.reservationUsage, true)
133-
m.Collector.RegisterMetricList("reservationMinUsage", m.prometheus.reservationMinUsage, true)
134-
m.Collector.RegisterMetricList("reservationMaxUsage", m.prometheus.reservationMaxUsage, true)
135-
m.Collector.RegisterMetricList("reservationUsedHours", m.prometheus.reservationUsedHours, true)
136-
m.Collector.RegisterMetricList("reservationReservedHours", m.prometheus.reservationReservedHours, true)
137135
m.Collector.RegisterMetricList("reservationTotalReservedQuantity", m.prometheus.reservationTotalReservedQuantity, true)
138136
}
139137

@@ -152,7 +150,6 @@ func (m *MetricsCollectorAzureRmReservation) collectReservationUsage(logger *zap
152150
reservationReservedHours := m.Collector.GetMetricList("reservationReservedHours")
153151
reservationTotalReservedQuantity := m.Collector.GetMetricList("reservationTotalReservedQuantity")
154152

155-
ctx := context.Background()
156153
days := Config.Collectors.Reservation.FromDays
157154
resourceScope := Config.Collectors.Reservation.ResourceScope
158155
granularity := Config.Collectors.Reservation.Granularity
@@ -178,39 +175,27 @@ func (m *MetricsCollectorAzureRmReservation) collectReservationUsage(logger *zap
178175

179176
// Collect and export metrics
180177
for pager.More() {
181-
page, err := pager.NextPage(ctx)
178+
page, err := pager.NextPage(m.Context())
182179
if err != nil {
183180
logger.Panic(err)
184181
}
185182

186183
for _, reservationProperties := range page.Value {
187-
reservationOrderID := reservationProperties.Properties.ReservationOrderID
188-
reservationID := reservationProperties.Properties.ReservationID
189-
skuName := reservationProperties.Properties.SKUName
190-
kind := reservationProperties.Properties.Kind
191-
reservedHours := reservationProperties.Properties.ReservedHours
192-
usageDate := reservationProperties.Properties.UsageDate.String()
193-
usedHours := reservationProperties.Properties.UsedHours
194-
minUtilizationPercentage := reservationProperties.Properties.MinUtilizationPercentage
195-
avgUtilizationPercentage := reservationProperties.Properties.AvgUtilizationPercentage
196-
maxUtilizationPercentage := reservationProperties.Properties.MaxUtilizationPercentage
197-
totalReservedQuantity := reservationProperties.Properties.TotalReservedQuantity
198-
199184
labels := prometheus.Labels{
200-
"reservationOrderID": to.String(reservationOrderID),
201-
"reservationID": to.String(reservationID),
202-
"skuName": to.String(skuName),
203-
"kind": to.String(kind),
204-
"usageDate": usageDate,
185+
"reservationOrderID": to.String(reservationProperties.Properties.ReservationOrderID),
186+
"reservationID": to.String(reservationProperties.Properties.ReservationID),
187+
"skuName": to.String(reservationProperties.Properties.SKUName),
188+
"kind": to.String(reservationProperties.Properties.Kind),
189+
"usageDate": reservationProperties.Properties.UsageDate.String(),
205190
}
206191

207192
reservationInfo.AddInfo(labels)
208-
reservationUsage.AddIfNotNil(labels, avgUtilizationPercentage)
209-
reservationMinUsage.AddIfNotNil(labels, minUtilizationPercentage)
210-
reservationMaxUsage.AddIfNotNil(labels, maxUtilizationPercentage)
211-
reservationUsedHours.AddIfNotNil(labels, usedHours)
212-
reservationReservedHours.AddIfNotNil(labels, reservedHours)
213-
reservationTotalReservedQuantity.AddIfNotNil(labels, totalReservedQuantity)
193+
reservationUsage.AddIfNotNil(labels, reservationProperties.Properties.AvgUtilizationPercentage)
194+
reservationMinUsage.AddIfNotNil(labels, reservationProperties.Properties.MinUtilizationPercentage)
195+
reservationMaxUsage.AddIfNotNil(labels, reservationProperties.Properties.MaxUtilizationPercentage)
196+
reservationUsedHours.AddIfNotNil(labels, reservationProperties.Properties.UsedHours)
197+
reservationReservedHours.AddIfNotNil(labels, reservationProperties.Properties.ReservedHours)
198+
reservationTotalReservedQuantity.AddIfNotNil(labels, reservationProperties.Properties.TotalReservedQuantity)
214199
}
215200
}
216201
}

0 commit comments

Comments
 (0)