-
Notifications
You must be signed in to change notification settings - Fork 45
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
Pruning tree reach
results
#71
Comments
If there are things that you do not care about, it's possible to use:
The other thing that can help reduce the graph is:
The main issue in your scenario seems to be that the package is used indirectly from so many package, the full info ends up being too much. Few ideas that do come to mind how the output could be reduced:
|
Oh, maybe printing things as layers would help?
We can ignore printing the last layer, because it doesn't have any outgoing edges. As for the ranking algorithm, there are multiple options; I'm not sure which would be the best. As for the command name, maybe:
|
goda tree reach(...)
is super useful for finding why a dependency is imported. However, for commonly used packages it can be a bit unweildy. An example is below:The issue here seems to be that we have a fan-out and fan-in. For example, a bunch of the trees end with
k8s.io/client-go/kubernetes/scheme
. Then we just have one segment thatk8s.io/client-go/kubernetes/scheme
is not a leaf.I think we can prune off these in some manner to reduce the size of the tree in some way.
I am not 100% sure how this would work, though -- since you effectively lose some of the data if we do this. I suppose "tree" is not an effective way to represent what is really a DAG, so maybe that is inherit to the problem. But it does seem like there could be a way to list out why a dependency is used in less than 800 lines in the command above.
I intend to explore what this might look like, but wanted to open an issue in the meantime
The text was updated successfully, but these errors were encountered: