github.com/yandex/pandora@v0.5.32/README.md (about) 1 # Pandora 2 3 [![Release](https://github.com/yandex/pandora/actions/workflows/release.yml/badge.svg)](https://github.com/yandex/pandora/actions/workflows/release.yml) 4 [![Release](https://img.shields.io/github/v/release/yandex/pandora.svg?style=flat-square)](https://github.com/yandex/pandora/releases) 5 [![Test](https://github.com/yandex/pandora/actions/workflows/test.yml/badge.svg)](https://github.com/yandex/pandora/actions/workflows/test.yml) 6 [![codecov](https://codecov.io/gh/yandex/pandora/badge.svg?precision=2)](https://app.codecov.io/gh/yandex/pandora) 7 ![Code lines](https://sloc.xyz/github/yandex/pandora/?category=code) 8 9 [![PkgGoDev](https://pkg.go.dev/badge/github.com/yandex/pandora)](https://pkg.go.dev/github.com/yandex/pandora) 10 [![Go Report Card](https://goreportcard.com/badge/github.com/yandex/pandora)](https://goreportcard.com/report/github.com/yandex/pandora) 11 [![Join the chat at https://gitter.im/yandex/pandora](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/yandex/pandora?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 13 Pandora is a high-performance load generator in Go language. It has built-in HTTP(S) and HTTP/2 support and you can write your own load scenarios in Go, compiling them just before your test. 14 15 ## Documentation 16 [Documentation](https://yandex.github.io/pandora/) 17 18 ## How to start 19 20 ### Binary releases 21 [Download](https://github.com/yandex/pandora/releases) available. 22 23 ### Building from sources 24 We use go 1.11 modules. 25 If you build pandora inside $GOPATH, please make sure you have env variable `GO111MODULE` set to `on`. 26 ```bash 27 git clone https://github.com/yandex/pandora.git 28 cd pandora 29 make deps 30 go install 31 ``` 32 33 Or let [Yandex.Tank](https://yandextank.readthedocs.io/en/latest/core_and_modules.html#pandora) make it easy for you. 34 35 36 ## Extension points 37 38 You can write plugins with the next [extension points](https://github.com/progrium/go-extpoints): 39 40 You can also cross-compile for other arch/os: 41 ``` 42 GOOS=linux GOARCH=amd64 go build 43 ``` 44 45 ### Running your tests 46 Run the binary with your config (see config examples at [examples](https://github.com/yandex/pandora/tree/develop/examples)): 47 48 ```bash 49 # $GOBIN should be added to $PATH 50 pandora myconfig.yaml 51 ``` 52 53 Or use Pandora with [Yandex.Tank](https://yandextank.readthedocs.io/en/latest/core_and_modules.html#pandora) and 54 [Overload](https://overload.yandex.net). 55 56 ## Performance tests 57 58 These tests are run when a release is created from a tag. See [.github/workflows/yc.yml](.github/workflows/yc.yml) 59 60 The scripts used to run are [performance-test/automation](performance-test/automation) 61 62 And the tests are in the following directory - [performance-test/test-config](performance-test/test-config). 63 Where one directory is one test. 64 Each test has a autostop point configured. 65 When all tests pass, all their autostop points will be written in the release description. 66 67 ## Changelog 68 69 Install https://github.com/miniscruff/changie 70 71 You can add changie completion to you favorite shell https://changie.dev/cli/changie_completion/ 72 73 ### Using 74 75 See https://changie.dev/guide/quick-start/ 76 77 Show current version `changie latest` 78 79 Show next minor version `changie next minor` 80 81 Add new comments - `changie new` - and follow interface 82 83 Create changelog release file - `changie batch v0.5.21` 84 85 Same for next version - `changie batch $(changie next patch)` 86 87 Merge to main CHANGELOG.md file - `changie merge`