GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Show connector errors in the profiler by Karakatiza666 · Pull Request #7491 · feldera/feldera

Conversation

@Karakatiza666

@Karakatiza666 Karakatiza666 commented Oct 15, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

The support bundle viewer shows the errors of a connector, as the web console does for a running pipeline.

  • ConnectorErrors moves to common-ui. It takes the connector status as a prop and picks the error lists by direction.
  • The web console keeps a thin ConnectorErrors wrapper. It fetches the status from the API and renders the shared component.
  • The Connectors tab opens the errors of a connector in a drawer. The profiler reads the status from stats.json of the bundle.
  • The Connectors tab label shows the number of connector errors.
  • countConnectorErrors in common-ui sums the error counters of all connectors.

Bundles that were collected before the pipeline manager added include_connector_errors have no error lists. They show "No errors".

Testing

  • New tests for countConnectorErrors, the shared ConnectorErrors component, 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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Karakatiza666
Karakatiza666 added this pull request to stack #7313 October 15, 2026 00:02
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Oct 15, 2026
View reviewed changes
Comment thread js-packages/common-ui/src/lib/ConnectorErrors.svelte
{:else if displayItems.length === 0}
<div class="p-2 text-surface-500">
{#if tagsFilter === 'all'}
No errors

@mythical-fred-oss mythical-fred-oss Bot Oct 15, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mythical-fred-oss

mythical-fred-oss Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

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

Check Result
profiler-layout vitest: ConnectorErrors, ConnectorsTab, countConnectorErrors, SupportBundleViewerLayout specs (browser) 61/61 pass
web-console vitest editor/performance/ 78/78 pass
svelte-check profiler-layout / common-ui 0 errors
pre-commit run --files <changed> pass

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 direction instead of 'parse_errors' in s, which is more robust.

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from d4b27e0 to 467b305 Compare October 15, 2026 00:25
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 27314e1 to 678f25e Compare October 15, 2026 17:34
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 409468e to d94170a Compare October 16, 2026 13:15
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 3306901 to 5292c73 Compare October 16, 2026 13:50
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from 5292c73 to 25003e8 Compare October 16, 2026 15:46
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from 25003e8 to ece8323 Compare October 16, 2026 16:35
@Karakatiza666
Karakatiza666 marked this pull request as ready for review October 16, 2026 19:47
@Karakatiza666
Karakatiza666 requested a review from mihaibudiu October 16, 2026 19:53
@mythical-fred-oss

mythical-fred-oss Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

LGTM — the shared ConnectorErrors in common-ui, the bundle drawer, and the error count on the tab label all look correct. The manager already collects stats.json with include_connector_errors=true, and parseConnectorStatus keeps the error lists.

What I ran Result
bun run test-unit (profiler-layout) 251/251 pass
vitest web-console editor/performance 78/78 pass
New profiler specs run 5× in a row (flakiness check) 59/59 pass every run
pre-commit run --files <changed> pass

Gates: tests ✅, flakiness ✅ (no sleeps; async checks use expect.poll/expect.element), commit message ✅, docs n/a (the bundle viewer has no docs page), no new dependencies.

tech-debt (medium, pre-existing, not introduced here): The fetch $effect in the web-console wrapper has no .catch and no guard against stale responses.

  • If the status request fails, the drawer shows "Loading…" forever.
  • If the user clicks connector A and then B, and A's response arrives last, A's errors appear under B's header.

Now that the component is shared, this is a cheap follow-up fix: drop the response if the props have changed, and set loading = false on error.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

mihaibudiu
mihaibudiu approved these changes Oct 19, 2026
View reviewed changes
Comment thread js-packages/common-ui/src/lib/ConnectorErrors.svelte
connectorName.slice(getCaseDependentName(relationName).name.length + 1)
)

type DisplayItem = { kind: 'error'; error: ConnectorError } | { kind: 'gap'; count: number }

@mihaibudiu mihaibudiu Oct 18, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is "gap" a set of missing messages?
Please document this.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread js-packages/common-ui/src/lib/ConnectorErrors.svelte Outdated
return result
}

function getErrorArrays(

@mihaibudiu mihaibudiu Oct 19, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getConnectorErrors?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@mihaibudiu mihaibudiu Oct 19, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

document the result type, I suspect it maps a connector name to a list of errors

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread js-packages/profiler-layout/src/lib/components/tabs/ConnectorsTab.svelte Outdated
filter: ConnectorErrorFilter
} | null>(null)

// A new bundle or timestamp closes the drawer of the previous connector.

@mihaibudiu mihaibudiu Oct 19, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why this comment is here

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread js-packages/profiler-layout/src/lib/components/tabs/ConnectorsTab.svelte.spec.ts Outdated
@@ -0,0 +1,174 @@
/** The Connectors tab opens the errors of a connector from its statistics, in a drawer. */

@mihaibudiu mihaibudiu Oct 19, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a test file, the comments should reflect that.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread js-packages/profiler-layout/src/lib/functions/countConnectorErrors.spec.ts
@@ -0,0 +1,80 @@
import { aggregateConnectorMetrics, countConnectorErrors } from 'common-ui/connectorMetrics'

@mihaibudiu mihaibudiu Oct 19, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how come we didn't have such tests before for the main display?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@Karakatiza666 Karakatiza666 Oct 26, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably those features got merged before I started the extensive automated test coverage

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 4227452 to c8df28a Compare October 26, 2026 11:57
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from c8df28a to bb022b6 Compare October 26, 2026 12:18
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from bb022b6 to a24c6ab Compare October 26, 2026 12:30
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from a24c6ab to f191e71 Compare October 26, 2026 13:06
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 8233d18 to 4d3e529 Compare October 26, 2026 14:27
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from 4d3e529 to 2b8be45 Compare October 26, 2026 15:47
@Karakatiza666
Karakatiza666 enabled stacked auto-merge October 26, 2026 15:51
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 26, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 26, 2026
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from 2b8be45 to a7359b5 Compare October 26, 2026 17:17
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 27, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 27, 2026
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 28, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 28, 2026
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from a7359b5 to 2a9c4a9 Compare October 28, 2026 15:49
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 28, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 28, 2026
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from 2a9c4a9 to f27b20c Compare October 28, 2026 17:39
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 28, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 29, 2026
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from f27b20c to f76497c Compare October 29, 2026 05:09
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch 2 times, most recently from 32a951d to b118cb9 Compare October 30, 2026 15:58
Base automatically changed from profiler-source-files to main October 30, 2026 19:27
@Karakatiza666
Show connector errors in the profiler
6b8e6d5
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".
@Karakatiza666
Karakatiza666 force-pushed the profiler-connector-errors branch from b118cb9 to 6b8e6d5 Compare October 30, 2026 19:27
@Karakatiza666
Karakatiza666 added this pull request to the merge queue Oct 31, 2026
Merged via the queue into main with commit 4dc7b7d Oct 31, 2026
1 check passed

Uh oh!

There was an error while loading. Please reload this page.

@Karakatiza666
Karakatiza666 deleted the profiler-connector-errors branch October 31, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@mythical-fred-oss mythical-fred-oss[bot] mythical-fred-oss[bot] left review comments
@mihaibudiu mihaibudiu mihaibudiu approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@Karakatiza666 @mihaibudiu
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.