From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@polymtl.ca (Mathieu Desnoyers) Date: Mon, 1 Dec 2008 06:15:40 -0500 Subject: [ltt-dev] Make lttctl use new interface In-Reply-To: <493358AF.80403@cn.fujitsu.com> References: <492F9F48.1080302@cn.fujitsu.com> <20081128123850.GA8162@Krystal> <493358AF.80403@cn.fujitsu.com> Message-ID: <20081201111540.GF25340@Krystal> * Zhaolei (zhaolei at cn.fujitsu.com) wrote: > Mathieu Desnoyers ??: > > * Zhaolei (zhaolei at cn.fujitsu.com) wrote: > >> Hi, Mathieu > >> > >> I modified lttctl for support debugfs-based ltt-trace-control. > >> > >> This patch only modified interior method of control ltt trace, > >> so command args are not changed. > >> > >> We can use this code without modify our user-manual, and lttv need not change > >> too. > >> > >> But personaly, I'd like to design a set of new command arguments for lttctl in > >> next step, for support each-channel buffer and overwrite control. > >> And old cmd-args as -X, -V, -B, -z, -x, -v may be dropped(or change for easy > >> to remember) > >> For example: > >> -c Create a trace > >> -C Create a trace and start > >> -d Destroy trace channels > >> -D Stop and destroy trace channels > >> ... > >> or > >> -c Create a trace > >> -cs Create a trace and start > >> -d Destroy trace channels > >> -td Terminate and destroy trace channels > >> ... > >> But it we do, our unlucky users must read our new manual again : ( > >> What is your opinion? > >> > > > > Your patch looks great :) But I'd go directly for a command-line > > breakage so we don't end up keeping legacy options. The sooner the > > better. > > > > I really like the -c, -C, -d, -D approach. Maybe we could have both of > > your suggestions supported as aliases ? > Hello, Mathieu Hi Zhaolei, > > I consider about following options: > > Basic options: > -c, --create tracename > Create a trace > -d, --destroy tracename > Destroy trace channels > -s, --start tracename > Start tracing --> terminate -> pause ? -p, --pause tracename Pause tracing Maybe we should add -r --read (comma separated channel list, e.g. -r "cpu,processes") Channels to read from -w, --write (disk, network, ...) Write trace data read from --read channel list through disk or network module. > -h, --help > Show help > > Advanced options: > --type > Type of trace (ex. relay) > --ltt_root > LTT channels root path. (ex. /mnt/debugfs/ltt) sounds good. > -o, --option > Set options, following operations are supported: > cpu.bufnum= > cpu.bufsize= > cpu.overwrite= > processes.bufnum= > processes.bufsize= > processes.overwrite= > interrupts.bufnum= > interrupts.bufsize= > interrupts.overwrite= > network.bufnum= > network.bufsize= > network.overwrite= > modules.bufnum= > modules.bufsize= > modules.overwrite= > metadata.bufnum= > metadata.bufsize= > Can we more generically say .bufnum= .bufsize= .overwrite= ? Because in a near future we won't be limited to the "fixed" channel names, other tracers will be allowed to register their own channel. > Integration options: > -C, --create_start tracename > Create a trace and start > -D, --stop_destroy tracename stop -> Pause. > Stop and destroy trace channels Stop -> Pause. (that's equivalent) > -A, --all_create tracename > All mode: Create trace, spawn a lttd daemon, start tracing. > (optionally, you can set LTT_DAEMON env. var.) Yeah, that's not an easy one. I guess "super mega combo pack" would not be much more descriptive neither. :) So that would be the -cs -w disk ? (or -C -w disk). Maybe we could leave that like this (two separate options), I think the -A would be too confusing. > -H, --hybrid_finish > Stop tracing, dump flight recorder trace, destroy channels That would become : -D -r "list of channels" -w disk Maybe we could also add a special -r keyword to specify "all overwrite" or "all non-overwrite" channels. Notice that the standard "hybrid" mode would be a : lttctl -C -r "non-overwrite-wildcard" -w disk ... lttctl -D -r "overwrite-wildcard" -w disk > -p, --path path > Path for write trace datas. (ex. /root/traces/example_trace) > For -A and -H options Nope, that would now go with -w option. > -a, --append > Append to trace > For -A and -H options This also would go with -w. > -n, --dump_threads number > Number of lttd threads > For -A and -H options Same here. Mathieu > > For example, create and start a trace, set cpu channel's subbuf number to 4, > set network channel overwrite, and spawn a lttd daemon is: > lttctl -A trace1 -p /tmp/trace1 -o cpu.bufsize=4 -o network.overwrite=1 > > Option of -A(--all_create) looks some strange(not very exact), I'd like to > find a word means "Do all things for start a trace", do you have some suggestion? > > And option of -H(--hybrid_finish) is not exact too, because I think we should > make it include meaning of both "finish a trace" and "hybrid", but -H only have > meaning of "hybrid". > > What is your opinion about options above? > (Because my English is pool, modify of option's comment is also welcome) > > > > > If we change this, we should also update the lttv QUICKSTART file > > accordingly. > Yes, lttv also needs little update. > > B.R. > Zhaolei > > > > Mathieu > > > > > -- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68