Skip to content

Commit 43efdaa

Browse files
committed
Cleanup and fix some string pointers
1 parent 9ed05e8 commit 43efdaa

12 files changed

+100
-93
lines changed

metrics_azurerm_computing.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func (m *MetricsCollectorAzureRmComputing) collectAzurePublicIp(ctx context.Cont
111111
gaugeValue := float64(1)
112112

113113
if val.IPAddress != nil {
114-
ipAddress = *val.IPAddress
114+
ipAddress = stringPtrToString(val.IPAddress)
115115
ipAddressList = append(ipAddressList, ipAddress)
116116
} else {
117117
ipAddress = "not allocated"
@@ -158,27 +158,27 @@ func (m *MetricsCollectorAzureRmComputing) collectAzureVm(ctx context.Context, c
158158
infoLabels := prometheus.Labels{
159159
"resourceID": *val.ID,
160160
"subscriptionID": *subscription.SubscriptionID,
161-
"location": *val.Location,
161+
"location": stringPtrToString(val.Location),
162162
"resourceGroup": extractResourceGroupFromAzureId(*val.ID),
163-
"vmID": *val.VMID,
164-
"vmName": *val.Name,
165-
"vmType": *val.Type,
163+
"vmID": stringPtrToString(val.VMID),
164+
"vmName": stringPtrToString(val.Name),
165+
"vmType": stringPtrToString(val.Type),
166166
"vmSize": string(val.VirtualMachineProperties.HardwareProfile.VMSize),
167-
"vmProvisioningState": *val.ProvisioningState,
167+
"vmProvisioningState": stringPtrToString(val.ProvisioningState),
168168
}
169169
infoLabels = opts.azureResourceTags.appendPrometheusLabel(infoLabels, val.Tags)
170-
171-
osLabels := prometheus.Labels{
172-
"vmID": *val.VMID,
173-
"imagePublisher": *val.StorageProfile.ImageReference.Publisher,
174-
"imageSku": *val.StorageProfile.ImageReference.Sku,
175-
"imageOffer": *val.StorageProfile.ImageReference.Offer,
176-
"imageVersion": *val.StorageProfile.ImageReference.Version,
170+
infoMetric.AddInfo(infoLabels)
171+
172+
if val.StorageProfile != nil {
173+
osMetric.AddInfo(prometheus.Labels{
174+
"vmID": *val.VMID,
175+
"imagePublisher": stringPtrToString(val.StorageProfile.ImageReference.Publisher),
176+
"imageSku": stringPtrToString(val.StorageProfile.ImageReference.Sku),
177+
"imageOffer": stringPtrToString(val.StorageProfile.ImageReference.Offer),
178+
"imageVersion": stringPtrToString(val.StorageProfile.ImageReference.Version),
179+
})
177180
}
178181

179-
infoMetric.Add(infoLabels, 1)
180-
osMetric.Add(osLabels, 1)
181-
182182
if list.NextWithContext(ctx) != nil {
183183
break
184184
}

metrics_azurerm_containerinstances.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,24 +120,24 @@ func (m *MetricsCollectorAzureRmContainerInstances) Collect(ctx context.Context,
120120
"ipAdress": *val.IPAddress.IP,
121121
}
122122
infoLabels = opts.azureResourceTags.appendPrometheusLabel(infoLabels, val.Tags)
123-
infoMetric.Add(infoLabels, 1)
123+
infoMetric.AddInfo(infoLabels)
124124

125125
if val.Containers != nil {
126126
for _, container := range *val.Containers {
127-
containerMetric.Add(prometheus.Labels{
127+
containerMetric.AddInfo(prometheus.Labels{
128128
"resourceID": *val.ID,
129-
"containerName": *container.Name,
130-
"containerImage": *container.Image,
129+
"containerName": stringPtrToString(container.Name),
130+
"containerImage": stringPtrToString(container.Image),
131131
"livenessProbe": boolToString(container.LivenessProbe != nil),
132132
"readinessProbe": boolToString(container.ReadinessProbe != nil),
133-
}, 1)
133+
})
134134

135135
// ports
136136
if container.Ports != nil {
137137
for _, port := range *container.Ports {
138138
containerPortMetric.Add(prometheus.Labels{
139139
"resourceID": *val.ID,
140-
"containerName": *container.Name,
140+
"containerName": stringPtrToString(container.Name),
141141
"protocol": string(port.Protocol),
142142
}, float64(*port.Port))
143143
}
@@ -149,7 +149,7 @@ func (m *MetricsCollectorAzureRmContainerInstances) Collect(ctx context.Context,
149149
if container.Resources.Requests.CPU != nil {
150150
containerResourceMetric.Add(prometheus.Labels{
151151
"resourceID": *val.ID,
152-
"containerName": *container.Name,
152+
"containerName": stringPtrToString(container.Name),
153153
"type": "request",
154154
"resource": "cpu",
155155
}, *container.Resources.Requests.CPU)
@@ -158,7 +158,7 @@ func (m *MetricsCollectorAzureRmContainerInstances) Collect(ctx context.Context,
158158
if container.Resources.Requests.MemoryInGB != nil {
159159
containerResourceMetric.Add(prometheus.Labels{
160160
"resourceID": *val.ID,
161-
"containerName": *container.Name,
161+
"containerName": stringPtrToString(container.Name),
162162
"type": "request",
163163
"resource": "memory",
164164
}, *container.Resources.Requests.MemoryInGB*1073741824)
@@ -169,7 +169,7 @@ func (m *MetricsCollectorAzureRmContainerInstances) Collect(ctx context.Context,
169169
if container.Resources.Limits.CPU != nil {
170170
containerResourceMetric.Add(prometheus.Labels{
171171
"resourceID": *val.ID,
172-
"containerName": *container.Name,
172+
"containerName": stringPtrToString(container.Name),
173173
"type": "limit",
174174
"resource": "cpu",
175175
}, *container.Resources.Limits.CPU)
@@ -178,7 +178,7 @@ func (m *MetricsCollectorAzureRmContainerInstances) Collect(ctx context.Context,
178178
if container.Resources.Limits.MemoryInGB != nil {
179179
containerResourceMetric.Add(prometheus.Labels{
180180
"resourceID": *val.ID,
181-
"containerName": *container.Name,
181+
"containerName": stringPtrToString(container.Name),
182182
"type": "limit",
183183
"resource": "memory",
184184
}, *container.Resources.Limits.MemoryInGB*1073741824)

metrics_azurerm_containerregistry.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,24 +111,23 @@ func (m *MetricsCollectorAzureRmContainerRegistry) Collect(ctx context.Context,
111111
infoLabels := prometheus.Labels{
112112
"resourceID": *val.ID,
113113
"subscriptionID": *subscription.SubscriptionID,
114-
"location": *val.Location,
115-
"registryName": *val.Name,
114+
"location": stringPtrToString(val.Location),
115+
"registryName": stringPtrToString(val.Name),
116116
"resourceGroup": extractResourceGroupFromAzureId(*val.ID),
117-
"adminUserEnabled": boolToString(*val.AdminUserEnabled),
117+
"adminUserEnabled": boolPtrToString(val.AdminUserEnabled),
118118
"skuName": skuName,
119119
"skuTier": skuTier,
120120
}
121121
infoLabels = opts.azureResourceTags.appendPrometheusLabel(infoLabels, val.Tags)
122-
123-
infoMetric.Add(infoLabels, 1)
122+
infoMetric.AddInfo(infoLabels)
124123

125124
if arcUsage.Value != nil {
126125
for _, usage := range *arcUsage.Value {
127126
quotaLabels := prometheus.Labels{
128127
"subscriptionID": *subscription.SubscriptionID,
129-
"registryName": *val.Name,
128+
"registryName": stringPtrToString(val.Name),
130129
"quotaUnit": string(usage.Unit),
131-
"quotaName": *usage.Name,
130+
"quotaName": stringPtrToString(usage.Name),
132131
}
133132

134133
quotaCurrentMetric.Add(quotaLabels, float64(*usage.CurrentValue))

metrics_azurerm_database.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,15 @@ func (m *MetricsCollectorAzureRmDatabase) collectAzureDatabaseMysql(ctx context.
157157
skuTier := ""
158158

159159
if val.Sku != nil {
160-
skuName = string(*val.Sku.Name)
160+
skuName = stringPtrToString(val.Sku.Name)
161161
skuTier = string(val.Sku.Tier)
162162
}
163163

164164
infoLabels := prometheus.Labels{
165165
"resourceID": *val.ID,
166166
"subscriptionID": *subscription.SubscriptionID,
167-
"location": *val.Location,
168-
"serverName": *val.Name,
167+
"location": stringPtrToString(val.Location),
168+
"serverName": stringPtrToString(val.Name),
169169
"type": "mysql",
170170
"resourceGroup": extractResourceGroupFromAzureId(*val.ID),
171171
"skuName": skuName,
@@ -176,7 +176,7 @@ func (m *MetricsCollectorAzureRmDatabase) collectAzureDatabaseMysql(ctx context.
176176
"geoRedundantBackup": string(val.StorageProfile.GeoRedundantBackup),
177177
}
178178
infoLabels = opts.azureResourceTags.appendPrometheusLabel(infoLabels, val.Tags)
179-
infoMetric.Add(infoLabels, 1)
179+
infoMetric.AddInfo(infoLabels)
180180

181181
statusMetric.Add(prometheus.Labels{
182182
"resourceID": *val.ID,

metrics_azurerm_eventhub.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ func (m *MetricsCollectorAzureRmEventhub) Collect(ctx context.Context, callback
119119
"resourceID": *namespace.ID,
120120
"subscriptionID": *subscription.SubscriptionID,
121121
"resourceGroup": resourceGroup,
122-
"location": *namespace.Location,
123-
"namespace": *namespace.Name,
122+
"location": stringPtrToString(namespace.Location),
123+
"namespace": stringPtrToString(namespace.Name),
124124
"skuName": string(namespace.Sku.Name),
125125
"skuTier": string(namespace.Sku.Tier),
126126
"skuCapacity": int32ToString(*namespace.Sku.Capacity),
@@ -148,17 +148,17 @@ func (m *MetricsCollectorAzureRmEventhub) Collect(ctx context.Context, callback
148148

149149
infoLabels := prometheus.Labels{
150150
"resourceID": *eventhub.ID,
151-
"namespace": *namespace.Name,
152-
"name": *eventhub.Name,
151+
"namespace": stringPtrToString(namespace.Name),
152+
"name": stringPtrToString(eventhub.Name),
153153
}
154154
infoLabels = opts.azureResourceTags.appendPrometheusLabel(infoLabels, namespace.Tags)
155155
namespaceEventhubMetric.AddInfo(infoLabels)
156156

157157
if eventhub.PartitionCount != nil {
158158
statusLabels := prometheus.Labels{
159159
"resourceID": *eventhub.ID,
160-
"namespace": *namespace.Name,
161-
"name": *eventhub.Name,
160+
"namespace": stringPtrToString(namespace.Name),
161+
"name": stringPtrToString(eventhub.Name),
162162
"type": "partitionCount",
163163
}
164164
namespaceEventhubStatusMetric.Add(statusLabels, float64(*eventhub.PartitionCount))
@@ -167,8 +167,8 @@ func (m *MetricsCollectorAzureRmEventhub) Collect(ctx context.Context, callback
167167
if eventhub.MessageRetentionInDays != nil {
168168
statusLabels := prometheus.Labels{
169169
"resourceID": *eventhub.ID,
170-
"namespace": *namespace.Name,
171-
"name": *eventhub.Name,
170+
"namespace": stringPtrToString(namespace.Name),
171+
"name": stringPtrToString(eventhub.Name),
172172
"type": "messageRetentionInDays",
173173
}
174174
namespaceEventhubStatusMetric.Add(statusLabels, float64(*eventhub.MessageRetentionInDays))

metrics_azurerm_general.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ func (m *MetricsCollectorAzureRmGeneral) collectAzureSubscription(ctx context.Co
9595
labels: prometheus.Labels{
9696
"resourceID": *sub.ID,
9797
"subscriptionID": *sub.SubscriptionID,
98-
"subscriptionName": *sub.DisplayName,
98+
"subscriptionName": stringPtrToString(sub.DisplayName),
9999
"spendingLimit": string(sub.SubscriptionPolicies.SpendingLimit),
100-
"quotaID": *sub.SubscriptionPolicies.QuotaID,
101-
"locationPlacementID": *sub.SubscriptionPolicies.LocationPlacementID,
100+
"quotaID": stringPtrToString(sub.SubscriptionPolicies.QuotaID),
101+
"locationPlacementID": stringPtrToString(sub.SubscriptionPolicies.LocationPlacementID),
102102
},
103103
value: 1,
104104
}
@@ -134,11 +134,10 @@ func (m *MetricsCollectorAzureRmGeneral) collectAzureResourceGroup(ctx context.C
134134
infoLabels := opts.azureResourceGroupTags.appendPrometheusLabel(prometheus.Labels{
135135
"resourceID": *item.ID,
136136
"subscriptionID": *subscription.SubscriptionID,
137-
"resourceGroup": *item.Name,
138-
"location": *item.Location,
137+
"resourceGroup": stringPtrToString(item.Name),
138+
"location": stringPtrToString(item.Location),
139139
}, item.Tags)
140-
141-
infoMetric.Add(infoLabels, 1)
140+
infoMetric.AddInfo(infoLabels)
142141
}
143142

144143
callback <- func() {

metrics_azurerm_iam.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import (
44
"context"
55
"github.com/Azure/azure-sdk-for-go/profiles/latest/authorization/mgmt/authorization"
6-
"github.com/Azure/azure-sdk-for-go/profiles/latest/resources/mgmt/subscriptions"
76
"github.com/Azure/azure-sdk-for-go/profiles/latest/graphrbac/graphrbac"
7+
"github.com/Azure/azure-sdk-for-go/profiles/latest/resources/mgmt/subscriptions"
88
"github.com/Azure/go-autorest/autorest/azure/auth"
99
"github.com/prometheus/client_golang/prometheus"
1010
"os"
@@ -20,7 +20,7 @@ type MetricsCollectorAzureRmIam struct {
2020
prometheus struct {
2121
roleAssignment *prometheus.GaugeVec
2222
roleDefinition *prometheus.GaugeVec
23-
principal *prometheus.GaugeVec
23+
principal *prometheus.GaugeVec
2424
}
2525
}
2626

@@ -91,7 +91,6 @@ func (m *MetricsCollectorAzureRmIam) Collect(ctx context.Context, callback chan<
9191
m.collectRoleAssignments(ctx, callback, subscription)
9292
}
9393

94-
9594
func (m *MetricsCollectorAzureRmIam) collectRoleDefinitions(ctx context.Context, callback chan<- func(), subscription subscriptions.Subscription) {
9695
client := authorization.NewRoleDefinitionsClient(*subscription.SubscriptionID)
9796
client.Authorizer = AzureAuthorizer
@@ -168,7 +167,7 @@ func (m *MetricsCollectorAzureRmIam) collectRoleAssignments(ctx context.Context,
168167
}
169168

170169
func (m *MetricsCollectorAzureRmIam) collectPrincipals(ctx context.Context, callback chan<- func(), subscription subscriptions.Subscription, principalIdList []string) {
171-
var infoLabels *prometheus.Labels
170+
var infoLabels *prometheus.Labels
172171
infoMetric := MetricCollectorList{}
173172

174173
opts := graphrbac.GetObjectsParameters{
@@ -187,24 +186,24 @@ func (m *MetricsCollectorAzureRmIam) collectPrincipals(ctx context.Context, call
187186

188187
if object, valid := val.AsADGroup(); valid {
189188
infoLabels = &prometheus.Labels{
190-
"subscriptionID": *subscription.SubscriptionID,
191-
"principalID": stringPtrToString(object.ObjectID),
192-
"principalName": stringPtrToString(object.DisplayName),
193-
"principalType": string(object.ObjectType),
189+
"subscriptionID": *subscription.SubscriptionID,
190+
"principalID": stringPtrToString(object.ObjectID),
191+
"principalName": stringPtrToString(object.DisplayName),
192+
"principalType": string(object.ObjectType),
194193
}
195194
} else if object, valid := val.AsApplication(); valid {
196195
infoLabels = &prometheus.Labels{
197-
"subscriptionID": *subscription.SubscriptionID,
198-
"principalID": stringPtrToString(object.ObjectID),
199-
"principalName": stringPtrToString(object.DisplayName),
200-
"principalType": string(object.ObjectType),
196+
"subscriptionID": *subscription.SubscriptionID,
197+
"principalID": stringPtrToString(object.ObjectID),
198+
"principalName": stringPtrToString(object.DisplayName),
199+
"principalType": string(object.ObjectType),
201200
}
202201
} else if object, valid := val.AsServicePrincipal(); valid {
203202
infoLabels = &prometheus.Labels{
204-
"subscriptionID": *subscription.SubscriptionID,
205-
"principalID": stringPtrToString(object.ObjectID),
206-
"principalName": stringPtrToString(object.DisplayName),
207-
"principalType": string(object.ObjectType),
203+
"subscriptionID": *subscription.SubscriptionID,
204+
"principalID": stringPtrToString(object.ObjectID),
205+
"principalName": stringPtrToString(object.DisplayName),
206+
"principalType": string(object.ObjectType),
208207
}
209208
} else if object, valid := val.AsUser(); valid {
210209
infoLabels = &prometheus.Labels{

metrics_azurerm_quota.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,22 +201,21 @@ func (m *MetricsCollectorAzureRmQuota) collectAzureStorageUsage(ctx context.Cont
201201
currentValue := float64(*val.CurrentValue)
202202
limitValue := float64(*val.Limit)
203203

204-
labels := prometheus.Labels{
204+
quotaMetric.AddInfo(prometheus.Labels{
205205
"subscriptionID": *subscription.SubscriptionID,
206206
"location": location,
207207
"scope": "storage",
208208
"quota": quotaName,
209-
}
209+
"quotaName": quotaNameLocalized,
210+
})
210211

211-
infoLabels := prometheus.Labels{
212+
labels := prometheus.Labels{
212213
"subscriptionID": *subscription.SubscriptionID,
213214
"location": location,
214215
"scope": "storage",
215216
"quota": quotaName,
216-
"quotaName": quotaNameLocalized,
217217
}
218218

219-
quotaMetric.Add(infoLabels, 1)
220219
quotaCurrentMetric.Add(labels, currentValue)
221220
quotaLimitMetric.Add(labels, limitValue)
222221
}

metrics_azurerm_security.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,14 @@ func (m *MetricsCollectorAzureRmSecurity) collectAzureAdvisorRecommendations(ctx
114114
infoLabels := prometheus.Labels{
115115
"subscriptionID": *subscription.SubscriptionID,
116116
"category": string(item.RecommendationProperties.Category),
117-
"resourceType": *item.RecommendationProperties.ImpactedField,
118-
"resourceName": *item.RecommendationProperties.ImpactedValue,
117+
"resourceType": stringPtrToString(item.RecommendationProperties.ImpactedField),
118+
"resourceName": stringPtrToString(item.RecommendationProperties.ImpactedValue),
119119
"resourceGroup": extractResourceGroupFromAzureId(*item.ID),
120120
"impact": string(item.Impact),
121121
"risk": string(item.Risk),
122122
}
123123

124-
infoMetric.Add(infoLabels, 1)
124+
infoMetric.AddInfo(infoLabels)
125125
}
126126

127127
callback <- func() {

0 commit comments

Comments
 (0)