[Orchestrion]: Enable Error Capture for Functions Returning Types Implementing error #3168
Labels
enhancement
quick change/addition that does not need full team approval
orchestrion
Issues pertaining to orchestrion support
Uh oh!
There was an error while loading. Please reload this page.
Package Name
No response
Package Version(s)
No response
Describe the feature you'd like
I would like the dd-trace-go instrumentation to support error capture for functions whose return types implement the error interface, even if the return type is not explicitly defined as
error
.This would involve extending the template helper (e.g., creating a helper like
ResultHasError
) to check whether a type implements error using something liketypes.Implements
, rather than doing a strict type equality check.Is your feature request related to a problem?
Yes, it is. Currently, when using the
//dd:span
tag, the error capture functionality only activates if the function’s return type is strictlyerror
.This causes issues when a function returns a different type (or an interface implementing error) since the error is not captured, leading to missing error reporting in spans.
As a workaround, users are forced to either change the function signature to return error explicitly or resort to manually handling errors with the dd-trace-go API.
Describe alternatives you've considered
No response
Additional context
This feature request was sparked by a discussion on the Orchestrion GitHub discussions.
I believe that modifying the
dd-trace-go
templates to allow error capture for types that implement error will improve usability for a broader range of scenarios.I would be happy to work on this change if it's considered a worthwhile improvement by the maintainers.
The text was updated successfully, but these errors were encountered: