Skip to content

Latest commit

 

History

History
429 lines (290 loc) · 15.1 KB

CHANGELOG.md

File metadata and controls

429 lines (290 loc) · 15.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

API

The API consists of all public Java types from com.atlassian.performance.tools.virtualusers.api and its subpackages:

POM

Changing the license is breaking a contract. Adding a requirement of a major version of a dependency is breaking a contract. Dropping a requirement of a major version of a dependency is a new contract.

3.13.0 - 2020-11-17

Added

  • Time VU tasks like throttling and diagnosis. Expose VirtualUserResult.streamTasks. Resolve JPERF-483.

Deprecated

  • Deprecate VirtualUserResult.streamMetrics in favor of streamActions to avoid confusion with streamTasks.

3.12.0 - 2020-11-12

Added

  • Add VirtualUserNodeResult and VirtualUserResult to formalize the filesystem result format.
  • Write results to the VirtualUserBehavior.results path.

3.11.1 - 2020-04-22

Fixed

  • Respect max load for failing actions.

3.11.0 - 2020-03-04

Added

  • Generate realistic user names in RestUserGenerator.

Fixed

  • Harden HTML page source dump generation.

3.10.0 - 2019-08-02

Added

  • Add TimeControllingUserGenerator for synchronizing user generators across threads and nodes.

Fixed

  • Generate users before applying load instead of during the ramp. Fix JPERF-535.

3.9.1 - 2019-07-30

Fixed

  • Don't create users by default. Fix JPERF-545.

3.9.0 - 2019-07-24

Added

  • Declare VirtualUserBehavior.maxOverhead. Unblock JPERF-530.

    Virtual Users have one main goal: apply realistic load. But they also have to do auxiliary tasks, like spin up browsers, set up Jira, generate users, flush results to disk. All of these tasks take time and can add up to a significant time overhead. Until now, it was assumed it should fit under 5 minutes. But custom setup actions and user generation can easily break that limit. Therefore it's now set explicitly. It might be used internally to warn, fail fast or otherwise control the VUs. It should be used externally to better inform expected runtime duration, to set up timeouts, progress bars, etc.

3.8.0 - 2019-07-23

Added

  • Add SPI for users generation. Resolve JPERF-532.

3.7.0 - 2019-05-27

Added

  • Add custom logging configuration. Resolve JPERF-487.
  • Add log4j-core to the API.

3.6.6 - 2019-04-29

Fixed

  • Daemonize WebDriver closing threads. Fix JPERF-470.
  • Stop checking VU activity after applying load. Resolve JPERF-472.

3.6.5 - 2019-04-25

Fixed

  • Terminate the main thread regardless of interruptibility of VU actions. Fix JPERF-459.
  • Close WebDriver if it takes less than 30 seconds.
  • Close each VU in parallel to control the total overhead. Avoid JPERF-459.

3.6.4 - 2019-04-08

Fixed

  • Continue applying load despite failed node identification. Resolve JPERF-440.

3.6.3 - 2019-03-27

Fixed

  • Remove login retry mechanism. Resolve JPERF-432.

3.6.2 - 2019-03-19

Fixed

  • Have more patience for user generation. Fix JPERF-411.
  • Waste less VU time during user generation.

3.6.1 - 2019-03-11

Fixed

  • Close HTTP connections when creating Jira users. Fix JPERF-411.

3.6.0 - 2019-03-06

Added

  • Support creating test users so each virtual user is logged in with a unique user. Reusing the same admin user resulted in a high number of http threads being blocked on user-data-specific locks, causing unrealistically high response times.

3.5.0 - 2019-02-29

Added

  • Slow down each VU to a given VirtualUserLoad.maxOverallLoad. Fix JPERF-403.
  • Let VirtualUserLoad slice itself into multiple smaller loads.
  • Let VirtualUserLoad check its equivalency with another load.
  • Let TemporalRate multiply and divide itself.

Deprecated

  • Deprecate VirtualUserLoad constructor in favor of VirtualUserLoad.Builder.

3.4.1 - 2019-01-22

Fixed

  • Isolate ChromeOptions state between GoogleChrome starts. Fix JPERF-353.

