Repository navigation
Show connector errors in the profiler - #7491
Karakatiza666 wants to merge 1 commit into
Conversation
| {:else if displayItems.length === 0} | ||
| <div class="p-2 text-surface-500"> | ||
| {#if tagsFilter === 'all'} | ||
| No errors |
There was a problem hiding this comment.
pitfall (medium): For a bundle collected before include_connector_errors, the tab label shows e.g. Connectors 3 and the table shows the error icon, but clicking it says "No errors". That is misleading during triage. When the status has no parse_errors/encode_errors/transport_errors key at all (undefined, not []), say something like "This bundle was collected without connector error details" instead.
|
LGTM. One medium UX pitfall is noted inline: old bundles show an error count on the tab but "No errors" in the drawer. What I ran
Gates: tests cover the moved component, the wrapper, the drawer and the badge. No flaky patterns, no new deps, no docs needed (internal viewer). The move preserves the old behaviour; the only change is that the error lists are now picked by Not covered (low): a test where the drawer is open and the timestamp changes to a bundle where that connector has errors, i.e. drawer reset plus re-open on the new snapshot. The existing "closes when the bundle changes" test mostly covers this. |
d4b27e0 to
467b305
Compare
27314e1 to
678f25e
Compare
409468e to
d94170a
Compare
3306901 to
5292c73
Compare
5292c73 to
25003e8
Compare
25003e8 to
ece8323
Compare
|
LGTM — the shared
Gates: tests ✅, flakiness ✅ (no sleeps; async checks use tech-debt (medium, pre-existing, not introduced here): The fetch
Now that the component is shared, this is a cheap follow-up fix: drop the response if the props have changed, and set |
| connectorName.slice(getCaseDependentName(relationName).name.length + 1) | ||
| ) | ||
|
|
||
| type DisplayItem = { kind: 'error'; error: ConnectorError } | { kind: 'gap'; count: number } |
There was a problem hiding this comment.
Is "gap" a set of missing messages?
Please document this.
| return result | ||
| } | ||
|
|
||
| function getErrorArrays( |
There was a problem hiding this comment.
document the result type, I suspect it maps a connector name to a list of errors
| filter: ConnectorErrorFilter | ||
| } | null>(null) | ||
|
|
||
| // A new bundle or timestamp closes the drawer of the previous connector. |
There was a problem hiding this comment.
I don't understand why this comment is here
| @@ -0,0 +1,174 @@ | |||
| /** The Connectors tab opens the errors of a connector from its statistics, in a drawer. */ | |||
There was a problem hiding this comment.
this is a test file, the comments should reflect that.
| @@ -0,0 +1,80 @@ | |||
| import { aggregateConnectorMetrics, countConnectorErrors } from 'common-ui/connectorMetrics' | |||
There was a problem hiding this comment.
how come we didn't have such tests before for the main display?
There was a problem hiding this comment.
Probably those features got merged before I started the extensive automated test coverage
4227452 to
c8df28a
Compare
c8df28a to
bb022b6
Compare
bb022b6 to
a24c6ab
Compare
a24c6ab to
f191e71
Compare
f191e71 to
f5203f2
Compare
f5203f2 to
78c983e
Compare
8233d18 to
4d3e529
Compare
4d3e529 to
2b8be45
Compare
2b8be45 to
a7359b5
Compare
a7359b5 to
2a9c4a9
Compare
2a9c4a9 to
f27b20c
Compare
f27b20c to
f76497c
Compare
32a951d to
b118cb9
Compare
Show the errors of a connector in the support bundle viewer, as the web console does for a running pipeline. - Move ConnectorErrors to common-ui. It takes the connector status as a prop and picks the error lists by direction. - Keep a thin ConnectorErrors wrapper in the web console. It fetches the status from the API and renders the shared component. - Open the errors of a connector in a drawer on the Connectors tab. The profiler reads the status from stats.json of the bundle. - Show the number of connector errors on the Connectors tab label. - Add countConnectorErrors to common-ui. Bundles that were collected before the pipeline manager added include_connector_errors have no error lists. They show "No errors".
b118cb9 to
6b8e6d5
Compare
The support bundle viewer shows the errors of a connector, as the web console does for a running pipeline.
ConnectorErrorsmoves to common-ui. It takes the connector status as a prop and picks the error lists by direction.ConnectorErrorswrapper. It fetches the status from the API and renders the shared component.stats.jsonof the bundle.countConnectorErrorsin common-ui sums the error counters of all connectors.Bundles that were collected before the pipeline manager added
include_connector_errorshave no error lists. They show "No errors".Testing
countConnectorErrors, the sharedConnectorErrorscomponent, the errors drawer of the Connectors tab, the error count on the tab label, and the web console wrapper. Each test fails when the code that it covers is broken.