[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Tracing and profiling blog post

> On 27 Oct 2014, at 11:02, Thomas Leonard <talex5@xxxxxxxxx> wrote:
> On 27 October 2014 10:47, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>> On 27 Oct 2014, at 10:42, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>>> I've put up a blog post describing the tracing work:
>>> http://roscidus.com/blog/blog/2014/10/27/visualising-an-asynchronous-monad/
>>> It explains how to read the diagrams, what the various arrows mean and
>>> how to instrument your own programs. There are examples from tracing
>>> some Mirage unikernels. The viewer should now also work on tablets
>>> (pinch to zoom) - though probably very slowly! Let me know if there
>>> are any browser compatibility problems...
>> Great post as always!  My first reaction was wincing at the inefficiency
>> of scatter-gather IO.  Perhaps we should indeed expose a copying API to
>> minimise the guest VM <-> backend ring traffic...
> Wow - impressive speed-reading skills there!

Admittedly, I started reading when you posted on Twitter :-)

>> What are the next steps to get the profiling modules into mirage-dev
>> so that we can start sprinkling this in all of our libraries?
> I need to make mirage-profile detect whether lwt.tracing is installed
> and compile null-op functions if it isn't. The API needs a little
> cleaning up too (e.g. note_increase should probably take a counter
> object rather than a string), but that shouldn't be much work -
> libraries don't need to use many calls to provide useful trace
> information.
> The API for controlling tracing and the trace format may continue to
> change, but that shouldn't break libraries that are just providing
> trace data.

Makes sense -- the longest path is likely to be the patches to
upstream Lwt to get lwt.tracing in.  It's a core enough dependency
that requiring people to pin it all the time is probably impractical
outside of mirage-dev.

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.