-
Notifications
You must be signed in to change notification settings - Fork 129
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
New formatter idea: worker-oriented view #355
Comments
This is awesome! Thank you for working on this! I've used the actiongraph before to debug build times, but had not considered using it to augment Let me know if there is anything I can help with! |
Yeah I initially tried to pass pipes to it then give go |
This really showcases golang/go#61233 well. So much time spent "running" packages with no tests at all! Spent some time refining the UI |
Here is a little visualization tool, that I did: It can help show some of the concurrency issues, as an addition to what is already shown by this tool. |
This looks very cool. In my case, all tests are in the same package (with many tests running simultaneously via |
Today, dots-v2 offers a great view of what is happening as tests execute. IMO, superior to others since it can show multiple packages making progress in parallel.
However, it only shows what Go's test output shows us, which misses a lot. Go has a lot of other diagnostic tools, most notably tracing and actiongraph (I talk a bit more about these here; there is no documentation in Go). These can be joined with the existing test data to give some pretty compelling visualizations, IMO.
Below is an example of a prototype I put together:
https://asciinema.org/a/DSUj5zSDHGG4XKKPp8rEy7Ycm
(note: its choppy as I turned down the write frequency to meet asciinema size limits)
Obviously the formatting is just a placeholder 🙂. But we can see a much different than others would show us.
This currently shows a liner per thread, how many actions, how long the current action has lasted, and the action (with a number of completed tests, for test run actions). At the bottom, we also show the current and expected total amount of each action type (clearly, there is a bug here as we execute more than we expect 🙂 ).
Most notably, we can see that the actual execution of the tests accounts for a trivial amount of time - almost all time is spent on linking.
The three data sources provide:
Together I think these can provide an even richer experience than what is possible today.
I have a POC at https://github.com/howardjohn/gotestsum/tree/dotsv3. Its very hacky.
The text was updated successfully, but these errors were encountered: