Hi cafe, Let me bring to your attention this package developed by me and Dmitry Astapov:
http://hackage.haskell.org/package/greg-client It is a Haskell binding to the "greg" logger ( http://code.google.com/p/greg , http://github.com/jkff/greg - "global registrator" ). You can read the project's description and motivation at the homepage http://code.google.com/p/greg , but here are some highlights: * It's designed for debugging lattency bottlenecks or synchronization issues in distributed systems. I've been using it on small and large clusters, Dmitry has been using it for debugging haskell-mpi if I'm correct (Dmitry, can you elaborate a bit?). * It's a client/server logger - you launch a server and clients log messages to it * It provides a high-precision global time axis by computing clock offset between server and each client (this allows to register events with their occurence timestamps, not arrival-to-server timestamps) * It's very fast (I squeezed 400,000 messages/sec = 20Mb/s out of the Java binding) * It can handle a huge number of clients (a much less scalable implementation was tested on a 2000-core cluster) * It's robust to intermittent deaths of clients, server or the link between them * It's very lightweight - no persistence infrastructure, piles of config files or whatever - just send him the messages, it will align them on the global axis and log them to console I found it especially useful in conjunction with the log visualization tools described here http://slideshare.net/jkff/two-visualization-tools . P.S. How to use it (while hackage hasn't yet rebuilt the docs): import System.Log.Greg main = withGregDo defaultConfiguration $ do .... ...logMessage "Something happened"... -- Eugene Kirpichov Senior Software Engineer, Grid Dynamics http://www.griddynamics.com/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe