From 60f06ad118a0a37eeadfbec5119a64c0bf48b087 Mon Sep 17 00:00:00 2001 From: Laura Couto Date: Mon, 23 Sep 2024 01:06:53 -0300 Subject: [PATCH] Add usage instructions to readme Signed-off-by: Laura Couto --- performance-test/README.md | 95 +++------------------------------ performance-test/conf/README.md | 20 ------- 2 files changed, 8 insertions(+), 107 deletions(-) delete mode 100644 performance-test/conf/README.md diff --git a/performance-test/README.md b/performance-test/README.md index 64ac211c6f..604f134a1b 100644 --- a/performance-test/README.md +++ b/performance-test/README.md @@ -2,97 +2,18 @@ ## Overview -This is your new Kedro project with PySpark setup, which was generated using `kedro 0.19.8`. +This is a test project meant to simulate delays in specific parts of a Kedro pipeline. It's supposed to be a tool to gauge pipeline performance and be used to compare in-development changes to Kedro with an already stable release version. -Take a look at the [Kedro documentation](https://docs.kedro.org) to get started. +## Usage -## Rules and guidelines +There are three delay parameters that can be set in this project: -In order to get the best out of the template: +**hook_delay** - Simulates slow-loading hooks due to it performing complex operations or accessing external services that can suffer from latency. -* Don't remove any lines from the `.gitignore` file we provide -* Make sure your results can be reproduced by following a [data engineering convention](https://docs.kedro.org/en/stable/faq/faq.html#what-is-data-engineering-convention) -* Don't commit data to your repository -* Don't commit any credentials or your local configuration to your repository. Keep all your credentials and local configuration in `conf/local/` +**dataset_load_delay** - Simulates a delay in loading a dataset, because of a large size or connection latency, for example. -## How to install dependencies +**file_save_delay** - Simulates a delay in saving an output file, because of, for example, connection delay in accessing remote storage. -Declare any dependencies in `requirements.txt` for `pip` installation. +When invoking the `kedro run` command, you can pass the desired value in seconds for each delay as a parameter using the `--params` flag. For example: -To install them, run: - -``` -pip install -r requirements.txt -``` - -## How to run your Kedro pipeline - -You can run your Kedro project with: - -``` -kedro run -``` - -## How to test your Kedro project - -Have a look at the files `src/tests/test_run.py` and `src/tests/pipelines/data_science/test_pipeline.py` for instructions on how to write your tests. Run the tests as follows: - -``` -pytest -``` - -To configure the coverage threshold, look at the `.coveragerc` file. - -## Project dependencies - -To see and update the dependency requirements for your project use `requirements.txt`. Install the project requirements with `pip install -r requirements.txt`. - -[Further information about project dependencies](https://docs.kedro.org/en/stable/kedro_project_setup/dependencies.html#project-specific-dependencies) - -## How to work with Kedro and notebooks - -> Note: Using `kedro jupyter` or `kedro ipython` to run your notebook provides these variables in scope: `catalog`, `context`, `pipelines` and `session`. -> -> Jupyter, JupyterLab, and IPython are already included in the project requirements by default, so once you have run `pip install -r requirements.txt` you will not need to take any extra steps before you use them. - -### Jupyter -To use Jupyter notebooks in your Kedro project, you need to install Jupyter: - -``` -pip install jupyter -``` - -After installing Jupyter, you can start a local notebook server: - -``` -kedro jupyter notebook -``` - -### JupyterLab -To use JupyterLab, you need to install it: - -``` -pip install jupyterlab -``` - -You can also start JupyterLab: - -``` -kedro jupyter lab -``` - -### IPython -And if you want to run an IPython session: - -``` -kedro ipython -``` - -### How to ignore notebook output cells in `git` -To automatically strip out all output cell contents before committing to `git`, you can use tools like [`nbstripout`](https://github.com/kynan/nbstripout). For example, you can add a hook in `.git/config` with `nbstripout --install`. This will run `nbstripout` before anything is committed to `git`. - -> *Note:* Your output cells will be retained locally. - -## Package your Kedro project - -[Further information about building project documentation and packaging your project](https://docs.kedro.org/en/stable/tutorial/package_a_project.html) +`kedro run --params=hook_delay=5,dataset_load_delay=5,file_save_delay=5` diff --git a/performance-test/conf/README.md b/performance-test/conf/README.md deleted file mode 100644 index b135e80c2c..0000000000 --- a/performance-test/conf/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# What is this for? - -This folder should be used to store configuration files used by Kedro or by separate tools. - -This file can be used to provide users with instructions for how to reproduce local configuration with their own credentials. You can edit the file however you like, but you may wish to retain the information below and add your own section in the section titled **Instructions**. - -## Local configuration - -The `local` folder should be used for configuration that is either user-specific (e.g. IDE configuration) or protected (e.g. security keys). - -> *Note:* Please do not check in any local configuration to version control. - -## Base configuration - -The `base` folder is for shared configuration, such as non-sensitive and project-related configuration that may be shared across team members. - -WARNING: Please do not put access credentials in the base configuration folder. - -## Find out more -You can find out more about configuration from the [user guide documentation](https://docs.kedro.org/en/stable/configuration/configuration_basics.html).