From 3dae20c53589ec5ec64c261eff7778677f7d4166 Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Tue, 12 May 2026 00:23:10 +0900 Subject: [PATCH] knotmirror/xrpc: pprof labeling Signed-off-by: Seongmin Lee --- knotmirror/xrpc/git_get_blob.go | 6 +++++- knotmirror/xrpc/git_get_tree.go | 6 +++++- knotmirror/xrpc/git_list_languages.go | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/knotmirror/xrpc/git_get_blob.go b/knotmirror/xrpc/git_get_blob.go index 0da73010..4593c084 100644 --- a/knotmirror/xrpc/git_get_blob.go +++ b/knotmirror/xrpc/git_get_blob.go @@ -7,6 +7,7 @@ import ( "io" "net/http" "path/filepath" + "runtime/pprof" "slices" "strings" @@ -37,7 +38,10 @@ func (x *Xrpc) GetBlob(w http.ResponseWriter, r *http.Request) { return } - file, err := x.getFile(r.Context(), repo, ref, path) + var file *object.File + pprof.Do(r.Context(), pprof.Labels("repo", repo.String()), func(ctx context.Context) { + file, err = x.getFile(ctx, repo, ref, path) + }) if err != nil { l.Warn("local mirror failed, trying proxy", "err", err) if x.proxyToKnot(w, r, repo) { diff --git a/knotmirror/xrpc/git_get_tree.go b/knotmirror/xrpc/git_get_tree.go index c88e23ef..a8f6e85e 100644 --- a/knotmirror/xrpc/git_get_tree.go +++ b/knotmirror/xrpc/git_get_tree.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "path/filepath" + "runtime/pprof" "time" "unicode/utf8" @@ -31,7 +32,10 @@ func (x *Xrpc) GetTree(w http.ResponseWriter, r *http.Request) { return } - out, err := x.getTree(r.Context(), repo, ref, path) + var out *tangled.GitTempGetTree_Output + pprof.Do(r.Context(), pprof.Labels("repo", repo.String()), func(ctx context.Context) { + out, err = x.getTree(ctx, repo, ref, path) + }) if err != nil { l.Warn("local mirror failed, trying proxy", "repo", repo, "err", err) if x.proxyToKnot(w, r, repo) { diff --git a/knotmirror/xrpc/git_list_languages.go b/knotmirror/xrpc/git_list_languages.go index 77d6ac1c..db7470aa 100644 --- a/knotmirror/xrpc/git_list_languages.go +++ b/knotmirror/xrpc/git_list_languages.go @@ -6,6 +6,7 @@ import ( "fmt" "math" "net/http" + "runtime/pprof" "time" "github.com/bluesky-social/indigo/atproto/atclient" @@ -47,7 +48,10 @@ func (x *Xrpc) ListLanguages(w http.ResponseWriter, r *http.Request) { } } - out, err := x.listLanguages(r.Context(), repo, ref) + var out *tangled.GitTempListLanguages_Output + pprof.Do(r.Context(), pprof.Labels("repo", repo.String()), func(ctx context.Context) { + out, err = x.listLanguages(ctx, repo, ref) + }) if err != nil { l.Warn("local mirror failed, trying proxy", "err", err) if x.proxyToKnot(w, r, repo) { -- 2.51.2