Ddosify Versions Save

Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud

v0.15.1

1 year ago

Breaking Changes

In assertions has function has been renamed to exists. You can find the full list of assertion functions here.

Changelog

  • 165be1ae05a68220c113e2b2fcfc738a3ef8345c: add test for undefined csv vars (@kenanfarukcakir)
  • c124a499878a4540632ce7743b417119e654d16d: add validation check for csv vars before test start (@kenanfarukcakir)
  • b1bc234b119bb2d4f38908dd0049ea94e46f0ef3: change has to exists (@kenanfarukcakir)
  • 4d69cbc39fa3b7a3731409c0940f15034c0edac2: fix race on reports and add race tests for jenkins (@kenanfarukcakir)
  • ac1fcec12cf53405beff80da16eb17ed707db9be: readme (@kenanfarukcakir)

More? 🚀

v0.15.0

1 year ago

Introducing engine modes:

engine_mode is optional in the config file.

  • distinct-user mode simulates a new user for every iteration.
  • repeated-user mode can use pre-used user in subsequent iterations.
  • ddosify mode is the default mode of the engine. In this mode, the engine runs in its max capacity, and does not show user simulation behavior.

Breaking Changes

keep-alive is removed from config file. In default mode, the engine will use keep-alive for all requests. If you want to disable keep-alive for a step, you can add Connection: close header to the step.

More? 🚀

v0.14.1

1 year ago

Changelog

  • 5bf84459489160c035d8f4f9f7fe97653d1079b2: Merge remote-tracking branch 'origin/master' into develop (@fatihbaltaci)
  • 55e11218c6d2e4e1239297403966965ccbc9a8d1: Update readme (@fatihbaltaci)
  • e55d8c8d91c795fbb8aab34827e4eb250dd2f181: fix benchmark test (@kenanfarukcakir)
  • 777c829d804ce4055895ca7be94b59a9c79459bb: fix typos (@nevzatseferoglu)
  • 319806de3234167e23927bbb097ef269d10fb27a: mock readTestData in test (@kenanfarukcakir)
  • 3906c0f47316bbf940906a23354ac14b0e0a4755: move csv read to engine init (@kenanfarukcakir)
  • b4220fdf450c96b60bef1ee0fc89be02ca063183: move csv read to engine init (@kenanfarukcakir)
  • 361835ee896a52fca33e136d5d1c608053739cf4: readme xpath key fix (@kursataktas)
  • cf638b3f043fff47372748e08f10e516c3e079fe: remove unnecessary literals (@nevzatseferoglu)
  • 50b560e294424ecee0c6bbb6eeba178c52d6ae31: zsh: shell completion support (@nevzatseferoglu)

More? 🚀

v0.14.0

1 year ago

✅ Assertion feature Introduced by @kenanfarukcakir

Assertion - Verify that the response matches your expectations. Usage: https://github.com/ddosify/ddosify#assertion

More? 🚀

v0.13.2

1 year ago

Changelog

  • f805aaa9c91c7702863454af6417f354c3a3d92a: Update jenkinsfile (@fatihbaltaci)
  • 40011106cd54c074dc15d3108129bb7e0cd18aa1: dynamic variable race test (@kenanfarukcakir)
  • 6f5881d2d1444a8bb64b2c9c3210537c791e0cb0: prevent race on calls to faker func (@kenanfarukcakir)

Bug Fixes

More? 🚀

v0.13.1

1 year ago

Changelog

  • d0a32c1278ac0077eacc0c601364422590b060a2: absolute url check (@kenanfarukcakir)
  • c77b821ba7a03f73deadd1c502785c5dd0261068: fix env field name on config.json (@kenanfarukcakir)

More? 🚀

v0.13.0

1 year ago

Breaking Changes

Some keys in Ddosify config file have been renamed to be more consistent with other keys. Here are the changes:

Old Key New Key
allowQuota allow_quota
skipFirstLine skip_first_line
skipEmptyLine skip_empty_line
captureEnv capture_env
jsonPath json_path
xPath xpath
headerKey header_key
regExp regexp

