summaryrefslogtreecommitdiff
path: root/ioshark
AgeCommit message (Collapse)Author
2017-03-15IOshark support to parse Linux filesystem ftraces.Mohan Srinivasan
IOshark support to input filesystem ftracepooints (readpage(s)) to capture and replay mmap'ed IO (which aren't captured by strace). The new script collect-straces-ftraces.sh enables the necessary tracepoints, and collects ftraces and straces compiles these into intermediate bytecodes which ioshark_bench can then execute. Test: Generate several monkey based workloads, and use the script mentioned above to generate bytecodes and feed those into ioshark_bench. Change-Id: Iae57f5fdcdce0fedfd85c8d64ee006cc8b5b470d Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-02-27IOshark support to not pre-create files in /system, /vendor, ...Mohan Srinivasan
1) Add support to IOshark to not pre-create files that the workload read from /system, /vendor and other read-only partitions. Instead we just read the underlying files directly. 2) This support is implemented under a new -q (quick) mode. 3) Other misc fixes to do a setrlimit(NO_FD) so we don't run out of fds during test. 4) Also commiting raw strace files from several monkey runs so we can compile those if we make on disk IOshark format changes in the future. Test: Run IOshark with different workloads to make sure that this skipping of pre-creation works fine. Change-Id: Ic025cb0162eca479d9f529846e619dd4b71aa490 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-02-22Add a summary (-s) option for easier parseability.Mohan Srinivasan
Add a summary (-s) option that dumps out the metrics from the run on one single line for easier parseability. Requested by Shankhoneer for easier integration of ioshark into tradefed. Test: Test the new -s option (and combination with other options) to make sure everything continues to work. Change-Id: Ic27306a89bb501ce5b31f8df2ef9c583f56e9e4a Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-02-15Query for device and then set the blockdev name.Mohan Srinivasan
IOshark uses /proc/diskstats to get various stats. It needs a block device name for doing this. The block device was hardcoded as sda (Marlin/Sailfish). Query the device productname and use this to set the block device name instead. Needed to make IOshark work on non-M/S device. Test: Testing the change on marlin as well as bullhead (which covers Sailfish, Shamu and Angler as well). Change-Id: Id9d7071019112cede1fd5e5c1f2c62f2fc4b6e65 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-01-22Android.mk flags to install ioshark only on userdebug builds.Mohan Srinivasan
Android.mk flags to build and install ioshark only on userdebug builds, where it is installed in xbin/. Test: Build user and userdebug, and make sure that (a) ioshark only gets built on userdebug builds and installed under xbin/. Change-Id: Ia2a367d9e33884cc46f65761b283d8b1eb9f280a Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-01-19ioshark: A Repeatable Application Workload Storage Benchmark.Mohan Srinivasan
ioshark is a repeatable application workload based storage benchmark. ioshark takes as input strace files, compiles them into bytecodes that you can then feed into the benchmark. This allows us to collect straces for a chosen application workload (by stracing zygote/zygote64), and use these to do A-B comparisons of storage features (anything including the filesystem and below, including new hardware). Test: Extra tests for ioshark aren't needed, ioshark reports detailed stats at the end of the run, which tells us whether the ioshark run was successful or not. In addition, we can strace ioshark_bench as it runs to make sure it is launching IOs as we would expect it to. Change-Id: I51fa9879dc11b526385eb7827ca2b4186662a463 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-01-19Revert "ioshark: A Repeatable Application Workload Based Storage ↵Mohan Srinivasan
Benchmark." (Broke the MacOS build - will commit after I test that this builds for MacOS). This reverts commit a5dc6d6fcab8dfe719c437e8a9111ba962df1c15. Change-Id: I53bc71eeb1bc3ad7706baae589cef8a80ef94c35
2017-01-18ioshark: A Repeatable Application Workload Based Storage Benchmark.Mohan Srinivasan
ioshark is a repeatable application storage workload benchmark. ioshark takes as input strace files, compiles them into bytecodes that you can then feed into the benchmark. This allows us to collect straces for a chosen application workload (by stracing zygote/zygote64), and use these to do A-B comparisons of storage features (anything including the filesystem and below, including new hardware). Test: Extra tests for ioshark aren't needed, ioshark reports detailed stats at the end of the run, which tells us whether the ioshark run was successful or not. In addition, we can strace ioshark_bench as it runs to make sure it is launching IOs as we would expect it to. Change-Id: I70674ff8daac229b9f8e5d37780f15c7a31a7ca0 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2016-12-22Revert "ioshark: A Repeatable Application Workload Based Storage Benchmark."Jin Qian
This reverts commit 99c8f98f2a9c76fabb19cdbc5b495978cfc479b3. Change-Id: Id205f175802d55b8f12342f82199db5743e479dc
2016-12-22ioshark: fix mac build breakJin Qian
Change-Id: Iefd18cc8ebfe462231292e30397467410e9f0511
2016-12-21iosharky: fix more build breakJin Qian
Change-Id: I83f0a8b93e1e75b21f6e1de365da411313e71923
2016-12-21ioshark: fix build breakJin Qian
Change-Id: Ief46c02a29a4787191004a5cc2e616175a0384da
2016-12-16ioshark: A Repeatable Application Workload Based Storage Benchmark.Mohan Srinivasan
ioshark is a repeatable application storage workload benchmark. ioshark takes as input strace files, compiles them into bytecodes that you can then feed into the benchmark. This allows us to collect straces for a chosen application workload (by stracing zygote/zygote64), and use these to do A-B comparisons of storage features (anything including the filesystem and below, including new hardware). Test: Extra tests for ioshark aren't needed, ioshark reports detailed stats at the end of the run, which tells us whether the ioshark run was successful or not. In addition, we can strace ioshark_bench as it runs to make sure it is launching IOs as we would expect it to. Change-Id: Ieb0ecf5e32695ea95b361710aa31613f6ce63b97 Signed-off-by: Mohan Srinivasan <srmohan@google.com>