diff --git a/build.gradle.kts b/build.gradle.kts index 6f5314d3..119072fd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,6 +4,10 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val seleniumVersion = "3.141.59" +repositories { + mavenLocal() +} + plugins { kotlin("jvm").version("1.4.10") id("com.github.johnrengelman.shadow").version("2.0.4") diff --git a/gradle/dependency-locks/compile.lockfile b/gradle/dependency-locks/compile.lockfile new file mode 100644 index 00000000..656c5dbc --- /dev/null +++ b/gradle/dependency-locks/compile.lockfile @@ -0,0 +1,3 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/compileClasspath.lockfile b/gradle/dependency-locks/compileClasspath.lockfile index 04aa5ff5..86b2e8a1 100644 --- a/gradle/dependency-locks/compileClasspath.lockfile +++ b/gradle/dependency-locks/compileClasspath.lockfile @@ -4,9 +4,9 @@ com.atlassian.data:random-data:1.4.3 com.atlassian.performance.tools:concurrency:1.1.0 com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.13.4 -com.atlassian.performance.tools:jira-software-actions:1.3.3 -com.atlassian.performance.tools:jvm-tasks:1.2.0 +com.atlassian.performance.tools:jira-actions:3.15.2-SNAPSHOT +com.atlassian.performance.tools:jira-software-actions:1.3.4-SNAPSHOT +com.atlassian.performance.tools:jvm-tasks:1.2.1 com.atlassian.performance:selenium-js:1.0.1 com.github.stephenc.jcip:jcip-annotations:1.0-1 com.google.code.findbugs:jsr305:1.3.9 diff --git a/gradle/dependency-locks/runtimeClasspath.lockfile b/gradle/dependency-locks/runtimeClasspath.lockfile index 04aa5ff5..86b2e8a1 100644 --- a/gradle/dependency-locks/runtimeClasspath.lockfile +++ b/gradle/dependency-locks/runtimeClasspath.lockfile @@ -4,9 +4,9 @@ com.atlassian.data:random-data:1.4.3 com.atlassian.performance.tools:concurrency:1.1.0 com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.13.4 -com.atlassian.performance.tools:jira-software-actions:1.3.3 -com.atlassian.performance.tools:jvm-tasks:1.2.0 +com.atlassian.performance.tools:jira-actions:3.15.2-SNAPSHOT +com.atlassian.performance.tools:jira-software-actions:1.3.4-SNAPSHOT +com.atlassian.performance.tools:jvm-tasks:1.2.1 com.atlassian.performance:selenium-js:1.0.1 com.github.stephenc.jcip:jcip-annotations:1.0-1 com.google.code.findbugs:jsr305:1.3.9 diff --git a/gradle/dependency-locks/testCompileClasspath.lockfile b/gradle/dependency-locks/testCompileClasspath.lockfile index 95f86f76..2d88dc49 100644 --- a/gradle/dependency-locks/testCompileClasspath.lockfile +++ b/gradle/dependency-locks/testCompileClasspath.lockfile @@ -6,10 +6,10 @@ com.atlassian.performance.tools:concurrency:1.1.0 com.atlassian.performance.tools:docker-infrastructure:0.3.3 com.atlassian.performance.tools:infrastructure:4.15.0 com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.13.4 -com.atlassian.performance.tools:jira-software-actions:1.3.3 -com.atlassian.performance.tools:jvm-tasks:1.2.0 -com.atlassian.performance.tools:ssh:2.3.1 +com.atlassian.performance.tools:jira-actions:3.15.2-SNAPSHOT +com.atlassian.performance.tools:jira-software-actions:1.3.4-SNAPSHOT +com.atlassian.performance.tools:jvm-tasks:1.2.1 +com.atlassian.performance.tools:ssh:2.4.0 com.atlassian.performance:selenium-js:1.0.1 com.fasterxml.jackson.core:jackson-annotations:2.10.3 com.fasterxml.jackson.core:jackson-core:2.10.3 diff --git a/gradle/dependency-locks/testRuntimeClasspath.lockfile b/gradle/dependency-locks/testRuntimeClasspath.lockfile index 84bbb417..8dfb5b60 100644 --- a/gradle/dependency-locks/testRuntimeClasspath.lockfile +++ b/gradle/dependency-locks/testRuntimeClasspath.lockfile @@ -6,10 +6,10 @@ com.atlassian.performance.tools:concurrency:1.1.0 com.atlassian.performance.tools:docker-infrastructure:0.3.3 com.atlassian.performance.tools:infrastructure:4.15.0 com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.13.4 -com.atlassian.performance.tools:jira-software-actions:1.3.3 -com.atlassian.performance.tools:jvm-tasks:1.2.0 -com.atlassian.performance.tools:ssh:2.3.1 +com.atlassian.performance.tools:jira-actions:3.15.2-SNAPSHOT +com.atlassian.performance.tools:jira-software-actions:1.3.4-SNAPSHOT +com.atlassian.performance.tools:jvm-tasks:1.2.1 +com.atlassian.performance.tools:ssh:2.4.0 com.atlassian.performance:selenium-js:1.0.1 com.fasterxml.jackson.core:jackson-annotations:2.10.3 com.fasterxml.jackson.core:jackson-core:2.10.3 diff --git a/src/main/kotlin/com/atlassian/performance/tools/virtualusers/LoadTest.kt b/src/main/kotlin/com/atlassian/performance/tools/virtualusers/LoadTest.kt index 849ee4b3..6e294857 100644 --- a/src/main/kotlin/com/atlassian/performance/tools/virtualusers/LoadTest.kt +++ b/src/main/kotlin/com/atlassian/performance/tools/virtualusers/LoadTest.kt @@ -6,12 +6,14 @@ import com.atlassian.performance.tools.io.api.ensureParentDirectory import com.atlassian.performance.tools.jiraactions.api.SeededRandom import com.atlassian.performance.tools.jiraactions.api.WebJira import com.atlassian.performance.tools.jiraactions.api.measure.ActionMeter +import com.atlassian.performance.tools.jiraactions.api.measure.DrillDownHook import com.atlassian.performance.tools.jiraactions.api.measure.output.AppendableActionMetricOutput import com.atlassian.performance.tools.jiraactions.api.measure.output.ThrowawayActionMetricOutput import com.atlassian.performance.tools.jiraactions.api.memories.User import com.atlassian.performance.tools.jiraactions.api.memories.UserMemory import com.atlassian.performance.tools.jiraactions.api.memories.adaptive.AdaptiveUserMemory import com.atlassian.performance.tools.jiraactions.api.scenario.Scenario +import com.atlassian.performance.tools.jiraactions.api.w3c.JavascriptW3cPerformanceTimeline import com.atlassian.performance.tools.virtualusers.api.VirtualUserNodeResult import com.atlassian.performance.tools.virtualusers.api.VirtualUserOptions import com.atlassian.performance.tools.virtualusers.api.browsers.Browser @@ -167,6 +169,7 @@ internal class LoadTest( CloseableThreadContext.push("applying load #${segment.id}").use { val rampUpWait = load.rampInterval.multipliedBy(segment.index.toLong()) logger.info("Waiting for $rampUpWait") + logger.info("I WILL MEASURE JS METRICS") Thread.sleep(rampUpWait.toMillis()) createVirtualUser( jira = WebJira( @@ -176,6 +179,7 @@ internal class LoadTest( ), actionMeter = ActionMeter.Builder(AppendableActionMetricOutput(segment.actionOutput)) .virtualUser(segment.id) + .appendPostMetricHook(DrillDownHook(JavascriptW3cPerformanceTimeline(segment.driver.getDriver()))) .build(), taskMeter = ActionMeter.Builder(AppendableActionMetricOutput(segment.taskOutput)) .virtualUser(segment.id)