Changelog

  • 699bc44c158948f08477c0292ef65e0882780c48: Merge remote-tracking branch 'origin/develop' into feat/concat-variables (@kenanfarukcakir)
  • 31cfebede3bbb59e212d91e80c08a42c7f864894: Update README.md (@kursataktas)
  • 1caaf3d95d36f07732210d2e508cc249a479e47b: change captureEnv to snake case (@kenanfarukcakir)
  • 6be8a8043faa8c4efeaa12b43921f5e3ad2aa5ab: change csv parameters to snake case (@kenanfarukcakir)
  • f0855c2b84cc2f0cffd0d1fe62f520267eb7a443: change jsonPath to json_path (@kenanfarukcakir)
  • cc2206337f5a3de8eb5143ab784517761f7a59ad: fix done channel send place in stdoutJson (@kenanfarukcakir)
  • 8e27e65edd0a9facb912da10994bad13f0315831: get profile data from pprof package (@kenanfarukcakir)
  • 66e26d938d150e24449af7f253f746dc7797bf42: inject both typed and concatenated vars (@kenanfarukcakir)
  • 161b10ef8c93b1cac349ffe65c5e63f19cf0b82c: regexp, xpath, header_key (@kenanfarukcakir)
  • 2fdb65363d7cb7c8bf273429544fdd93906dcad1: remove unnecessary comment (@kenanfarukcakir)
  • 4dcccc1c4cc745a40efafe75f5e461c7450fc857: update benchmark jenkins file (@kenanfarukcakir)
  • cbb54022842ac3dd63ef76b6d1272b35488b041a: update jenkinsfile (@kenanfarukcakir)
  • 8a3b42ab51dae92da0785d58e563058f3731a0e4: use atomic instead of mutex (@kenanfarukcakir)

More? 🚀

v0.12.0

1 year ago

✅ Test data (CSV) feature Introduced by @kenanfarukcakir

Ddosify enables you to load test data from CSV files. Later, in your scenario, you can inject variables that you tagged.

Example Usage: https://github.com/ddosify/ddosify#test-data-set

