On 18.12.2017 18:52, Steven Rostedt wrote: > On Mon, 18 Dec 2017 17:23:24 +0100 > David Hildenbrand <da...@redhat.com> wrote: > >> What I need: Start tracing and flush all buffers when exiting. (e.g. > > Why don't you use "trace-cmd start" and "trace-cmd extract"? > > "trace-cmd record" is all about not losing events. If you are creating > a big buffer, then I think you want to use this. > > # trace-cmd start -p <tracer> -e <events> -b <big-buffer-size> > # run test > # trace-cmd stop > # trace-cmd extract > > Wouldn't that work for you?
It works for some scenarios I have in mind. Especially when recording long runs, it might be beneficial to e.g. wakeup every 30 seconds to just write out a couple of MB of traces (compared to right now -s 30000000 waking up every couple of milliseconds). With start/stop/extract the downside is, that buffers have to be huge for longer runs. I'll have a try tomorrow if I I''lose events with 20MB buffers per CPU when recording more than 60 seconds (on a very active system with mentioned scheduler rtaces being turned on). Thanks! > > -- Steve > >> after 30 seconds). Never wakeup in between, so the real trace overhead >> in that period of time is purely storing the tracepoints to the buffer >> in the kernel. Of course we could implement something like that ("copy >> from the buffer only when exiting") or try to see if we can fix the >> existing "-s" flag in a way that allows it. -- Thanks, David / dhildenb