Repository navigation
feat(observability): add the ErrorReporter seam (B1 of the Sentry exit) - #3493
Merged
jakebromberg merged 2 commits intoOct 18, 2026
Merged
jakebromberg merged 2 commits into
jakebromberg merged 2 commits into
Conversation
…site implementations (BS#3394) ErrorReporter, SentryReporter (on the ./sentry subpath, so the barrel stays free of vendor SDK imports), CompositeReporter and a structured-log counter. redact-query-params no longer imports isError from @sentry/core. No call-site changes.
… flush throws synchronously (BS#3394) A reporter whose flush threw synchronously stopped the reporters after it from flushing and made the composite reject. Each flush now runs inside a promise chain, so a synchronous throw or a rejection resolves to false for that reporter only. Tests: a parameterized flush table (rejects, resolves false, throws synchronously; each still flushes the others), per-method isolation for all five fire-and-forget methods, and parallel flushing. Docs: setRequestTag is the current scope, not the run-wide isolation-scope tags job loggers set; flush has no deadline of its own and is bounded only if each reporter honours timeoutMs. hasErrorTag now matches the tags @sentry/core 11.4 isError accepts (WebAssembly.Exception in, DOMError out).
jakebromberg
force-pushed
the
orchestrator/observability-seam-errorreporter-interface-with-a
branch
from
October 18, 2026 23:03
81a711c to
70890b7
Compare
jakebromberg
deleted the
orchestrator/observability-seam-errorreporter-interface-with-a
branch
October 18, 2026 23:12
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.
Closes #3394. Part of #3393 (Sentry exit), slice B1.
Adds
ErrorReporter,CompositeReporterand a structured-loglogCounterto@wxyc/observability, andSentryReporteron a new@wxyc/observability/sentrysubpath so the eagerly preloaded barrel gains no vendor SDK import.SentryReporterforwards exceptions, messages, levels, tags, extra, fingerprints and breadcrumbs to@sentry/nodeas call sites do today; unit tests pin those calls.SentryReporter.recordCounterwrites the structured log line{"metric", "value", ...fields}and does not callSentry.metrics.count(epic PD2).redact-query-params.tsno longer importsisErrorfrom@sentry/core; it uses a local tag check. No call-site changes.This is observability plumbing, not a feature, so the post-launch hardening freeze (project #32) does not apply.
Local checks: prettier, eslint, typecheck and
test:unit(715 suites) pass, and the pre-push hook passed.npm run ci:testmockis left to GitHub CI because Docker was not available locally.