-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Please implement output format 'graph' for cquery and aquery #10843
Comments
Hi @konste, For FWIW, I don't think this is technically too hard. If anyone's willing to volunteer to make the change we're happy to consult and review. I can't speak for |
We've (Bazel configurability) officially prioritized this for Q2. |
@meisterT - any thoughts on aquery? |
@gregestren I am not a Java developer and cannot contribute directly, but as a stop-gap solution for this problem I have a tiny Python script which converts cquery jsonproto output to .dot graph. You can find it at the end of this thread: https://groups.google.com/forum/#!msg/bazel-discuss/NMoRLSthQHY/quk9E-ACCAAJ It works and confirms that graph generation from cquery is not technically challenging. |
I have a similar script like @konste somewhere lying around. I can brush that up and make it work with the v2 proto output of aquery and then publish it. However it turned out to be less useful (at least internally) than I expected since even subsets of action graphs are so large that they don't render with graphviz anymore. |
For the actual visualization of .dot I don't use Graphviz. Instead, I apply dot2dgml and use Visual Studio to render resulting .dgml. It can render bigger graphs and adds much needed interactivity to help research it. |
TensorFlow would greatly benefit from this. I'll see if I can use the scripts mentioned in recent commits, though wfh makes this somewhat harder :) |
@gregestren
Any clue why toolchain related rules may be causing it and how to fix it? |
@konste - interesting. Is this easy to reproduce? If so, could you file a dedicated issue for it? |
@gregestren It took me some time to make a minimized repro, but now I have it and here is the dedicated issue: #11993 |
Tentatively good news: I prototyped |
EOD update: didn't get time to put in tests, but basic PR at #12248. |
Done, but I must emphasize again this only covers In case anyone missed the comment on the PR, check out this extremely cool graph visualization demo from another tool: https://youtu.be/GDbaBOCDwrQ?t=98. |
Is the feature released? In what Bazel version? I don't see it in 3.7.0. |
3.71's baseline commit was on October 5 and this commit was October 19. So I suppose not. It looks like 4.0 will have it (much newer baseline). Since that's the first iteration of Bazel's long term support policy, I don't know what that means for future |
I plan to keep up with the monthly releases and upgrade to 4.0 and 4.x. Don't have the patience to wait for the new features for 9 months. :-) |
Bazel 4.0 has the graph output format, just tested with the fresh release. |
Any update on |
@summylight I'd make a new issue request (since we already solved half of this request) just for I can't speak for priority, and recall the caveat at #10843 (comment). |
Description of the problem / feature request:
Bazel 'query' command supports output format 'graph' which is very useful for visualization of dependencies. Unfortunately cquery and aquery commands introduced later do not support 'graph' output format and it would be great to have it implemented.
Feature requests: what underlying problem are you trying to solve with this feature?
Graph visualization with 'query' gets very complex for multi-platform and multi-configuration builds. It can be made ten-fold less busy and more readable if produced by cquery for particular platform and configuration, which would make it substantially more usable.
What's the output of
bazel info release
?2.1.1
The text was updated successfully, but these errors were encountered: