Skip to content

Commit

Permalink
Add more debug info
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Wang <[email protected]>
  • Loading branch information
ahrtr committed Jan 31, 2025
1 parent 3648220 commit e88fda2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
2 changes: 2 additions & 0 deletions server/etcdserver/api/v3rpc/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package v3rpc

import (
"crypto/tls"
"fmt"
"math"

grpc_prometheus "github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus"
Expand Down Expand Up @@ -44,6 +45,7 @@ func Server(s *etcdserver.EtcdServer, tls *tls.Config, interceptor grpc.UnarySer

var mopts []grpc_prometheus.ServerMetricsOption
if s.Cfg.Metrics == "extensive" {
fmt.Println("###### IN v3rpc.Server, enabling the extensive metrics")
mopts = append(mopts, grpc_prometheus.WithServerHandlingTimeHistogram())
}
serverMetrics := grpc_prometheus.NewServerMetrics(mopts...)
Expand Down
1 change: 1 addition & 0 deletions tests/framework/integration/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -963,6 +963,7 @@ func (m *Member) Launch() error {
zap.Strings("advertise-peer-urls", m.PeerURLs.StringSlice()),
zap.Strings("listen-client-urls", m.ClientURLs.StringSlice()),
zap.String("grpc-url", m.GRPCURL),
zap.String("metrics", m.Metrics),
)
var err error
if m.Server, err = etcdserver.NewServer(m.ServerConfig); err != nil {
Expand Down
15 changes: 14 additions & 1 deletion tests/integration/clientv3/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ import (
"bytes"
"context"
"errors"
"fmt"
"io"
"maps"
"net"
"net/http"
"slices"
"sort"
"strconv"
"strings"
"testing"
Expand Down Expand Up @@ -321,9 +323,11 @@ func TestAllMetricsGenerated(t *testing.T) {

// Get the list of generated metrics
generatedMetrics := getMetricsList(t, url)
sort.Strings(generatedMetrics)
t.Logf("All generated metrics: %v", formatMetrics(generatedMetrics))
for _, metric := range expectedMetrics {
if !slices.Contains(generatedMetrics, metric) {
t.Errorf("Expected metric %s not found in generated metrics", metric)
t.Fatalf("Expected metric %s not found in generated metrics", metric)
}
}
}
Expand All @@ -337,3 +341,12 @@ func getMetricsList(t *testing.T, url string) []string {
}
return slices.Collect(maps.Keys(mfs))
}

func formatMetrics(metrics []string) string {
quoted := make([]string, len(metrics))
for i, s := range metrics {
quoted[i] = fmt.Sprintf(`"%s",`, s)
}

return fmt.Sprintf("[]string{\n%s\n}", strings.Join(quoted, "\n"))
}

0 comments on commit e88fda2

Please sign in to comment.