pcp
[Top] [All Lists]

Re: [pcp] suitability of PCP for event tracing

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: [pcp] suitability of PCP for event tracing
From: Greg Banks <gnb@xxxxxxxxxxx>
Date: Tue, 31 Aug 2010 13:29:28 +1000
Cc: "Frank Ch. Eigler" <fche@xxxxxxxxxx>, "systemtap@xxxxxxxxxxxxxxxxxx" <systemtap@xxxxxxxxxxxxxxxxxx>, "pcp@xxxxxxxxxxx" <pcp@xxxxxxxxxxx>
In-reply-to: <4C7A7DFE.2040606@xxxxxxxxxxxxxxxx>
References: <20100827153906.GD3185@xxxxxxxxxx> <4C7A7DFE.2040606@xxxxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.23 (X11/20090817)
Ken McDonell wrote:
On 28/08/2010 1:39 AM, Frank Ch. Eigler wrote:

The table below outlines some of the differences ... these help to explain why PCP is /a priori/ not necessarily suitable for event tracing.

        
        

        
        

        
        

        
        

        
        

        
        

        
        

        
        


I think another problem is the dynamic range of time scales. Event tracing tracing tends to require analysis of behaviour that manifests at wildly varying time scales in the same trace, from the tens of seconds down to the microseconds. PCP's front ends are not very good at doing this kind of thing, and don't really handle zooming or LoD or bookmarking well.



* no web-based frontends

  In our usage, it would be desirable to have some mini pcp-gui that
  is based on web technologies rather than QT.

There are several examples of web interfaces driven by PCP data ... but each of these has been developed as a proprietary and specific application and hence is not included in the PCP open source distribution. The PCP APIs provide all the services needed to build something like this.

Myself and at least one other person on the PCP list have been involved with designing three generations of one such proprietary web front end, and we found it quite a difficult problem to solve. The main issue was that the PCP architecture is basically a stateless client-driven pull, so that any operation which needs to maintain state across multiple samples (like time averages, or rate conversion of counters) needs to be done all the way out in the client. Our browser requirements prevented us from using Javascript, so we had no practical way to do that, and had to insert a caching/rate conversion/averaging daemon in between. That daemon proved...troublesome. These days a JS + AJAX + SVG solution would probably do the trick nicely, and would be interesting to write.

Also, Frank: you mentioned NFS in passing; I'm curious as to what exactly you're up to?

--
Greg.

<Prev in Thread] Current Thread [Next in Thread>