Changelog

  • 85649892bab41cc2469a274a88ef0a2db408dc2d: fix readme test data link (@kenanfarukcakir)
  • 9abc802603931f049f8774b0cb67178e16f66ec2: Add benchstat (@fatihbaltaci)
  • 7a37e2b269cf7bd9b88adea4d41f28ac2694ba8f: Add jenkinsfile for benchmark (@fatihbaltaci)
  • 6cde6e82a96c2e884898dfc1dbba14c07818b5c0: Add verbosity to tests (@fatihbaltaci)
  • 5cd0a6e320ecdf970a9ece0d0f8f6ab9b2e8beff: Enable notifications (@fatihbaltaci)
  • 26bd83034f33eb1284f0d6a99d8487d5239995fb: Merge remote-tracking branch 'origin/develop' into feat/correlation-v2 (@fatihbaltaci)
  • 60b17e37ad0422a5796ea8ac41f8cb7d20c6597e: Merge remote-tracking branch 'origin/develop' into feat/correlation-v2 (@fatihbaltaci)
  • 5d58996cc4a466e48e8dd0a9e3aebc4ab1254b2c: Remove protocol flag from json files (@fatihbaltaci)
  • a6234cb12cfb81881c6d27e1b2e497f144a2e91a: Remove redundant part from readme (@fatihbaltaci)
  • 13aaaebaf197412dce724a855b1aa6c9a72e3eb2: Run benchmark on only performance-test agent (@fatihbaltaci)
  • 5575a83273a1336d5dd7156b31391da086b69de1: Update (@fatihbaltaci)
  • 3c3d0e575c111ed90d12b58d2ae6eeebc3419420: Update (@fatihbaltaci)
  • 3bda2fb065f7df41edaaab4631b1cd4abc6609c7: Update (@fatihbaltaci)
  • f4cd44da36dbe10e4b01bc6410e0c8fcc57e0c15: Update (@fatihbaltaci)
  • 3610c00476c57c204479af6d16ddf6afa4372213: Update (@fatihbaltaci)
  • 947f1b4f90b4d094dbe74dbcabe48062bdcb1194: Update benchmark test (@fatihbaltaci)
  • 73b7561450f6486ec8bfd26779a64e2640842209: Update benchmark tests configs (@fatihbaltaci)
  • ae2a4b01ffb8b64e35c36bed175a4e48174c806d: Update benchmark thresholds (@fatihbaltaci)
  • 5c6aa2f0e3a11ca7bc2f6b433b45a5232b22b138: Update benchstat (@fatihbaltaci)
  • a476779f760869b2dd82c219c3e3ed09c2376e46: Update goreleaser (@fatihbaltaci)
  • 9f0ba59d35023978eecab37ed2a89a7ab64a1c34: Update jenkins (@fatihbaltaci)
  • cd801e09e2f5dd2b615688fb683babbd9427d5af: Update jenkins (@fatihbaltaci)
  • 96d4dcb3ed55434d3c80fc3ba646fb15ce3baf4e: Update jenkins (@fatihbaltaci)
  • b8cd7866acfe003ca7e76804b36186fe8a1b07b3: Update jenkins (@fatihbaltaci)
  • ae34e7989fa15ca267d37de120a8b5c9cd9115e5: Update jenkins (@fatihbaltaci)
  • 7a75481a37a8c7d0cb8f363e22c3fc28a1722f26: Update jenkins (@fatihbaltaci)
  • 47a2ea95983eff65f4df3aa03ffff309a2d84794: Update jenkins (@fatihbaltaci)
  • 43e8eb9a20953c146410be477352f1641dec1949: Update jenkins (@fatihbaltaci)
  • f6feafb2c2a0ba4c1d40f694566fc39f064fde6f: Update jenkins (@fatihbaltaci)
  • af54cf2cf879d93ad42270f346c74f74b1f9c9f1: Update jenkins (@fatihbaltaci)
  • 008f4ffca0b548fbfa4728eaa43b4205733ef8df: Update jenkins (@fatihbaltaci)
  • 71d2d97531429250d6e4646582d35fb9346c5f03: Update jenkins (@fatihbaltaci)
  • af77d381d3ebf5dc9d21dacbbfc23c5c271975ba: Update jenkins (@fatihbaltaci)
  • ec7a2a7afabff82e62819a6e359a0cba018e9ec4: Update jenkins (@fatihbaltaci)
  • d872481ec681a0a4a9d302090c976793b8c093fc: Update jenkinsfile (@fatihbaltaci)
  • fa65e71733bca82625c5d47789fd41eee1172cb7: Update jenkinsfile (@fatihbaltaci)
  • e525924498861117e6bb8e0812cb844836c70039: Update jenkinsfile (@fatihbaltaci)
  • 820a555245f2af9b22aeb90241662a239cb29575: Update jenkinsfile (@fatihbaltaci)
  • fa4c744c910698d9349f3eec90d0018e7012388c: Update jenkinsfile (@fatihbaltaci)
  • a7790687b71165e8576d028ad8987ea8f24a0c5a: Update jenkinsfile (@fatihbaltaci)
  • 34736fae461665c766532ba956df39712dc642ff: Update jenkinsfile (@fatihbaltaci)
  • bde235c29c7f82d1fc92d7c3dd15401a1c0f87f6: Update jenkinsfile (@fatihbaltaci)
  • df653748675d678e9349d54669d9e9662d2fe941: Update jenkinsfile (@fatihbaltaci)
  • dee1fe767ba0fded4801f57830210811df7c3f92: Update jenkinsfile (@fatihbaltaci)
  • e591fd11d6306228b1033fec6ff946759acdcfd0: Update jenkinsfile (@fatihbaltaci)
  • 8f9300eebc8eb01b50e2f82c4d0a5f869a437fd0: Update jenkinsfile (@fatihbaltaci)
  • df2c39e092b8fe1dd73a34a26a0f2432ffb310ea: Update jenkinsfile (@fatihbaltaci)
  • 00c4658da7857e3933722589244f818d235fe2ba: Update jenkinsfile (@fatihbaltaci)
  • dc1dd16abf25df15f08692dd528552b9a331aaee: Update jenkinsfile (@fatihbaltaci)
  • e0705839327b2c01552b9b73b1bd4563f77de943: Update jenkinsfile (@fatihbaltaci)
  • f13ede7ea978ce11a124baac8ec27b2d296146d0: Update jenkinsfile (@fatihbaltaci)
  • c0f81e9a061b542abee53ae84fdd3591704770b0: Update jenkinsfile (@fatihbaltaci)
  • 3dfb1def5121f3921b92e9e6c8b6b895ddc69f49: Update jenkinsfile (@fatihbaltaci)
  • 7e9a2a92c9a3eb68da5686964130e06f68cea9d4: Update jenkinsfile (@fatihbaltaci)
  • 08e9a03364b34ef89bf049abed0270bf13bd76a1: Update jenkinsfile (@fatihbaltaci)
  • a9086fe26c5210bd630153d95f771f5248928eab: add benchmark test and optimize dynamic var injection pre-iteration (@kenanfarukcakir)
  • 1d51bceb7b2aea3b383515462ba6e0c05355031e: add blog links to readme (@kursataktas)
  • 90fac4ccb95dad9f6ca411888a8648463f250741: add csv read test (@kenanfarukcakir)
  • 0b6ca909b136ac2ba2d886fbae008c6db5284e26: add default values for csv config (@kenanfarukcakir)
  • 1ba5318182147882b4e7a0964fce93adee032912: add rand to readme (@kenanfarukcakir)
  • 7ace38b525c5e2a006995e609d80a1ce43edd477: add remote read from csv (@kenanfarukcakir)
  • 30f84aca18d5b4ccf2baacbdf81abeb4cd786e78: add sequential data load test (@kenanfarukcakir)
  • bb22e19a594cf426853ac40dafbe7de92a80e73c: add tests for rand operation and csv read (@kenanfarukcakir)
  • de1cbbbcbc916d4166de2866ef1ed52183d2da6e: add type field to vars tags (@kenanfarukcakir)
  • 04e225cdeb9b9d91f623b0836f591762e7b16034: do rand operation on slice environments (@kenanfarukcakir)
  • c3f0b3c4fb573cfae5529578641a29650e7c2674: fix json injection err check (@kenanfarukcakir)
  • f8f17ebeb8b11300f6167e8d8c5c60f4f4fea07b: fix readme test data link (@kenanfarukcakir)
  • e1937043813cc43bf786f8061bb726643c85c5f9: only build benchmark tests for linux and darwin (@kenanfarukcakir)
  • 10b5631a761c7998281a58adf9cd153f85e2bf3c: pass random data from csv to envs (@kenanfarukcakir)
  • 3e3350c3f9b9fee5392357f267e05797398c6a1d: read csv data (@kenanfarukcakir)
  • b8b0e75387c7c92b2078f2b58c98fbfcf3153cd5: refactor data path errors (@kenanfarukcakir)
  • 6861b6e4d3363e795233642b6fd3722fccc2ab7d: remove src from csv data conf (@kenanfarukcakir)
  • 42c834001f9567ff70733fe460944f429fbc0dd6: run benchmark once on different processes (@kenanfarukcakir)
  • bb410248cdf999ce8b792b0903950bc0e1da14d3: seperate test data from env in report (@kenanfarukcakir)
  • 9d8a1f88ed5a0a624ba5ffc83332e66db52d4af3: test data readme (@kenanfarukcakir)
  • 2b3ab6b9c401653b60d9821992c620f950dfcd2a: update config example (@kenanfarukcakir)
  • daa39b9e574617717580c87905367e31975d0d95: update cputime thresholds (@kenanfarukcakir)
  • 63e1c13858922e1193bca9819a3be0e018187e61: update readme and change csv cast error (@kenanfarukcakir)
  • a5fa8762bf5277790ee6609507b3585596bee49b: validate csv conf (@kenanfarukcakir)

