summaryrefslogtreecommitdiff
path: root/ioshark
AgeCommit message (Collapse)Author
2022-09-20Replace android_fs tracepoints with f2fs tracepointsJaegeuk Kim
Bug: 225959108 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com> Change-Id: I883a4c3860016e63e95268355eb7a8588d2f12f4
2022-03-29Support building ioshark against muslColin Cross
Support building ioshark against musl by using the standard errno.h header instead of sys/errno.h. Bug: 190084016 Test: m USE_HOST_MUSL=true host-native Change-Id: Ic5b4713e6fe746e1c20ed4517dfd69f05423d63a
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to system/extrasBob Badour
Added SPDX-license-identifier-Apache-2.0 to: alloc-stress/Android.bp app-launcher/Android.bp boot_control_copy/Android.bp bootctl/Android.bp boottime_tools/bootanalyze/stressfs/Android.bp boottime_tools/bootio/Android.bp brillo_config/Android.mk checkpoint_gc/Android.bp cppreopts/Android.bp crypto-perf/Android.bp ext4_utils/Android.bp ext4_utils/Android.mk f2fs_utils/Android.bp ioblame/Android.bp ioshark/Android.bp iotop/Android.bp kexec_tools/Android.bp latencytop/Android.bp libfec/Android.bp libfec/test/Android.bp libfscrypt/Android.bp libfscrypt/tests/Android.bp libjsonpb/parse/Android.bp libjsonpb/verify/Android.bp memory_replay/Android.bp memtrack/Android.bp mmap-perf/Android.bp module_ndk_libs/libnativehelper/Android.bp multinetwork/Android.bp pagecache/Android.bp partition_tools/Android.bp partition_tools/aidl/Android.bp perf2cfg/Android.bp postinst/Android.bp preopt2cachename/Android.bp profcollectd/Android.bp profcollectd/libprofcollectd/Android.bp profcollectd/libprofcollectd/bindings/libflags/Android.bp pssbench/Android.mk puncture_fs/Android.bp runconuid/Android.bp sane_schedstat/Android.bp showslab/Android.bp simpleperf/Android.bp simpleperf/runtest/Android.bp simpleperf/scripts/inferno/Android.bp simpleperf/simpleperf_app_runner/Android.bp slideshow/Android.mk sound/Android.bp squashfs_utils/Android.bp su/Android.mk taskstats/Android.bp tests/Android.bp tests/audio/alsa/Android.bp tests/binder/benchmarks/Android.bp tests/bootloader/Android.mk tests/cpueater/Android.bp tests/crypto/Android.bp tests/directiotest/Android.bp tests/ext4/Android.mk tests/framebuffer/Android.bp tests/fstest/Android.bp tests/icachetest/Android.bp tests/iptables/qtaguid/Android.bp tests/kernel.config/Android.mk tests/lib/Android.bp tests/lib/testUtil/Android.bp tests/memeater/Android.mk tests/pagingtest/Android.mk tests/pftest/Android.bp tests/schedtest/Android.bp tests/storage/Android.bp tests/suspend_stress/Android.bp tests/tcp_nuke_addr/Android.bp tests/timetest/Android.bp tests/uevents/Android.bp toolchain-extras/Android.bp vbmeta_tools/Android.bp verity/Android.bp verity/fec/Android.bp zram-perf/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: cpustats/Android.bp Added SPDX-license-identifier-BSD to: ANRdaemon/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ia559848af903a7b6746d9b12b7de8b83bc57f99d
2021-02-16Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/extras"Bob Badour
This reverts commit 044d055c842a5750359ed71dfe50a6a4bf5f4cc3. Reason for revert: Needs to run as multiple roots. Change-Id: I8e06e7eb19e0f634f52fbd8a1c6662f43e347dd5
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to system/extrasBob Badour
Added SPDX-license-identifier-Apache-2.0 to: boot_control_copy/Android.bp bootctl/Android.bp boottime_tools/bootanalyze/stressfs/Android.bp boottime_tools/bootio/Android.bp checkpoint_gc/Android.bp cppreopts/Android.bp crypto-perf/Android.bp ext4_utils/Android.bp ext4_utils/Android.mk f2fs_utils/Android.bp ioshark/Android.bp iotop/Android.bp kexec_tools/Android.bp latencytop/Android.bp libfec/Android.bp libfec/test/Android.bp libfscrypt/Android.bp libfscrypt/tests/Android.bp libjsonpb/parse/Android.bp libjsonpb/verify/Android.bp memory_replay/Android.bp memtrack/Android.bp mmap-perf/Android.bp module_ndk_libs/libnativehelper/Android.bp multinetwork/Android.bp pagecache/Android.bp partition_tools/Android.bp perf2cfg/Android.bp postinst/Android.bp preopt2cachename/Android.bp profcollectd/Android.bp profcollectd/libprofcollectd/Android.bp profcollectd/libprofcollectd/bindings/libflags/Android.bp puncture_fs/Android.bp runconuid/Android.bp sane_schedstat/Android.bp showslab/Android.bp simpleperf/Android.bp simpleperf/runtest/Android.bp simpleperf/scripts/inferno/Android.bp simpleperf/simpleperf_app_runner/Android.bp slideshow/Android.mk sound/Android.bp squashfs_utils/Android.bp su/Android.mk taskstats/Android.bp tests/Android.bp tests/audio/alsa/Android.bp tests/binder/benchmarks/Android.bp tests/bootloader/Android.mk tests/cpueater/Android.bp tests/crypto/Android.bp tests/directiotest/Android.bp tests/ext4/Android.mk tests/framebuffer/Android.bp tests/fstest/Android.bp tests/icachetest/Android.bp tests/iptables/qtaguid/Android.bp tests/kernel.config/Android.mk tests/lib/Android.bp tests/lib/testUtil/Android.bp tests/memeater/Android.mk tests/pagingtest/Android.mk tests/pftest/Android.bp tests/schedtest/Android.bp tests/storage/Android.bp tests/suspend_stress/Android.bp tests/tcp_nuke_addr/Android.bp tests/timetest/Android.bp tests/uevents/Android.bp toolchain-extras/Android.bp vbmeta_tools/Android.bp verity/Android.bp verity/fec/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: cpustats/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD legacy_notice to: Android.bp Added SPDX-license-identifier-BSD to: ANRdaemon/Android.bp Added legacy_notice to: alloc-stress/Android.bp app-launcher/Android.bp brillo_config/Android.mk ioblame/Android.bp partition_tools/aidl/Android.bp pssbench/Android.mk zram-perf/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ie7c022a4d7f828a89d0cda663684a497af37006e
2020-10-28ioshark: fix headersThiébaud Weksteen
The headers are not self-contained. Adds the required import and #define guard. Fix a typo and an extraneous semi-colon. Test: mm Change-Id: I06cbf290121be35afea5a1db5f9710b4023567db
2019-04-19ioshark: fix posix_fadvise error checking.Elliott Hughes
posix_ and pthread_ routines [almost all] return errno values on failure. Also stop reporting errno when we can give a message instead. (This code should probably use error(3) instead, but that's a bigger cleanup and I'm not sure this isn't all dead code anyway.) Test: builds Change-Id: I11e5927e4d797cd213f574fe414c021829625483
2018-05-17resolve merge conflicts of c6e4407afcf383e98ce543185e8d90b2b8e6fb97 to ↵George Burgess IV
pi-dev-plus-aosp I directly applied the patch that I made for master: b4bc355453fe535a1839be80895c84ff6fb1eb7f BUG: None Test: mma Change-Id: Ibd709b6ad150008dc65c9baa9d2e5bbd8ac9239e
2018-05-14Convert ioshark to SoongDan Willemsen
See build/soong/README.md for more information. Some modules are no longer installed by default on eng/debug builds, but I didn't see any automatic references to them. If they're commonly used by users, they can be added into build/make with PRODUCT_PACKAGES_ENG / PRODUCT_PACKAGES_DEBUG. Otherwise everyone's compiles get a little smaller. Some modules also moved from /system/xbin to /system/bin, as we've deprecated xbin. I checked codesearch for references to the full paths and couldn't find any. Test: cd system/extras/ioshark; mma Test: for the modules changing locations, check cs/ for references Change-Id: I0e84e9d5adfef2cd7a7e717462c0364489c3d70d
2018-01-09Use '#pragma pack(pop)' instead of resetYi Kong
Resetting alignment in an include file can have unintended side-effects. Pop the option instead. This fixes newly introduced '-Wpragma-pack' warning in Clang. Test: m checkbuild Change-Id: Ifacc486491b893e3339b0775f5b0ac7ba7990ac0
2017-07-20IOshark portability across 32- and 64-bit, little/big endian devices.Mohan Srinivasan
Make IOshark portable across 32-bit and 64-bit devices, as well as little endian and big endian architectures. This is achieved by locking down the on-disk format of IOshark workload files. We can now generate the workload files on a 64-bit host and use those workload files to run the benchmark on a 32-bit userspace device (such as fugu). The change also has minor fixes to make IOshark work on taimen and walleye. Test: Test across 64- and 32-bit devices. Generate workload files on a 64 bit device and test on 32-bit devices (as well as 64-bit devices). Change-Id: I700ca5ae0da0ab029d977c906a63f1cd20a78a14 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-07-12Add an option to explicitly specify blockdev.Mohan Srinivasan
Add a -b option, that allows user to explicitly specify a blockdev that we want to get stats out of. For example, this allows us to specify the userdata partition (on which IOshark runs). Or in the rare case where support for a new device has not been added yet, we can still run IOshark on it by using this option. Test: Run IOshark with the -b option passed in and verify that the device stats reported match with /proc/diskstats. Change-Id: Ic835697a6aae4484c95537e7d489a9c1fefc0110 Signed-off-by: Mohan Srinivasan <srmohan@google.com>
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>