From ff8e414f44f1ba1138b1039b170495ba96bbce4a Mon Sep 17 00:00:00 2001 From: Isabella Siu Date: Thu, 7 Nov 2024 10:51:42 -0500 Subject: [PATCH] Mark err as downstream if its from the secure socks proxy (#1136) --- backend/proxy/secure_socks_proxy.go | 4 ++++ backend/proxy/secure_socks_proxy_test.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/proxy/secure_socks_proxy.go b/backend/proxy/secure_socks_proxy.go index c70cc9aa8..e176d784b 100644 --- a/backend/proxy/secure_socks_proxy.go +++ b/backend/proxy/secure_socks_proxy.go @@ -15,6 +15,7 @@ import ( "time" "github.com/grafana/grafana-plugin-sdk-go/backend/log" + "github.com/grafana/grafana-plugin-sdk-go/experimental/status" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" "golang.org/x/net/proxy" @@ -334,6 +335,9 @@ func (d *instrumentedSocksDialer) DialContext(ctx context.Context, n, addr strin log.DefaultLogger.Error("received err from dialer", "network", n, "addr", addr, "err", err) code = "dial_error" } + if err != nil { + err = status.DownstreamError(err) + } secureSocksRequestsDuration.WithLabelValues(code, d.datasourceName, d.datasourceType).Observe(time.Since(start).Seconds()) return c, err diff --git a/backend/proxy/secure_socks_proxy_test.go b/backend/proxy/secure_socks_proxy_test.go index 5ff16c772..f854f2b2d 100644 --- a/backend/proxy/secure_socks_proxy_test.go +++ b/backend/proxy/secure_socks_proxy_test.go @@ -350,7 +350,7 @@ func TestInstrumentedSocksDialer(t *testing.T) { c, err := cd.DialContext(context.Background(), "n", "addr") assert.Nil(t, c) assert.NotNil(t, err) - assert.Equal(t, "custom error", err.Error()) + assert.Equal(t, "downstream error: custom error", err.Error()) }) }