Proxy observability updates
All checks were successful
Build and Publish / release (push) Successful in 2m51s

This commit is contained in:
Ryan McGuire 2025-01-12 19:14:24 -05:00
parent f87b35b306
commit 44bf293eab
2 changed files with 14 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import (
"gitea.libretechconsulting.com/rmcguire/go-app/pkg/otel" "gitea.libretechconsulting.com/rmcguire/go-app/pkg/otel"
"github.com/go-resty/resty/v2" "github.com/go-resty/resty/v2"
"github.com/rs/zerolog/log"
"go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/codes"
@ -43,12 +44,18 @@ func (awn *AWNProvider) ProxyReq(ctx context.Context, update *weather.WeatherUpd
Get(awnURL) Get(awnURL)
if err != nil { if err != nil {
span.RecordError(err) span.RecordError(err)
span.SetAttributes(
attribute.String("query", resp.Request.QueryParam.Encode()),
attribute.String("body", string(resp.Body())),
)
span.SetStatus(codes.Error, err.Error()) span.SetStatus(codes.Error, err.Error())
log.Err(err).Any("query", resp.Request.PathParams).
Int("statusCode", resp.StatusCode()).
Msg("awn proxy failed")
} }
span.SetAttributes( span.SetAttributes(
attribute.Int("statusCode", resp.StatusCode()), attribute.Int("statusCode", resp.StatusCode()),
attribute.String("body", string(resp.Body())),
) )
return err return err

View File

@ -6,6 +6,7 @@ import (
"net/url" "net/url"
"github.com/go-resty/resty/v2" "github.com/go-resty/resty/v2"
"github.com/rs/zerolog/log"
"go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/codes"
"k8s.io/utils/ptr" "k8s.io/utils/ptr"
@ -40,13 +41,17 @@ func (wu *WUProvider) ProxyReq(ctx context.Context, update *weather.WeatherUpdat
span.SetStatus(codes.Error, err.Error()) span.SetStatus(codes.Error, err.Error())
span.SetAttributes( span.SetAttributes(
attribute.String("query", resp.Request.QueryParam.Encode()), attribute.String("query", resp.Request.QueryParam.Encode()),
attribute.String("body", string(resp.Body())),
) )
span.RecordError(err) span.RecordError(err)
log.Err(err).
Int("statusCode", resp.StatusCode()).
Any("query", resp.Request.PathParams).
Msg("wunderground proxy failed")
} }
span.SetAttributes( span.SetAttributes(
attribute.Int("statusCode", resp.StatusCode()), attribute.Int("statusCode", resp.StatusCode()),
attribute.String("body", string(resp.Body())),
) )
return err return err