More? 🚀

v0.11.0

1 year ago

✅ Correlation feature Introduced by @kenanfarukcakir

Correlation - Extract variables from earlier phases and pass them on to the following ones. Usage: https://github.com/ddosify/ddosify#correlation

Breaking Changes

The protocol flag -p is deprecated. You should include the protocol in the target flag: -t. Example:

Old:

ddosify -t servdown.com -p https

New:

ddosify -t https://servdown.com

Changelog

  • 77b198988f94c208642406a81bd71752c87189bf: Merge remote-tracking branch 'origin/develop' into feat/correlation-v1 (@fatihbaltaci)
  • 4ef7b9001c661d2fe0e4fa29017061c2a6adcfc0: Update logo (@fatihbaltaci)
  • ea80f823fe1ab59fb6d54d807002f20aa8472747: Update logo (@fatihbaltaci)
  • d405b1845e4ab23e8631520e74018fae7b5fd2bd: Update logo (@fatihbaltaci)
  • 6ad19b1cef3b8a25f202310ce34a3877fc084976: Update readme (@fatihbaltaci)
  • e7b39a11f61c4f41b14d26d745ab5cbfe81e3f72: add capture to config and validate (@kenanfarukcakir)
  • a71fb511fc4ac20239f2d5c9dd0eeba6c26c7869: add envs and warnings to report (@kenanfarukcakir)
  • 6a9d7bae7c3ecefe27c137fc5aa178c39228784e: add example xml payload and rename injector (@kenanfarukcakir)
  • 18f45f23ffa5931622add58f3eb25ee052f3d5d6: add global env test (@kenanfarukcakir)
  • 71063b445f3aa7ea8c9ca03dde0b4599f8d704b1: add hammer create tests for correlation (@kenanfarukcakir)
  • 452ea3a77e98e9fa3a0304bf67949c9967621138: add inject from captured vars test (@kenanfarukcakir)
  • 1d1e048dfc8dfff0de5cb98fe5315614b58bd607: add json and xml tests (@kenanfarukcakir)
  • f2a121c9d1419e37048e336ad276e92b44361b54: add regex match (@kenanfarukcakir)
  • 4c308f8a854f31ca80e45d7af4a167afeb003852: add test for json extract (@kenanfarukcakir)
  • 602d66212ed6fe3529a8ef0f30a60f4eaec5825c: add test for json payload injection (@kenanfarukcakir)
  • 5342f9f648a4845d76433a862fc96941b6a0b55f: add test for regex replacer (@kenanfarukcakir)
  • c3434e60b54896cd52869a6a0ae7d985d7dc1c0b: add test for xml injection (@kenanfarukcakir)
  • 394e9c3d6aa28004a83666830927cedd8e4d9a45: add xml extraction and add protocol tests (@kenanfarukcakir)
  • cc5d42566c61a8f4757ba54b0f3e115e480d94ac: change debug response in case of request preparation failure (@kenanfarukcakir)
  • bb06bb3a09e64b66f5288f5674c7f0c892abd8c6: change warnings to failed captures, add failure reason (@kenanfarukcakir)
  • 76cea9845c24541fba59fabd30420c592ba40e1b: comment url tests because we use temp valid url for correlation (@kenanfarukcakir)
  • ad9a2bf499aa524b656da84b5e533d5a343b5a55: continue test on capture failure (@kenanfarukcakir)
  • 8be495cebb2e8859efdda37575c2b97330373a3d: continue test with empty envs when prev req failed (@kenanfarukcakir)
  • 009ca93704b7818d6190417c4a921728b72890be: debug print regardless in case of unmarshal err (@kenanfarukcakir)
  • 8d3ad7eb545e96c535b8e3adcf5e8494b2cdf311: extract env from prev steps and inject to url and headers (@kenanfarukcakir)
  • 31fab22794461905992288c2b85c7f852b5bd71a: extract json array or bool (@kenanfarukcakir)
  • fb0f179c5a90341f34461924357da20b9fea64cc: extraction int float check (@kenanfarukcakir)
  • cbad5346908922effc62d05d4ca72b036b91fe6e: fix link on readme (@kenanfarukcakir)
  • 6c75bced2e33f358419a39bc8485922fefad7deb: fix race condition on passing envs (@kenanfarukcakir)
  • 02cc8a21e25707b1d62cd6fdb087c3cc8041c6c3: fix readme link (@kenanfarukcakir)
  • 389339f17df05a6d060a7cec4f6d7b48a233b998: fix stdout test (@kenanfarukcakir)
  • f23730d3bb29c31b597f8dc402af94810d2d5a2c: go mod (@kenanfarukcakir)
  • 48ed7d76652112ae03fe671614f2e22171daf277: go mod (@kenanfarukcakir)
  • 42590ef53b4781ed7acf1b5aa7aa4f2add882989: go mod (@kenanfarukcakir)
  • 871ee827c65f7c95f2f61e8c352ce0fbddf8056f: inject dynamic var to json typed (@kenanfarukcakir)
  • 591073e410f331724d4eb7cfc00abe108277db9a: inject dynamic vars before scenario iteration (@kenanfarukcakir)
  • bad2df7a3eeec6867adc9ead0ce1c5078216a998: inject extracted vars to json body (@kenanfarukcakir)
  • 8a7a8ed6bf7c96b001a66044f7070d907cb24a29: inject to str, type conversions (@kenanfarukcakir)
  • 3f502a4a3e48c92ca52bd84af4fa0358207a50cf: make correlation headlines bigger (@kenanfarukcakir)
  • d3e44c56e336feed8c6ccf845bb98ca3f8ae979e: rearrange headlines (@kenanfarukcakir)
  • ccc9057f16101ce1e8e3dcfa4de1e011cdfcc9d7: recover from assert panic in extract, add some tests (@kenanfarukcakir)
  • 7ab7c234af1632ee2abd3fbd041004e9b175429c: refactor and add tests (@kenanfarukcakir)
  • 6be39fb944e4c5e1c2e6de9f7322a935c8268fac: refactor injection and extraction (@kenanfarukcakir)
  • 86c4a9057d5898b108942e01e246e080496615b2: refactor injection and fix race (@kenanfarukcakir)
  • 4efc46a226c9642a4f3a921f358146ff78cefe89: refactor int float json extraction tests (@kenanfarukcakir)
  • b142c7fc53de1e533e41b03716cf5826b4743a60: refactor json injection (@kenanfarukcakir)
  • 11e964a36d068426c56580b926bb1915a5fd93b0: refactor stdout report (@kenanfarukcakir)
  • efc5c60fad650e30c1d08964be7d05dbff8f9e83: refactor stdout report format (@kenanfarukcakir)
  • ceb99fc471ed77ccbac356a8e76878427f49ac03: remove protocol (@kenanfarukcakir)
  • 2c8caaaca147e892d3abcf2f73f597f0c979dedb: remove protocol flag from jenkins (@kenanfarukcakir)
  • c1fb26e2c6edebe77e5c8ecd8b04dc8af6e94d99: rename injector receiver var (@kenanfarukcakir)
  • 8600bafda3fe44c22e8741074625aab7bcc93a17: renamed files (@kenanfarukcakir)
  • e4ee7c863043f303392e4ec8b769ef684e2e7ba5: start correlation env var (@kenanfarukcakir)
  • 5b2244a533d9f63ff4309a58987f42b3dd373def: update readme (@kenanfarukcakir)
  • bd0e4dded3e001862293c96eb16db28f36b7657a: validate scenario step for environment vars (@kenanfarukcakir)
  • d257c1292ebc37f88b871ae5b1b76df84c59558f: validation of capture config (@kenanfarukcakir)

