-
Notifications
You must be signed in to change notification settings - Fork 5k
chore(reporter): report per-shard durations #38623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| const width = 800; | ||
|
|
||
| // Calculate left margin based on longest group name | ||
| // Rough estimate: 7 pixels per character at fontSize 12 |
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 wonder whether you should make it two columns, let the titles column take as much space as it needs (say, up to 50%) and the bars column take the rest?
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'm not exactly sure what you mean, but I allowed the titles to take up to 50% now.
| const y = groupY + barIndex * (barHeight + barSpacing); | ||
| barIndex++; | ||
|
|
||
| const colors = ['var(--color-scale-yellow-3)', 'var(--color-scale-orange-4)']; |
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.
Perhaps we should have more? Have you tried this with 5 shards?
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've added one more colour. it's hard to find colours in our swatch that match well
| return `${minutes}m ${seconds}s`; | ||
| }; | ||
|
|
||
| export const GroupedBarChart = ({ |
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 reminds me of timeline.tsx quite a lot!
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.
Maybe that was part of the training data 😁
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| - `duration` <[int]> Test run duration in milliseconds. | ||
| - `shards` <[Array]<[Object]>> Only present on merged reports | ||
| - `shardIndex` ?<[int]> The index of the shard, one-based. | ||
| - `tag` ?<[Array]<[string]>> Bot [`property: TestConfig.tag`] that differentiates CI environments |
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.
| - `tag` ?<[Array]<[string]>> Bot [`property: TestConfig.tag`] that differentiates CI environments | |
| - `tag` ?<[Array]<[string]>> Global [`property: TestConfig.tag`] that differentiates CI environments |
| const bots: Record<string, number[]> = {}; | ||
| for (const shard of shards) { | ||
| const botName = shard.tag.map(t => { | ||
| if (t.startsWith('@')) |
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.
Why remove @? I think we should keep it to make things familiar.
| workerIndex: number; | ||
| parallelIndex: number; | ||
| shardIndex: number; | ||
| shardIndex?: number; |
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.
Shouldn't we also update TeleTestResult.shardIndex definition to be undefined by default?
| shardIndex?: number; | ||
|
|
||
| /** | ||
| * Bot tag that differentiates CI environments. |
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.
| * Bot tag that differentiates CI environments. | |
| * Global tag that differentiates CI environments. |
Test results for "MCP"2822 passed, 116 skipped Merge workflow run. |
Test results for "tests 1"15 failed 5 flaky34396 passed, 696 skipped Merge workflow run. |
See #38604. Adds per-shard duration reporting to the merge reporter, and a visualisation of that data to HTML. In a next step, i'd like to add the heuristic from #38635 (comment), too.