3 These scripts will be used to collect application profiling info from
4 lustre clients and servers. It will be run on a single (control)
5 node, and collect all the profile info and create a tarball on the
8 lstat.sh : script for single node, will be run on each profile node.
9 gather_stats_everywhere.sh : collect stats script.
10 config.sh : customized configuration description
14 1) Lustre is installed and setup on your cluster.
15 2) ssh/scp to these nodes works without requiring a password.
19 Configuration is very simple for this script - all of the profiling
20 config VARs are in config.sh
22 XXXX_INTERVAL: the profiling interval
23 where value of interval means:
24 0 - gather stats at start and stop only
25 N - gather stats every N seconds
26 if XXX_INTERVAL isn't specified, XXX stats won't be collected
27 XXX can be: VMSTAT, SERVICE, BRW, SDIO, MBALLOC, IO, JBD, CLIENT
32 The gather_stats_everywhere.sh should be run in three phases:
34 a)sh gather_stats_everywhere.sh config.sh start
35 It will start stats collection on each node specified in config.sh
37 b)sh gather_stats_everywhere.sh config.sh stop <log_name.tgz>
38 It will stop collect stats on each node. If <log_name.tgz> is provided,
39 it will create a profile tarball /tmp/<log_name.tgz>
41 c)sh gather_stats_everywhere.sh config.sh analyse log_tarball.tgz csv
42 It will analyse the log_tarball and create a csv tarball for this
48 When you want collect your profile info, you should
49 1) start the collect profile daemon on each node.
50 sh gather_stats_everywhere.sh config.sh start
54 3) stop the collect profile daemon on each node, cleanup the tmp
55 file and create a profiling tarball.
56 sh gather_stats_everywhere.sh config.sh stop log_tarball.tgz
58 4) create a csv file according to the profile.
59 sh gather_stats_everywhere.sh config.sh analyse log_tarball.tgz csv
64 Add liblustre profiling support and add more options for analyse.