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`