Redis use case
Portfolio
Inefficient code (v1) vs Fixed code (v2)
System overview
Generic statistics about the application execution

Redis (v1) issued about 600K storage system calls, most of which were write system calls.
Besides the write system calls, Redis also issued the following system calls: openat, close, fstat, lseek, read, fsync, rename, readlink and stat.
Moreover, the Redis application spawned 13 processes and accessed 13 different file paths.

Redis (v2) issued about 589K storage system calls, most of which were write system calls.
Besides the write system calls, Redis also issued the following system calls: writev, read, openat, fstat, close, rename, fsync, readlink and stat.
Moreover, the Redis application spawned 13 processes and accessed 13 different file paths.
Top file types
Shows the type of files accessed by the application and the number of system calls issued for each file type

Redis (v1) issued about 600K storage system calls to regular files, most of which were write system calls.

Redis (v2) issued about 589K storage system calls to regular files, most of which were write system calls.
Top file paths
Shows the top 10 file paths accessed by the application and the number of system calls issued for each file path

The most accessed file path by Redis (v1) was /redis/redis/src/temp-81685.rdb, which was accessed more than 70,000 times, mostly for write system calls.
All the top 10 file paths have the same file extension: .rdb.

The most accessed file path by Redis (v2) was /redis/redis/src/temp-84103.rdb, which was accessed more than 70,000 times, mostly for write system calls.
All the top 10 file paths have the same file extension: .rdb.
Opens and closes (per file)
Shows the number of open and close operations issued for each file path (top 5)

The file path with more open and close operations was the Redis log file (/dio_data/redis.log), which was opened/closed more than 2,600 times.

Redis (v2) only performed 1 open and 1 close operation for each file.
File path accesses
Shows the application file accesses over time

The most accessed files over time are .rdb files, which are the Redis database files.

The most accessed files over time are .rdb files, which are the Redis database files.
Log file access pattern
Shows the application accesses to the log file over time

Redis (v1) issues the same set of system calls (openat, lseek, fstat, write, close) repeatedly over time, with a sequential file access pattern (i.e., the offset increases for each set of operations).
The maximum number of system calls issued per minute was 1165.

Redis (v2) issues one openat system call at the beginning of the execution.
Then, only writev system calls are issued over time, with a sequential file access pattern (i.e., the offset increases for each set of operations).
The maximum number of system calls issued per minute was 234.
Log file access pattern (nanosecond visualization)
Shows the exact order of the system calls issued for the log file (in microseconds)

Redis (v1) executes always the same sequence of system calls: openat→lseek→fstat→write→close.
The system calls with higher execution times are openat and write.

Redis (v2) only performs one type of system call: writev.