From 3babbadc1d4e1c25a6ba8b94c7d5ab136027f017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donncha=20=C3=93=20Cearbhaill?= Date: Thu, 29 Jun 2023 14:55:09 +0200 Subject: [PATCH] Add docs for the profiling feature --- docs/development.md | 27 +++++++++++++++++++++++++++ mkdocs.yml | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 docs/development.md diff --git a/docs/development.md b/docs/development.md new file mode 100644 index 0000000..fa99484 --- /dev/null +++ b/docs/development.md @@ -0,0 +1,27 @@ +# Development + +The Mobile Verification Toolkit team welcomes contributions of new forensic modules or other contributions which help improve the software. + +## Testing + +MVT uses `pytest` for unit and integration tests. Code style consistency is maintained with `flake8`, `ruff` and `black`. All can +be run automatically with: + +```bash +make check +``` + +Run these tests before making new commits or opening pull requests. + +## Profiling + +Some MVT modules extract and process significant amounts of data during the analysis process or while checking results against known indicators. Care must be +take to avoid inefficient code paths as we add new modules. + +MVT modules can be profiled with Python built-in `cProfile` by setting the `MVT_PROFILE` environment variable. + +```bash +MVT_PROFILE=1 dev/mvt-ios check-backup test_backup +``` + +Open an issue or PR if you are encountering significant performance issues when analyzing a device with MVT. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 81d2465..6c410dd 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,7 @@ site_name: Mobile Verification Toolkit repo_url: https://github.com/mvt-project/mvt edit_uri: edit/main/docs/ -copyright: Copyright © 2021-2022 MVT Project Developers +copyright: Copyright © 2021-2023 MVT Project Developers site_description: Mobile Verification Toolkit Documentation markdown_extensions: - attr_list @@ -46,4 +46,5 @@ nav: - Check an Android Backup (SMS messages): "android/backup.md" - Download APKs: "android/download_apks.md" - Indicators of Compromise: "iocs.md" + - Development: "development.md" - License: "license.md"