BobSong-dev opened a new pull request, #7538:
URL: https://github.com/apache/shenyu/pull/7538
Follow-up to #7522.
## Background
The MCP call metrics review suggested simplifying error observation and
making
the callback boundary and plugin ordering clearer. The original execution
error
and a subsequent failure to write its error response are different events:
dropping the terminal observer would leave a write failure or timeout
classified
as the original rejection.
## Changes
- Classify the original error in `onErrorResume`; retain and explain the
terminal
hook for recovery-write failures.
- Give the observation constructor a typed callback and keep null/wrong-type
exchange attributes safe at the handler boundary.
- Document that Metrics must run before Agent Gateway.
- Check registered metric names and collector types instead of fixed map
sizes.
- Add JSON/SSE regressions for failed, timed-out and cancelled error
responses,
and separate coverage for absent and wrong-type callbacks.
The six outcomes, millisecond units, default buckets, exactly-once recording,
protocol and response contract remain unchanged. There are no dependency,
Admin, metric-label, token-accounting or tool-result changes.
## Verification
- Windows JDK 17, targeted 14-module `clean verify`: 317 tests in 18 suites,
zero failures/errors/skips; Checkstyle and RAT passed in all 14 modules.
- Linux RISC-V under Docker/QEMU, JDK 17, fresh-source targeted `verify`:
the same 317 tests and 18 suites passed, with Checkstyle/RAT passed in 14
modules;
container exit 0, not OOM-killed. This is emulation, not native hardware.
- Latest-master compatibility: the same five-file patch applied without
conflict
to master `15f926de4`, which includes merged #7512. A separate Windows
source
snapshot passed targeted `clean verify`: 422 tests in 26 suites, zero
failures/errors/skips; Checkstyle/RAT passed in 14 modules. This extra
selection
includes the remote catalog and transport tests. It does not replace the
original branch's two-platform results or claim a fresh RISC run on new
master.
The branch starts from merged master `76122a455`; it has no unmerged PR
dependency. Commit `7d342d72c` was normally pushed to
`BobSong-dev/shenyu:refactor/agent-gateway-metrics-observation`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]