The exceptiontrace storage stores serviceName per row and every Error Analysis query filters by it, but the response views (ExceptionDetailView) do not expose the field. Rows returned by /api/errors/errorList therefore cannot say which service they belong to, and the error detail view falls back to the screen's service when opening a row (#14187).
Expose serviceName in the response views so consumers pass the row's own service through, the same way errorKey does for call tree rows.
Tasks:
Starting points:
exceptiontrace/exceptiontrace-web/.../view/ExceptionDetailView.java
exceptiontrace/exceptiontrace-web/src/main/resources/exceptiontrace/mapper/ExceptionMetadataMapper.xml — selected columns
web-frontend/.../constants/types/ErrorAnalysisErrorList.ts, ErrorAnalysisErrorDetailFetcher.tsx — the screen-service fallback this removes in practice
The exceptiontrace storage stores serviceName per row and every Error Analysis query filters by it, but the response views (
ExceptionDetailView) do not expose the field. Rows returned by/api/errors/errorListtherefore cannot say which service they belong to, and the error detail view falls back to the screen's service when opening a row (#14187).Expose
serviceNamein the response views so consumers pass the row's own service through, the same wayerrorKeydoes for call tree rows.Tasks:
serviceNametoExceptionDetailViewand the mapper's selected columnsserviceNameto the frontendErrorAnalysisErrorList.ErrorDatatype and pass it to the detail queryErrorAnalysisTransactionInfo.Parameters.serviceNamerequired (missing values default to DEFAULT) and drop the screen-service fallback in the detail fetcherStarting points:
exceptiontrace/exceptiontrace-web/.../view/ExceptionDetailView.javaexceptiontrace/exceptiontrace-web/src/main/resources/exceptiontrace/mapper/ExceptionMetadataMapper.xml— selected columnsweb-frontend/.../constants/types/ErrorAnalysisErrorList.ts,ErrorAnalysisErrorDetailFetcher.tsx— the screen-service fallback this removes in practice