Skip to content

feat(opentelemetry): add push notification tracing with CLIENT spans - #1228

Merged
ehsavoie merged 1 commit into
a2aproject:mainfrom
ehsavoie:issue_1217
Oct 16, 2026
Merged

ehsavoie merged 1 commit into
a2aproject:mainfrom
ehsavoie:issue_1217

Conversation

@ehsavoie

Copy link
Copy Markdown
Collaborator

Add OpenTelemetryPushNotificationSenderDecorator that wraps PushNotificationSender to create a CLIENT span for every push delivery. The span carries task_id, context_id, push_notification.event_kind, and optional response payload attributes, with error.type on delivery failure.

Fixes #1217 🦕

Add OpenTelemetryPushNotificationSenderDecorator that wraps
PushNotificationSender to create a CLIENT span for every push delivery.
The span carries task_id, context_id, push_notification.event_kind, and
optional response payload attributes, with error.type on delivery failure.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
@ehsavoie
ehsavoie requested a review from kabir October 16, 2026 09:42

Span span = spanBuilder.startSpan();
try (Scope scope = span.makeCurrent()) {
delegate.sendNotification(event, taskSnapshot);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • P1 — Failed push deliveries are recorded as successful. OpenTelemetryPushNotificationSenderDecorator.java:95 sets StatusCode.OK whenever BasePushNotificationSender.sendNotification() returns. That sender catches transport, validation, serialization, and formatter failures, converts them to false, logs them, and returns normally. As a result, real webhook failures produce an OK span with no error.type, contrary to the PR description. Have the sender expose delivery outcome or move tracing around each actual dispatch result.

@ehsavoie
ehsavoie merged commit ada3581 into a2aproject:main Oct 16, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Push notification delivery is completely untraceable

2 participants