Zipkin: Improve error source (#99099)

* Zipkin: Improve error source

* Revert file name change
This commit is contained in:
Ivana Huckova
2025-01-17 10:04:33 +01:00
committed by GitHub
parent f9a61e2eb2
commit 5e23b2c07f
3 changed files with 25 additions and 2 deletions
+13 -1
View File
@@ -118,7 +118,7 @@ func (z *ZipkinClient) Traces(serviceName string, spanName string) ([][]model.Sp
func (z *ZipkinClient) Trace(traceId string) ([]model.SpanModel, error) {
trace := []model.SpanModel{}
if traceId == "" {
return trace, errors.New("invalid/empty traceId")
return trace, backend.DownstreamError(errors.New("invalid/empty traceId"))
}
traceUrl, err := url.JoinPath(z.url, "/api/v2/trace", url.QueryEscape(traceId))
@@ -128,6 +128,9 @@ func (z *ZipkinClient) Trace(traceId string) ([]model.SpanModel, error) {
res, err := z.httpClient.Get(traceUrl)
if err != nil {
if backend.IsDownstreamHTTPError(err) {
return trace, backend.DownstreamError(err)
}
return trace, err
}
@@ -138,6 +141,15 @@ func (z *ZipkinClient) Trace(traceId string) ([]model.SpanModel, error) {
}
}
}()
if res != nil && res.StatusCode/100 != 2 {
err := backend.DownstreamError(fmt.Errorf("request failed: %s", res.Status))
if backend.ErrorSourceFromHTTPStatus(res.StatusCode) == backend.ErrorSourceDownstream {
return trace, backend.DownstreamError(err)
}
return trace, err
}
if err := json.NewDecoder(res.Body).Decode(&trace); err != nil {
return trace, err
}