On Sun, Jan 23, 2011 at 21:48, Luke Kanies <[email protected]> wrote: > On Jan 23, 2011, at 5:52 PM, Nigel Kersten wrote: >> On Sun, Jan 23, 2011 at 12:39 AM, Daniel Pittman <[email protected]> >> wrote: >>> From: Daniel Pittman <[email protected]> >>> >>> This implements Tarjan's algorithm for finding strongly connected components >>> in a directed graph, and leverages that to find cycles.
[...] >> No code comment, but I'm very happy to see active work on this. It's >> very frustrating to debug these situations. > > I second this. > > I'd always planned on producing subgraphs (in dot format) when cycles were > encountered, since that's what I've always done for visual debugging, but I > never got around to it. So, in thinking about how to make this maximally useful, I figured that the following properties were valuable: * it should strongly prefer shorter paths in the cycle when reporting * it should limit reported paths to something like ten per cycle At the moment it only emits textual data. How strongly do y'all feel about wiring in something like emitting dot graphs for the cycle only? It isn't technically hard to do that, just not actually implemented. I have kind of cheated and avoided building subgraphs for any of this stuff; it might make sense, but seems relatively costly for something used only in an error reporting situation. OTOH, if detecting strong clusters and building subgraphs from them was useful elsewhere (or general subgraph extraction)... Regards, Daniel -- ⎋ Puppet Labs Developer – http://puppetlabs.com ✉ Daniel Pittman <[email protected]> ✆ Contact me via gtalk, email, or phone: +1 (877) 575-9775 ♲ Made with 100 percent post-consumer electrons -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
