Skip to main content

Advanced Disk Benchmark Tool

Project description

Diskest: Advanced Disk Benchmark Tool

Diskest is an advanced disk benchmark tool designed to provide comprehensive disk performance assessment for Linux systems.

Features

  • Supports multiple benchmark tests including FIO and Sysbench
  • Detailed hardware detection and system information collection
  • Flexible configuration options
  • Multiple report formats (CLI, Markdown, CSV, JSON, PDF)
  • Results database for storing and comparing benchmark results

Installation

To install Diskest, you can use pip:

pip install diskest

For development installation with additional tools:

pip install diskest[dev]

Or clone the repository and install:

git clone https://github.com/lemonsterfy/diskest.git
cd diskest
pip install -e .[dev]

This will install Diskest along with all development dependencies.

Usage

Diskest provides a command-line interface with the following main commands:

  1. Run benchmark tests:

    diskest run [--config CONFIG_FILE]
    
  2. Generate reports:

    diskest report [--format {cli,markdown,csv,json,pdf}] [--output OUTPUT_FILE]
    
  3. Manage configuration:

    diskest config {show,edit}
    

For more detailed usage instructions, use the --help option with any command.

Running Diskest in a Virtual Environment

If you're using Diskest in a virtual environment and need to run it with elevated privileges, use the following command:

sudo /path/to/your/venv/bin/diskest run [--config CONFIG_FILE]

For example, if your virtual environment is named diskest_env and is located in your home directory:

sudo /home/yourusername/diskest_env/bin/diskest run [--config CONFIG_FILE]

Replace /home/yourusername with your actual home directory path.

Note: Running Diskest with sudo privileges is necessary for certain disk operations. Always exercise caution when running commands with elevated privileges.

Running Tests

To run the tests for Diskest, follow these steps:

  1. Ensure you have installed the development dependencies:

    pip install -e .[dev]
    
  2. Run the tests using pytest:

    pytest
    

This will run all the tests in the tests/ directory. For more detailed output, you can use the -v flag:

pytest -v

Our test suite covers the following areas:

  • Configuration management
  • Hardware detection
  • System information collection
  • Result processing
  • Test runners (FIO and Sysbench)
  • CLI functionality
  • Database operations
  • Logging

To run tests for a specific module, use:

pytest tests/test_<module_name>.py

Contributing

Contributions are welcome! Please see our Contributing Guide for more details.

License

Diskest is released under the MIT License. See the LICENSE file for more details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub issue tracker.

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

diskest-0.1.0.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

diskest-0.1.0-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file diskest-0.1.0.tar.gz.

File metadata

  • Download URL: diskest-0.1.0.tar.gz
  • Upload date:
  • Size: 36.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for diskest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fd00fa952d5b6e22be72a24a5729207c30519439bb9ab8f9f712f772975c45d0
MD5 8459cbbe4e7de15329a7ef63e6d2df55
BLAKE2b-256 bb270b8741180d7603ab9590d9a4966674acaac063acb9ca27f354c56aff4c2a

See more details on using hashes here.

File details

Details for the file diskest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: diskest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for diskest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d4620eb279556ad25b935badc28ad149c16ad97ec1444d26a086927760dd5fa
MD5 fa68bb665a550d452c4228c8d133e04d
BLAKE2b-256 3334758fc3824ac02b474f602463e6c3885f127696f03c1576c920dc2cc4eefe

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