Revision 9368f21c53b7aa96b8743a0b8b79a0ab44d963c6 authored by Jarno Rajahalme on 20 June 2024, 21:26:05 UTC, committed by Nathan Sweet on 21 June 2024, 15:57:37 UTC
AllowsIdentity is only used for testing, move it there. Add the missing InvertedPortMask field on the wildcard port lookup. Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
1 parent d97069c
interfaces.go
// SPDX-License-Identifier: Apache-2.0
// Copyright Authors of Cilium
package metrics
import (
"github.com/prometheus/client_golang/prometheus"
dto "github.com/prometheus/client_model/go"
"github.com/cilium/cilium/api/v1/client/daemon"
"github.com/cilium/cilium/api/v1/health/client/connectivity"
metricpkg "github.com/cilium/cilium/pkg/metrics/metric"
)
type daemonHealthGetter interface {
GetHealthz(params *daemon.GetHealthzParams, opts ...daemon.ClientOption) (*daemon.GetHealthzOK, error)
}
type connectivityStatusGetter interface {
GetStatus(params *connectivity.GetStatusParams, opts ...connectivity.ClientOption) (*connectivity.GetStatusOK, error)
}
var (
NoOpMetric prometheus.Metric = &mockMetric{}
NoOpCollector prometheus.Collector = &collector{}
NoOpCounter metricpkg.Counter = &counter{NoOpMetric, NoOpCollector}
NoOpCounterVec metricpkg.Vec[metricpkg.Counter] = &counterVec{NoOpCollector}
NoOpObserver metricpkg.Observer = &observer{}
NoOpHistogram metricpkg.Histogram = &histogram{NoOpCollector}
NoOpObserverVec metricpkg.Vec[metricpkg.Observer] = &observerVec{NoOpCollector}
NoOpGauge metricpkg.Gauge = &gauge{NoOpMetric, NoOpCollector}
NoOpGaugeVec metricpkg.Vec[metricpkg.Gauge] = &gaugeVec{NoOpCollector}
NoOpGaugeDeletableVec metricpkg.DeletableVec[metricpkg.Gauge] = &gaugeDeletableVec{gaugeVec{NoOpCollector}}
)
// Metric
type mockMetric struct{}
// *WARNING*: Desc returns nil so do not register this metric into prometheus
// default register.
func (m *mockMetric) Desc() *prometheus.Desc { return nil }
func (m *mockMetric) Write(*dto.Metric) error { return nil }
// Collector
type collector struct{}
func (c *collector) Describe(chan<- *prometheus.Desc) {}
func (c *collector) Collect(chan<- prometheus.Metric) {}
// Counter
type counter struct {
prometheus.Metric
prometheus.Collector
}
func (cv *counter) Add(float64) {}
func (cv *counter) Get() float64 { return 0 }
func (cv *counter) Inc() {}
func (cv *counter) IsEnabled() bool { return false }
func (cv *counter) SetEnabled(bool) {}
func (cv *counter) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// CounterVec
type counterVec struct{ prometheus.Collector }
func (cv *counterVec) With(prometheus.Labels) metricpkg.Counter { return NoOpGauge }
func (cv *counterVec) WithLabelValues(...string) metricpkg.Counter { return NoOpGauge }
func (cv *counterVec) CurryWith(prometheus.Labels) (metricpkg.Vec[metricpkg.Counter], error) {
return NoOpCounterVec, nil
}
func (cv *counterVec) MustCurryWith(prometheus.Labels) metricpkg.Vec[metricpkg.Counter] {
return NoOpCounterVec
}
func (cv *counterVec) GetMetricWith(prometheus.Labels) (metricpkg.Counter, error) {
return NoOpCounter, nil
}
func (cv *counterVec) GetMetricWithLabelValues(...string) (metricpkg.Counter, error) {
return NoOpCounter, nil
}
func (cv *counterVec) IsEnabled() bool { return false }
func (cv *counterVec) SetEnabled(bool) {}
func (cv *counterVec) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// Observer
type observer struct{}
func (o *observer) Observe(float64) {}
func (o *observer) IsEnabled() bool { return false }
func (o *observer) SetEnabled(bool) {}
func (o *observer) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// Histogram
type histogram struct {
prometheus.Collector
}
func (h *histogram) Observe(float64) {}
func (h *histogram) Desc() *prometheus.Desc { return nil }
func (h *histogram) Write(*dto.Metric) error { return nil }
func (h *histogram) IsEnabled() bool { return false }
func (h *histogram) SetEnabled(bool) {}
func (h *histogram) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// ObserverVec
type observerVec struct {
prometheus.Collector
}
func (ov *observerVec) GetMetricWith(prometheus.Labels) (metricpkg.Observer, error) {
return NoOpObserver, nil
}
func (ov *observerVec) GetMetricWithLabelValues(lvs ...string) (metricpkg.Observer, error) {
return NoOpObserver, nil
}
func (ov *observerVec) With(prometheus.Labels) metricpkg.Observer { return NoOpObserver }
func (ov *observerVec) WithLabelValues(...string) metricpkg.Observer { return NoOpObserver }
func (ov *observerVec) CurryWith(prometheus.Labels) (metricpkg.Vec[metricpkg.Observer], error) {
return NoOpObserverVec, nil
}
func (ov *observerVec) MustCurryWith(prometheus.Labels) metricpkg.Vec[metricpkg.Observer] {
return NoOpObserverVec
}
func (ov *observerVec) IsEnabled() bool { return false }
func (ov *observerVec) SetEnabled(bool) {}
func (ov *observerVec) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// Gauge
type gauge struct {
prometheus.Metric
prometheus.Collector
}
func (g *gauge) Set(float64) {}
func (g *gauge) Get() float64 { return 0 }
func (g *gauge) Inc() {}
func (g *gauge) Dec() {}
func (g *gauge) Add(float64) {}
func (g *gauge) Sub(float64) {}
func (g *gauge) SetToCurrentTime() {}
func (g *gauge) IsEnabled() bool { return false }
func (g *gauge) SetEnabled(bool) {}
func (g *gauge) Opts() metricpkg.Opts { return metricpkg.Opts{} }
// GaugeVec
type gaugeDeletableVec struct {
gaugeVec
}
func (*gaugeDeletableVec) Delete(ll prometheus.Labels) bool {
return false
}
func (*gaugeDeletableVec) DeleteLabelValues(lvs ...string) bool {
return false
}
func (*gaugeDeletableVec) DeletePartialMatch(labels prometheus.Labels) int {
return 0
}
func (*gaugeDeletableVec) Reset() {}
type gaugeVec struct {
prometheus.Collector
}
func (gv *gaugeVec) With(prometheus.Labels) metricpkg.Gauge { return NoOpGauge }
func (gv *gaugeVec) WithLabelValues(...string) metricpkg.Gauge { return NoOpGauge }
func (gv *gaugeVec) CurryWith(prometheus.Labels) (metricpkg.Vec[metricpkg.Gauge], error) {
return NoOpGaugeVec, nil
}
func (gv *gaugeVec) MustCurryWith(prometheus.Labels) metricpkg.Vec[metricpkg.Gauge] {
return NoOpGaugeVec
}
func (gv *gaugeVec) GetMetricWith(prometheus.Labels) (metricpkg.Gauge, error) {
return NoOpGauge, nil
}
func (gv *gaugeVec) GetMetricWithLabelValues(...string) (metricpkg.Gauge, error) {
return NoOpGauge, nil
}
func (gv *gaugeVec) IsEnabled() bool { return false }
func (gv *gaugeVec) SetEnabled(bool) {}
func (gv *gaugeVec) Opts() metricpkg.Opts { return metricpkg.Opts{} }
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...