From f371f9e342519ac4d1c637411ba747b4fb07ec71 Mon Sep 17 00:00:00 2001 From: Nathan Fudenberg Date: Mon, 28 Oct 2024 09:56:17 -0700 Subject: [PATCH] 1.17: add stopwatches for translator and envoy syncer (#10229) (#10243) Co-authored-by: Yuval Kohavi Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com> --- projects/gloo/pkg/syncer/envoy_translator_syncer.go | 4 ++++ projects/gloo/pkg/translator/translator.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/projects/gloo/pkg/syncer/envoy_translator_syncer.go b/projects/gloo/pkg/syncer/envoy_translator_syncer.go index 59e3a08a2a0..e4fcbdd2f85 100644 --- a/projects/gloo/pkg/syncer/envoy_translator_syncer.go +++ b/projects/gloo/pkg/syncer/envoy_translator_syncer.go @@ -21,6 +21,7 @@ import ( "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" "github.com/solo-io/solo-kit/pkg/api/v2/reporter" + "github.com/solo-io/gloo/pkg/utils/statsutils" "github.com/solo-io/gloo/pkg/utils/syncutil" "github.com/solo-io/gloo/projects/gateway2/translator/translatorutils" v1snap "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot" @@ -78,6 +79,9 @@ func measureResource(ctx context.Context, resource string, length int) { func (s *translatorSyncer) syncEnvoy(ctx context.Context, snap *v1snap.ApiSnapshot, allReports reporter.ResourceReports) { ctx, span := trace.StartSpan(ctx, "gloo.syncer.Sync") defer span.End() + stopwatch := statsutils.NewTranslatorStopWatch("EnvoySyncer") + stopwatch.Start() + defer stopwatch.Stop(ctx) s.snapshotHistory.SetApiSnapshot(snap) s.latestSnap = snap diff --git a/projects/gloo/pkg/translator/translator.go b/projects/gloo/pkg/translator/translator.go index f952a9d0710..25fa756922d 100644 --- a/projects/gloo/pkg/translator/translator.go +++ b/projects/gloo/pkg/translator/translator.go @@ -9,6 +9,7 @@ import ( "sync" "github.com/solo-io/gloo/pkg/utils/api_conversion" + "github.com/solo-io/gloo/pkg/utils/statsutils" envoy_config_cluster_v3 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" envoy_config_endpoint_v3 "github.com/envoyproxy/go-control-plane/envoy/config/endpoint/v3" @@ -84,6 +85,9 @@ func (t *translatorInstance) Translate( defer t.lock.Unlock() ctx, span := trace.StartSpan(params.Ctx, "gloo.translator.Translate") defer span.End() + stopwatch := statsutils.NewTranslatorStopWatch("EdgeSnapshotTranslator") + stopwatch.Start() + defer stopwatch.Stop(ctx) params.Ctx = contextutils.WithLogger(ctx, "translator") // re-initialize plugins on each loop, this is done for 2 reasons: