(2014/07/20 2:32), Hemant Kumar wrote: >>> We have lots of applications which use SDT markers today, like: >>> Postgresql, MySql, Mozilla, Perl, Python, Java, Ruby, libvirt, QEMU, glib >>> >>> To add SDT markers into user applications: >>> We need to have this header sys/sdt.h present. >>> sys/sdt.h used is version 3. >>> If not present, install systemtap-sdt-devel package (for fedora-18). >>> >>> Please refer to the Documentation patch to see how the SDT markers are >>> added into >>> a program. >>> >>> With this patchset, >>> - Use perf to list the markers in the app: >>> # perf list sdt ./user_app >>> >>> ./user_app : >>> %user_app:foo_start >>> %user_app:fun_start >>> >>> - Also, we can see the SDT markers present in our system in the usual >>> binaries. >>> These usual binaries are libraries (dsos) listed by ldconfig --print-cache >>> and some >>> binaries present in PATH environment variable. >>> >>> First, scan the binaries using : >>> # perf list sdt --scan >> At a glance, maybe we'd better have perf sdt-cache as like as perf >> buildid-cache >> for manage sdt information. what would you think? >> > > I agree with you having perf sdt-cache similar to perf buildid-cache. > But I think if the functionality of perf sdt-cache is only to build the > cache, then we can > go with the perf list sdt --scan. Since, "perf list sdt" is used for > other purposes too, it > should be less confusing for the users to just add another option > (--scan) to create/modify > the cache. What do you suggest?
I think there may be some other cases, for example adding user local build binary to the cache, or remove/update it locally. :) And also, in user's mental model of perf-list, it doesn't take an "active" action, that always does "passive" action. So adding such "active" scan option will be more confusing. But I also think it is OK that if the sdt is never scanned, the perf-list automatically scans in background (without any option) or suggests user to run "perf sdt-cache --scan". (it depends on how long time it may take) To summarize it, I'd like to suggest adding below functions; perf list sdt : shows all cached SDT events perf list sdt <file> : shows SDT events in <file> perf sdt-cache --scan/-s : scans all system binaries/libraries + added files perf sdt-cache --add/-a <file(s)> : add SDT events in <file> to cache perf sdt-cache --remove/-r <file(s)>: remove SDT events in <file> from cache And if perf list can't find sdt-cache, it would suggest to run perf sdt-cache --scan or run it silently. :) What would you think about this? Thank you, -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Research Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/