Skip to main content

Walk file systems and collect stats

Project description

Walk file systems and collect stats.

Summary

Statwalker is a command-line program that scan files recursively (normally called as “walk”) and collects stats, basically file names and metadata (inode information in Linux systems). It runs in parallel in a single machine, and the output is a comma-separated file (csv), one line per file. These results can be analysed using other tools (see below).

Output

The csv file will look like this:

INODE,ATIME,MTIME,UID,GID,MODE,SIZE,DISK,PATH

Colum description:

  1. INODE: device identifier and inode (Linux)

  2. ATIME: last access time in unix format (seconds since epoc)

  3. MTIME: last modified time in unix fromat

  4. UID: user ID

  5. GID: group ID

  6. MODE: mode, which is file type and permissions

  7. SIZE: real size in bytes, same value reported with command du -b

  8. DISK: disk usage, which is number of blocks times 512

  9. PATH: full path

How it works

Collecting stats is as simple as this one-liner in bash:

$ TODO

There are many tools doing the same thing, the problem is performance. After trying some tools in a file system with many terabytes of data and millions of files, the problem became untractable. I run statwalker in a storage with 100+ millions of files, with a reading rate over NFS folders of 3000 files/second on average, and much faster if disks are local.

Installation

Use pip:

$ pip install statwalker

Usage

# run it from the command line to see available parameters:
$ statwalker -h

# run it with options
$ statwalker -o output.csv /home

Contribute

Clone the github repository:

$ git clone https://github.com/sganis/statwalker.git

TODO

  • Add documentation with analysis tools, resolution, agregation, benchmark with c++ and mpi versions.

  • Add notes for windows users

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

statwalker-1.1.0.tar.gz (8.4 kB view details)

Uploaded Source

File details

Details for the file statwalker-1.1.0.tar.gz.

File metadata

  • Download URL: statwalker-1.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for statwalker-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3ecf4184492cc10d5f3df40b0fcf52fffb64d4dd2084c7a32fa4be78bbc0f102
MD5 3ab1516c02b2c8813a79724717512e59
BLAKE2b-256 4a0b9a4af086be8f47e9650ab5adcf2a75e6576484de7a7acd729d6fca43c5e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page