More? 🚀

v0.10.0

1 year ago

Changelog

✅ Debug Mode Introduced by @kenanfarukcakir

Example Usage:

ddosify -t https://httpbin.ddosify.com/json --debug

Result:

***********  REQUEST  ***********
> Target:     https://httpbin.ddosify.com/json
> Method:     GET
Request Headers:
Request Body:

***********  RESPONSE  ***********
< StatusCode:    200
Response Headers:
< Server:                              nginx/1.23.2
< Content-Type:                        application/json
< Content-Length:                      429
< Connection:                          keep-alive
< Strict-Transport-Security:           max-age=31536000
< Date:                                Thu, 15 Dec 2022 20:11:21 GMT
< Access-Control-Allow-Origin:         *
< Access-Control-Allow-Credentials:    true
Response Body:
{
  "slideshow": {
    "author": "Yours Truly",
    "date": "date of publication",
    "slides": [
      {
        "title": "Wake up to WonderWidgets!",
        "type": "all"
      },
      {
        "items": [
          "Why \u003cem\u003eWonderWidgets\u003c/em\u003e are great",
          "Who \u003cem\u003ebuys\u003c/em\u003e WonderWidgets"
        ],
        "title": "Overview",
        "type": "all"
      }
    ],
    "title": "Sample Slide Show"
  }
}

More? 🚀