Skip to content

Commit 58d32e3

Browse files
authored
Merge branch 'main' into template-url
2 parents 165843c + 162ee9b commit 58d32e3

32 files changed

+1143
-268
lines changed

.circleci/config.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/dependabot.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ updates:
1818
directory: "/"
1919
schedule:
2020
interval: "monthly"
21+
- package-ecosystem: "npm"
22+
directory: "/ui/mantine-ui"
23+
open-pull-requests-limit: 20
24+
schedule:
25+
interval: "monthly"

api/metrics/metrics.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313

1414
package metrics
1515

16-
import "github.com/prometheus/client_golang/prometheus"
16+
import (
17+
"github.com/prometheus/client_golang/prometheus"
18+
"github.com/prometheus/client_golang/prometheus/promauto"
19+
)
1720

1821
// Alerts stores metrics for alerts.
1922
type Alerts struct {
@@ -25,19 +28,19 @@ type Alerts struct {
2528
// NewAlerts returns an *Alerts struct for the given API version.
2629
// Since v1 was deprecated in 0.27, v2 is now hardcoded.
2730
func NewAlerts(r prometheus.Registerer) *Alerts {
28-
numReceivedAlerts := prometheus.NewCounterVec(prometheus.CounterOpts{
31+
if r == nil {
32+
return nil
33+
}
34+
numReceivedAlerts := promauto.With(r).NewCounterVec(prometheus.CounterOpts{
2935
Name: "alertmanager_alerts_received_total",
3036
Help: "The total number of received alerts.",
3137
ConstLabels: prometheus.Labels{"version": "v2"},
3238
}, []string{"status"})
33-
numInvalidAlerts := prometheus.NewCounter(prometheus.CounterOpts{
39+
numInvalidAlerts := promauto.With(r).NewCounter(prometheus.CounterOpts{
3440
Name: "alertmanager_alerts_invalid_total",
3541
Help: "The total number of received alerts that were invalid.",
3642
ConstLabels: prometheus.Labels{"version": "v2"},
3743
})
38-
if r != nil {
39-
r.MustRegister(numReceivedAlerts, numInvalidAlerts)
40-
}
4144
return &Alerts{
4245
firing: numReceivedAlerts.WithLabelValues("firing"),
4346
resolved: numReceivedAlerts.WithLabelValues("resolved"),

cluster/channel.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/gogo/protobuf/proto"
2222
"github.com/hashicorp/memberlist"
2323
"github.com/prometheus/client_golang/prometheus"
24+
"github.com/prometheus/client_golang/prometheus/promauto"
2425

2526
"github.com/prometheus/alertmanager/cluster/clusterpb"
2627
)
@@ -53,22 +54,25 @@ func NewChannel(
5354
stopc <-chan struct{},
5455
reg prometheus.Registerer,
5556
) *Channel {
56-
oversizeGossipMessageFailureTotal := prometheus.NewCounter(prometheus.CounterOpts{
57+
if reg == nil {
58+
return nil
59+
}
60+
oversizeGossipMessageFailureTotal := promauto.With(reg).NewCounter(prometheus.CounterOpts{
5761
Name: "alertmanager_oversized_gossip_message_failure_total",
5862
Help: "Number of oversized gossip message sends that failed.",
5963
ConstLabels: prometheus.Labels{"key": key},
6064
})
61-
oversizeGossipMessageSentTotal := prometheus.NewCounter(prometheus.CounterOpts{
65+
oversizeGossipMessageSentTotal := promauto.With(reg).NewCounter(prometheus.CounterOpts{
6266
Name: "alertmanager_oversized_gossip_message_sent_total",
6367
Help: "Number of oversized gossip message sent.",
6468
ConstLabels: prometheus.Labels{"key": key},
6569
})
66-
oversizeGossipMessageDroppedTotal := prometheus.NewCounter(prometheus.CounterOpts{
70+
oversizeGossipMessageDroppedTotal := promauto.With(reg).NewCounter(prometheus.CounterOpts{
6771
Name: "alertmanager_oversized_gossip_message_dropped_total",
6872
Help: "Number of oversized gossip messages that were dropped due to a full message queue.",
6973
ConstLabels: prometheus.Labels{"key": key},
7074
})
71-
oversizeGossipDuration := prometheus.NewHistogram(prometheus.HistogramOpts{
75+
oversizeGossipDuration := promauto.With(reg).NewHistogram(prometheus.HistogramOpts{
7276
Name: "alertmanager_oversize_gossip_message_duration_seconds",
7377
Help: "Duration of oversized gossip message requests.",
7478
ConstLabels: prometheus.Labels{"key": key},
@@ -78,8 +82,6 @@ func NewChannel(
7882
NativeHistogramMinResetDuration: 1 * time.Hour,
7983
})
8084

81-
reg.MustRegister(oversizeGossipDuration, oversizeGossipMessageFailureTotal, oversizeGossipMessageDroppedTotal, oversizeGossipMessageSentTotal)
82-
8385
c := &Channel{
8486
key: key,
8587
send: send,

cluster/cluster.go

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2018 Prometheus Team
1+
// Copyright The Prometheus Authors
22
// Licensed under the Apache License, Version 2.0 (the "License");
33
// you may not use this file except in compliance with the License.
44
// You may obtain a copy of the License at
@@ -29,6 +29,7 @@ import (
2929
"github.com/hashicorp/memberlist"
3030
"github.com/oklog/ulid"
3131
"github.com/prometheus/client_golang/prometheus"
32+
"github.com/prometheus/client_golang/prometheus/promauto"
3233
)
3334

3435
// ClusterPeer represents a single Peer in a gossip cluster.
@@ -142,6 +143,7 @@ func Create(
142143
tlsTransportConfig *TLSTransportConfig,
143144
allowInsecureAdvertise bool,
144145
label string,
146+
name string,
145147
) (*Peer, error) {
146148
bindHost, bindPortStr, err := net.SplitHostPort(bindAddr)
147149
if err != nil {
@@ -187,10 +189,13 @@ func Create(
187189
advertisePort = bindPort
188190
}
189191

190-
// TODO(fabxc): generate human-readable but random names?
191-
name, err := ulid.New(ulid.Now(), rand.New(rand.NewSource(time.Now().UnixNano())))
192-
if err != nil {
193-
return nil, err
192+
// Generate a random name if none is provided.
193+
if name == "" {
194+
id, err := ulid.New(ulid.Now(), rand.New(rand.NewSource(time.Now().UnixNano())))
195+
if err != nil {
196+
return nil, err
197+
}
198+
name = id.String()
194199
}
195200

196201
p := &Peer{
@@ -203,7 +208,7 @@ func Create(
203208
knownPeers: knownPeers,
204209
}
205210

206-
p.register(reg, name.String())
211+
p.register(reg, name)
207212

208213
retransmit := len(knownPeers) / 2
209214
if retransmit < 3 {
@@ -212,13 +217,14 @@ func Create(
212217
p.delegate = newDelegate(l, reg, p, retransmit)
213218

214219
cfg := memberlist.DefaultLANConfig()
215-
cfg.Name = name.String()
220+
cfg.Name = name
216221
cfg.BindAddr = bindHost
217222
cfg.BindPort = bindPort
218223
cfg.Delegate = p.delegate
219224
cfg.Ping = p.delegate
220225
cfg.Alive = p.delegate
221226
cfg.Events = p.delegate
227+
cfg.Conflict = p.delegate
222228
cfg.GossipInterval = gossipInterval
223229
cfg.PushPullInterval = pushPullInterval
224230
cfg.TCPTimeout = tcpTimeout
@@ -333,15 +339,15 @@ func (p *Peer) setInitialFailed(peers []string, myAddr string) {
333339
}
334340

335341
func (p *Peer) register(reg prometheus.Registerer, name string) {
336-
peerInfo := prometheus.NewGauge(
342+
peerInfo := promauto.With(reg).NewGauge(
337343
prometheus.GaugeOpts{
338344
Name: "alertmanager_cluster_peer_info",
339345
Help: "A metric with a constant '1' value labeled by peer name.",
340346
ConstLabels: prometheus.Labels{"peer": name},
341347
},
342348
)
343349
peerInfo.Set(1)
344-
clusterFailedPeers := prometheus.NewGaugeFunc(prometheus.GaugeOpts{
350+
promauto.With(reg).NewGaugeFunc(prometheus.GaugeOpts{
345351
Name: "alertmanager_cluster_failed_peers",
346352
Help: "Number indicating the current number of failed peers in the cluster.",
347353
}, func() float64 {
@@ -350,40 +356,37 @@ func (p *Peer) register(reg prometheus.Registerer, name string) {
350356

351357
return float64(len(p.failedPeers))
352358
})
353-
p.failedReconnectionsCounter = prometheus.NewCounter(prometheus.CounterOpts{
359+
p.failedReconnectionsCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
354360
Name: "alertmanager_cluster_reconnections_failed_total",
355361
Help: "A counter of the number of failed cluster peer reconnection attempts.",
356362
})
357363

358-
p.reconnectionsCounter = prometheus.NewCounter(prometheus.CounterOpts{
364+
p.reconnectionsCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
359365
Name: "alertmanager_cluster_reconnections_total",
360366
Help: "A counter of the number of cluster peer reconnections.",
361367
})
362368

363-
p.failedRefreshCounter = prometheus.NewCounter(prometheus.CounterOpts{
369+
p.failedRefreshCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
364370
Name: "alertmanager_cluster_refresh_join_failed_total",
365371
Help: "A counter of the number of failed cluster peer joined attempts via refresh.",
366372
})
367-
p.refreshCounter = prometheus.NewCounter(prometheus.CounterOpts{
373+
p.refreshCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
368374
Name: "alertmanager_cluster_refresh_join_total",
369375
Help: "A counter of the number of cluster peer joined via refresh.",
370376
})
371377

372-
p.peerLeaveCounter = prometheus.NewCounter(prometheus.CounterOpts{
378+
p.peerLeaveCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
373379
Name: "alertmanager_cluster_peers_left_total",
374380
Help: "A counter of the number of peers that have left.",
375381
})
376-
p.peerUpdateCounter = prometheus.NewCounter(prometheus.CounterOpts{
382+
p.peerUpdateCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
377383
Name: "alertmanager_cluster_peers_update_total",
378384
Help: "A counter of the number of peers that have updated metadata.",
379385
})
380-
p.peerJoinCounter = prometheus.NewCounter(prometheus.CounterOpts{
386+
p.peerJoinCounter = promauto.With(reg).NewCounter(prometheus.CounterOpts{
381387
Name: "alertmanager_cluster_peers_joined_total",
382388
Help: "A counter of the number of peers that have joined.",
383389
})
384-
385-
reg.MustRegister(peerInfo, clusterFailedPeers, p.failedReconnectionsCounter, p.reconnectionsCounter,
386-
p.peerLeaveCounter, p.peerUpdateCounter, p.peerJoinCounter, p.refreshCounter, p.failedRefreshCounter)
387390
}
388391

389392
func (p *Peer) runPeriodicTask(d time.Duration, f func()) {

0 commit comments

Comments
 (0)