On 03/01/2012 10:20 AM, Liu Yuan wrote: > v3: > - fix trace_lookup_ip() > - fix main thread ring buffer init > - fix pop_return_trace() > > v2: > - use ring buffer for trace output > - add a cat operation for collie > > This patch set aims to provide a ftrace-like trace utility for performance > tuning > of online system in production environment. This means virtually no overhead > when > disabled, rather low even enabled. > > Currently 'graph' tracer is implemented, accounting CPU usage at funciton > granularity. > > The patch set achieves this by dynamically patching the binary code at > runtime, making > use of GCC -pg instrumentation features, which instrument a 5-bytes opcode in > every function. > > When the trace is > turned off, the opcode is patched as NOP opcode. > turned on, the opcode is a call opcode to our trace functions and we can > hook callbacks both for > function entry and exit. This is how the patch atually calculate the time > spent by function. > > The underlying infrastructure is quite modular, I hope we can implement other > tracers that considered useful > later. >
Hi Kazum, How is my patch that remove the coroutine usage? Is there any problem? Currently, trace can't work with coroutine. Thanks, Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
