fix(observability): add capability to inspect (lost) webhooks#165
Merged
fix(observability): add capability to inspect (lost) webhooks#165
Conversation
…path Webhook traces carried no identifying attributes, making it impossible to correlate which specific webhooks flowed through or were lost. This enriches existing spans with delivery ID, event type, job ID, repo, and action, and adds debug-level logging with full payload bodies across the gateway and planner consume path.
Contributor
There was a problem hiding this comment.
Pull request overview
Improves webhook observability across the gateway and planner consumer so individual deliveries can be correlated and “lost” webhooks can be investigated end-to-end.
Changes:
- Centralizes GitHub webhook header constants into a shared
internal/githubpackage. - Enriches webhook gateway spans with GitHub delivery/event attributes and adds additional debug logging.
- Adds delivery/job/repo/action context (and debug payload logging) in the planner consumer path.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| internal/webhook/server.go | Uses shared GitHub header constants; adds span attributes and debug logs around receive/send. |
| internal/webhook/server_test.go | Updates tests to use shared GitHub header constants. |
| internal/planner/consumer.go | Uses shared header constants; adds delivery/job attributes and debug logs during consume. |
| internal/github/headers.go | New shared constants for webhook header names/prefix. |
…fix/webhook-debug-logging
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
yanksyoon
approved these changes
Mar 23, 2026
florentianayuwono
approved these changes
Mar 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Webhook traces carried no identifying attributes, making it impossible to correlate which specific webhooks flowed through or were lost. This enriches existing spans with delivery ID, event type, job ID, repo, and action, and adds debug-level logging across the gateway and planner consume path.
Rationale
In order to troubleshoot lost webhooks, we need to have more observability.
Checklist
CONTRIBUTING.mdhas been updated upon changes to the contribution/development process (e.g. changes to the way tests are run)