Existing dependency in the project. Wrapped message sends in named spans and recorded success/failure counters keyed by the SDK's error code. Exercised the failure path with placeholder credentials: the API rejected them promptly with a structured error code, which showed up in metrics and alongside the auto-instrumented outbound HTTP span.
- What worked
- Errors carry a stable numeric code that is convenient as a metric attribute; failures surfaced quickly rather than hanging.
