Skip to content

Commit f4e3ad1

Browse files
committed
Fixes Pushgateway integration
1 parent cb78c3b commit f4e3ad1

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

internal/metrics/metrics.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ var (
4343
Name: EXECUTION_TIME,
4444
Help: "Function duration",
4545
Buckets: durationBuckets,
46-
}, []string{"node", "function"})
46+
}, []string{"function"})
4747
metricInitializationTime = promauto.NewHistogramVec(prometheus.HistogramOpts{
4848
Name: INITIALIZATION_TIME,
4949
Help: "Function initialization time (cold start duration)",
50-
}, []string{"node", "function"})
50+
}, []string{"function"})
5151
metricOutputSize = promauto.NewHistogramVec(prometheus.HistogramOpts{
5252
Name: OUTPUT_SIZE,
5353
Help: "Function output size",
@@ -122,7 +122,9 @@ func Init() {
122122
select {
123123
case <-ticker.C:
124124
// Push the entire registry in one go
125-
err := push.New(pushgatewayUrl, "serverledge").Gatherer(registry).Push()
125+
err := push.New(pushgatewayUrl, "serverledge").Gatherer(registry).
126+
Grouping("node", node.LocalNode.String()).
127+
Add()
126128
if err != nil {
127129
log.Printf("Could not push metrics: %v", err)
128130
}
@@ -142,10 +144,10 @@ func AddCompletedInvocation(funcName string, coldStart bool) {
142144
}
143145
}
144146
func AddFunctionDurationValue(funcName string, duration float64) {
145-
metricExecutionTime.With(prometheus.Labels{"function": funcName, "node": node.LocalNode.String()}).Observe(duration)
147+
metricExecutionTime.With(prometheus.Labels{"function": funcName}).Observe(duration)
146148
}
147149
func AddFunctionInitTimeValue(funcName string, initTime float64) {
148-
metricInitializationTime.With(prometheus.Labels{"function": funcName, "node": node.LocalNode.String()}).Observe(initTime)
150+
metricInitializationTime.With(prometheus.Labels{"function": funcName}).Observe(initTime)
149151
}
150152
func AddFunctionOutputSizeValue(funcName string, size float64) {
151153
metricOutputSize.With(prometheus.Labels{"function": funcName}).Observe(size)

internal/registration/registry.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,12 @@ func registerToEtcd(asLoadBalancer bool) error {
9898
}
9999

100100
go func() {
101+
ticker := time.NewTicker(etcdLeaseTTL * 0.75 * time.Second)
101102
for {
102-
interval := time.Duration(float64(etcdLeaseTTL) * 0.75 * float64(time.Second))
103-
time.Sleep(interval)
104-
keepAliveLease()
103+
select {
104+
case <-ticker.C:
105+
keepAliveLease()
106+
}
105107
}
106108
}()
107109

@@ -206,6 +208,7 @@ func GetLBInArea(area string) (map[string]NodeRegistration, error) {
206208
}
207209

208210
servers := make(map[string]NodeRegistration)
211+
209212
for _, s := range resp.Kvs {
210213
key := path.Base(string(s.Key))
211214
reg, err := parseEtcdRegisteredNode(area, key, s.Value)

0 commit comments

Comments
 (0)