Graft looks really cool! Initially I just got it running and played around with the GUI. I am looking forward to going through https://github.com/semihsalihoglu/graft/wiki/Advanced-Examples, but haven't got that far yet.

The docs on github.comI noticed that it's logging stuff like the adjacency list; that's useful. I think there's a lot of potential to go beyond being just a debugger and could become a complete GUI for Giraph itself.

Imagine being able to browse graphs in HDFS through a GUI, run computations on them, share results via hrefs to other people, etc..

-Eugene


On 6/6/14, 1:51 PM, Vijayakumar Ramdoss wrote:
Thanks Semih, I will give a try

Sent from my iPhone

On Jun 5, 2014, at 11:38 AM, Eugene Koontz <ekoo...@hiro-tan.org <mailto:ekoo...@hiro-tan.org>> wrote:

Interesting; thanks Semih! I will try Graft out over the weekend.



On Jun 4, 2014, at 11:00 AM, Semih Salihoglu <se...@stanford.edu <mailto:se...@stanford.edu>> wrote:

Hi Giraph Users,

I wanted to introduce to you Graft, a project that some of us at Stanford have built over the last quarter. If you are a Giraph user, who ran into an annoying bug in which the code was throwing an exception or resulting in incorrect looking messages or vertex values (e.g. NaNs or NullPointerExceptions) and you had put in println statements into your compute() functions, and then inspect logs of Hadoop workers for debugging purposes, you should read on. You might find Graft very useful.

In a nutshell, Graft is based on the idea of /capturing /the contexts under which a bug becomes noticeable (an exception is thrown or an incorrect message is sent, or a vertex is assigned an incorrect value) programmatically. The captured contexts can then be /visualized/ through a GUI. The contexts that a user thinks could be helpful for catching the bug can then be /reproduced/ in a compilable program and the user can then use his/her favorite IDE's debugger to do step-by-step debugging into the context. For example, when a vertex /v/ throws an exception, the user can reproduce the context under which /v/ throws the exception and then use (say) Eclipse to do step-by-step debugging to see exactly what lines were executed that resulted in the exception being thrown.

On the testing side, Graft makes it easier to generate unit and end-to-end tests by letting users curate small graphs through its GUI's testing mode, and then generates code snippets which can be copied and pasted into a JUnit test.

The project is still under development but interested users can start using it. We have a wiki with documentation and instructions on how to install and use Graft: https://github.com/semihsalihoglu/graft/wiki. Since the project is under development, we'd highly appreciate users to start using it and giving us direction on how to make it more useful. Our emails are on the documentation page. We also encourage interested developers to contribute to it if there are requested features that we don't get to very quickly.

Just a small note: Graft works for the Giraph at trunk: https://github.com/apache/giraph/tree/trunk. We do not support earlier version. In particular your programs need to be written by extending Computation and optionally the Master class, instead of the older Vertex class.

Best,

semih


Reply via email to