3.4.0 - 2019-01-11

Added

  • Let virtual users skip the setup. Unblock JPERF-346.
  • Add a builder for VirtualUserBehavior.

Deprecate

  • Deprecate all VirtualUserBehavior methods in favor of the builder.

Fixed

  • Install ChromeDriver only once instead of for every virtual user. Fix JPERF-351.

3.3.6 - 2019-01-04

Fixed

  • Disable /dev/shm usage. Resolves JPERF-333.

3.3.5 - 2019-01-03

Fixed

  • Stop overriding chromedriver if already installed. Resolves JPERF-330.

3.3.4 - 2018-12-03

Fixed

  • Shutting down virtual users which resolves JPERF-281.

3.3.3 - 2018-11-30

Fixed

  • Shutting down virtual users which resolves JPERF-281.

3.3.2 - 2018-11-30

Fixed

  • Race condition while stopping virtual user.

3.3.1 - 2018-11-30

Fixed

  • Add missing browser parameter when serialising VirtualUserOptions to command line parameters.

3.3.0 - 2018-11-27

Added

  • Compose VirtualUserOptions from VirtualUserTarget and VirtualUserBehavior.
  • Add a VirtualUserBehavior.withLoad to avoid rewriting the rest of the parameters.

Deprecate

  • Deprecate the 9-arg VirtualUserOptions constructor in favor of the new 2-arg one.
  • Deprecate the VirtualUserOptions getters. Prepare to expose only those getters, which are proven useful.

3.2.0 - 2018-11-23

Added

3.1.1 - 2018-11-20

Fixed

  • Do not shutdown JVM in EntryPoint. Resolve JPERF-259.

3.1.0 - 2018-11-14

Added

3.0.0 - 2018-11-06

Removed

  • Remove Kotlin data-class generated methods from API.
  • Remove all deprecated API.

2.2.0 - 2018-10-31

INCOMPATIBILITY BUG

Break binary compatibility for com.atlassian.performance.tools.virtualusers.api.VirtualUserOptions. See JPERF-253. Roll back to 2.1.5 to restore this compatibility.

Added

  • Allow insecure connections. Resolve JPERF-196.

Fixed

  • Print relative paths for dumps in WebDriverDiagnostics as a workaround for JPERF-158.
  • Fix serialization of the help CLI argument.
  • Remove custom page load timeout. Decreases JPERF-249 occurrence.

Deprecated

  • Deprecate the Kotlin-defaults-ridden VirtualUserOptions constructor.

2.1.5 - 2018-10-25

Fixed

  • Hold virtual users before running the setup. Fix JPERF-230

2.1.4 - 2018-10-23

Fixed

2.1.3 - 2018-10-22

Fixed

2.1.2 - 2018-10-18

Fixed

  • Terminate the virtual user when it fails to log in or set up in the setUp phase. Fix JPERF-217.

2.1.1 - 2018-10-16

Fixed

  • Take screenshots after failed login or setup. Fix JPERF-179.

2.1.0 - 2018-09-12

Added

  • Expose virtual user error diagnostics.

2.0.0 - 2018-09-06

Changed

  • Change the type of VirtualUserOptions.scenario.

1.0.2 - 2018-09-06

Fixed

  • Restore VirtualUserOptions source and binary compatibility with 1.0.0.

1.0.1 - 2018-09-05

INCOMPATIBILITY BUG

Break source and binary compatibility for com.atlassian.performance.tools.virtualusers.api.VirtualUserOptions. Switch to 1.0.2 or newer to restore this compatibility or roll forward with 2.0.0.

1.0.0 - 2018-09-04

Changed

  • Define public API for the module

Added

  • API for virtual users JAR command line arguments.

Fixed

  • Strict dependency resolution.

0.0.4 - 2018-08-28

Removed

  • Remove plain text report.

Added

  • Add diagnosticsLimit parameter.

0.0.3 - 2018-08-07

Fixed

  • Restore main log. See #2.

0.0.2 - 2018-08-03

Fixed

  • Gradle plugin to compile Kotlin source.

0.0.1 - 2018-08-03

Added