@@ -1,5 +1,9 @@
# Changelog
+## [Unreleased]
+### Changed
+- Format New Relic and OpenTelemetry metadata values that implement the `fmt.Stringer` interface as strings.
+
## [3.30.0] - 2025-09-17
### Added
- Add [IMGPROXY_GRACEFUL_STOP_TIMEOUT](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_GRACEFUL_STOP_TIMEOUT) config.
@@ -141,6 +141,11 @@ func setMetadata(span attributable, key string, value interface{}) {
return
}
+ if stringer, ok := value.(fmt.Stringer); ok {
+ span.AddAttribute(key, stringer.String())
+ return
+ }
rv := reflect.ValueOf(value)
switch {
case rv.Kind() == reflect.String || rv.Kind() == reflect.Bool:
@@ -431,6 +431,11 @@ func setMetadata(span trace.Span, key string, value interface{}) {
+ span.SetAttributes(attribute.String(key, stringer.String()))