GithubHelp home page GithubHelp logo

carsonip / apm-perf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elastic/apm-perf

0.0 0.0 0.0 9.28 MB

Performing testing for Elastic APM ingestion

License: Other

Go 97.90% Makefile 1.69% Dockerfile 0.41%

apm-perf's Introduction

apm-perf

apm-perf contains server performance testing tools.

apmsoak

Soak testing involves testing apm-server against a continuous, sustained workload to identify performance and stability issues that occur over an extended period. apmsoak command can be used for both classic APM Server and managed APM service(in development) for the purpose of soak testing:

❯ go run main.go -h
Usage of /var/folders/y8/c7ft78m54v78z8yy16bznmkw0000gn/T/go-build1835306963/b001/exe/main:
  -api-keys project_id_1:my_api_key,project_id_2:my_key
    	API keys for managed service. Specify key value pairs as project_id_1:my_api_key,project_id_2:my_key
  -bypass-proxy
    	Detach from proxy dependency and provide projectID via header. Useful when testing locally
  -f string
    	Path to scenarios file (default "./scenarios.yml")
  -scenario string
    	Specify which scenario to use. the value should match one of the scenario key defined in given scenarios YAML file (default "steady")
  -secret-token string
    	Secret token for APM Server. Managed intake service doesn't support secret token
  -server string
    	Server URL (default http://127.0.0.1:8200), if specified <project_id>, it will be replaced with the project_id provided by the config, (example: https://<project_id>.apm.elastic.cloud

All the flags are optional, but it's expected to provide a scenario flag to start a specific scenario from pre-defined scenarios file, it is steady by default.

# start soaktest that generates 2000 events per second
./apmsoak -scenario=steady

The configs in scenarios.yml file inherits loadgen configs, with extra fields such as project_id and api_key that can be used for the managed APM service.

Note that the managed service will use API key based auth and one soaktest can target multiple projects, so we provide key-value pairs(projectID and api key respectively). the api key can also be provided as an ENV variable.

./apmsoak -scenario=fairness -api-keys="project_1:key-to-project_1,project_2:key-to-project_2"

apm-perf's People

Contributors

pazone avatar kyungeunni avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.