From 503e0dc47aaf53d9de53d57498f9526f1f52958f Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 3 Feb 2020 20:45:26 +0100 Subject: [PATCH] more fixes Signed-off-by: Miek Gieben --- plugin/traffic/README.md | 3 ++- plugin/traffic/xds/client.go | 9 ++++++--- plugin/traffic/xds/metrics.go | 6 ++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/plugin/traffic/README.md b/plugin/traffic/README.md index b4ef4f3b1..e32e73e06 100644 --- a/plugin/traffic/README.md +++ b/plugin/traffic/README.md @@ -135,7 +135,8 @@ we continue with step 4 above, ignoring any locality. If monitoring is enabled (via the *prometheus* plugin) then the following metric are exported: - * `coredns_traffic_clusters_tracked{}` the number of tracked clusters. + * `coredns_traffic_cluster_tracked{}` the number of tracked clusters. + * `coredns_traffic_endpoint_tracked{}` the number of tracked clusters. ## Ready diff --git a/plugin/traffic/xds/client.go b/plugin/traffic/xds/client.go index 18be84a49..d8990aa52 100644 --- a/plugin/traffic/xds/client.go +++ b/plugin/traffic/xds/client.go @@ -189,14 +189,15 @@ func (c *Client) receive(stream adsStream) error { } a.SetClusterLoadAssignment(cluster.GetName(), nil) } - log.Debugf("Cluster discovery processed with %d resources, version %q and nonce %q", len(resp.GetResources()), c.Version(cdsURL), c.Nonce(cdsURL)) - ClusterGauge.Set(float64(len(resp.GetResources()))) // set our local administration and ack the reply. Empty version would signal NACK. c.SetNonce(cdsURL, resp.GetNonce()) c.SetVersion(cdsURL, resp.GetVersionInfo()) c.SetAssignments(a) c.clusterDiscovery(stream, resp.GetVersionInfo(), resp.GetNonce(), a.clusters()) + log.Debugf("Cluster discovery processed with %d resources, version %q and nonce %q", len(resp.GetResources()), c.Version(cdsURL), c.Nonce(cdsURL)) + ClusterGauge.Set(float64(len(resp.GetResources()))) + // now kick off discovery for endpoints if err := c.endpointDiscovery(stream, c.Version(edsURL), c.Nonce(edsURL), a.clusters()); err != nil { log.Debug(err) @@ -214,11 +215,13 @@ func (c *Client) receive(stream adsStream) error { } c.assignments.SetClusterLoadAssignment(cla.GetClusterName(), cla) } - log.Debugf("Endpoint discovery processed with %d resources, version %q and nonce %q", len(resp.GetResources()), c.Version(edsURL), c.Nonce(edsURL)) // set our local administration and ack the reply. Empty version would signal NACK. c.SetNonce(edsURL, resp.GetNonce()) c.SetVersion(edsURL, resp.GetVersionInfo()) + log.Debugf("Endpoint discovery processed with %d resources, version %q and nonce %q", len(resp.GetResources()), c.Version(edsURL), c.Nonce(edsURL)) + EndpointGauge.Set(float64(len(resp.GetResources()))) + default: return fmt.Errorf("unknown response URL for discovery: %q", resp.GetTypeUrl()) } diff --git a/plugin/traffic/xds/metrics.go b/plugin/traffic/xds/metrics.go index 25a46fb56..41c440795 100644 --- a/plugin/traffic/xds/metrics.go +++ b/plugin/traffic/xds/metrics.go @@ -14,4 +14,10 @@ var ( Name: "clusters_tracked", Help: "Gauge of tracked clusters.", }) + EndpointGauge = prometheus.NewGauge(prometheus.GaugeOpts{ + Namespace: plugin.Namespace, + Subsystem: "traffic", + Name: "endpoints_tracked", + Help: "Gauge of all tracked endpoints.", + }) )