On 02/16/2012 08:33 PM, Liu Yuan wrote:
> On 02/16/2012 11:40 PM, Steven Dake wrote:
> 
>> Have a look at the ring buffer in libqb.  (http://www.libqb.org).  It
>> allows arbitrary sized ring buffers with arbitrary sized blocks of data
>> (rather then pointers as in this implementation).
>>
> 
> 
> I think libqb is kind of overkill for trace buffer. Simple ring buffer
> will suffice for the sheepdog trace data buffering currently.
> 
>> There is also tracing/logging in this library, but you may be more
>> interested in the on/off model vs the always-on model imposed by libqb.
>>  (Even though the always-on model is very low overhead).
> 
> 
> Libqb is very powerful at logging, but not at tracing. It doesn't
> provide ftrace-like dynamic code patching for accounting the CPU usage
> at function granularity.
> 
> Current sheepdog's logging system is sync logging, I have considered it
> to replace the sheepdog's current logging system to gain async logging
> for better performance, lower overhead. But I found that libqb does much
> more than logging, and the LOC of code base is even more than sheep's.
> So we are considering to add async capability to the current logging
> system instead of replacing it completely.
> 

Also has a nice flight recorder.

But I hear you on LOC issue. In any regard keep it in mind for future
projects.  I am using for pacemaker cloud, and have found it really
rocks and thus far haven't found any bugs (which is surprising).

Regards
-steve

> Thanks,
> Yuan
> 

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to