Skip to content

Latest commit

 

History

History
64 lines (39 loc) · 2.09 KB

README.md

File metadata and controls

64 lines (39 loc) · 2.09 KB

alt text

Performance engineering of CernVM-FS's FUSE kernel callbacks.

Inspired from BCC tools.

About

This repository is a part of the CERN openlab summer student project called "Deep I/O performance analysis of CVMFS using modern Linux tools". The goal of the project was to be able to trace and measure latencies of FUSE functions both on the kernel and user spaces and make performance engineering of CernVM-File System.

The final outcome of the project is to have a set of tools which allows us to run benchmark and look deeper to the FUSE kernel callback latencies and number of calls.

Currently the reposiotry stores only the scripts for tracing the FUSE kernel callback functions. Code instrumentation for measuring latencies of CernVM-FS logic is already merged to the CernVM-FS devel branch.

Dependencies

  • Python
  • BCC tools

Usage

Press "CTRL + C" to stop tracing. Depending on the configurations, you may need to execute the command with root priveleges.

Measuring latencies.

[user@pc]$ python [SCRIPT_NAME]

Retrieving counters.

[user@pc]$ python [SCRIPT_NAME]

In order to get all counters, you will need to use fuse_calls_count.py.

[user@pc]$ python fuse_calls_count.py

fuse_calls_count_csv.py does the same as fuse_calls_count.py, however, it exports the output to a csv file named with the timestamp.

[user@pc]$ python fuse_calls_count_csv.py

show_diff.py utility allows to visiualize the difference between two cvs output files generated by fuse_calls_count_csv.py. The output is colored in green, blue and yellow colors depending of the difference between the counter values where yellow means the difference is high, blue - moderate, and green means acceptable.

[user@pc]$ python show_diff.py [file1] [file2]