Skip to content

feat(opentelemetry): add push notification tracing and trace-context propagation - #1229

Open
ehsavoie wants to merge 1 commit into
a2aproject:mainfrom
ehsavoie:issue_1217
Open

ehsavoie wants to merge 1 commit into
a2aproject:mainfrom
ehsavoie:issue_1217

Conversation

@ehsavoie

Copy link
Copy Markdown
Collaborator
  • Add OpenTelemetryPushNotificationSenderDecorator with CLIENT spans that reflect actual delivery outcome (OK on success, ERROR on failure)
  • Add OpenTelemetryA2AHttpClient to inject W3C traceparent/tracestate headers into outbound push notification HTTP requests
  • Change PushNotificationSender.sendNotification() from void to boolean so decorators can observe delivery success or failure
  • Use @Alternative @priority(1) to resolve CDI ambiguity on A2AHttpClient
  • DRY: merge extractTaskId/extractContextId into single extractIds()
  • Fix null safety in span error description
  • Remove LENIENT Mockito strictness, stub only in tests that need it
  • Refactor integration test helpers: shared HttpClient, Gson, clearExportedSpans()
  • Use HashMap instead of ConcurrentHashMap where CopyOnWriteArrayList suffices

Fixes #1217 🦕

…propagation

- Add OpenTelemetryPushNotificationSenderDecorator with CLIENT spans that
  reflect actual delivery outcome (OK on success, ERROR on failure)
- Add OpenTelemetryA2AHttpClient to inject W3C traceparent/tracestate
  headers into outbound push notification HTTP requests
- Change PushNotificationSender.sendNotification() from void to boolean
  so decorators can observe delivery success or failure
- Use @Alternative @priority(1) to resolve CDI ambiguity on A2AHttpClient
- DRY: merge extractTaskId/extractContextId into single extractIds()
- Fix null safety in span error description
- Remove LENIENT Mockito strictness, stub only in tests that need it
- Refactor integration test helpers: shared HttpClient, Gson, clearExportedSpans()
- Use HashMap instead of ConcurrentHashMap where CopyOnWriteArrayList suffices

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>

This branch has not been deployed

No deployments
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

1 participant