diff --git a/.gitattributes b/.gitattributes index 390d21218..fd26019bf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ -*.sh text eol=lf \ No newline at end of file +*.sh text eol=lf +dcapt-snapshots.json text eol=lf +*.tfvars text eol=lf \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index a260b9810..ab4462ac4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ # bzt run: docker run --shm-size=4g -v "$PWD:/dc-app-performance-toolkit" atlassian/dcapt jira.yml # interactive run: docker run -it --entrypoint="/bin/bash" -v "$PWD:/dc-app-performance-toolkit" atlassian/dcapt -FROM python:3.11-slim-bullseye +FROM python:3.12-slim-bookworm ENV APT_INSTALL="apt-get -y install --no-install-recommends" @@ -14,10 +14,14 @@ ENV CHROME_LATEST_URL="https://dl.google.com/linux/direct/google-chrome-stable_c ENV CHROME_VERSION_URL="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb" RUN apt-get -y update \ - && $APT_INSTALL vim git openssh-server wget openjdk-11-jdk \ + && $APT_INSTALL vim git openssh-server wget \ && python -m pip install --upgrade pip \ && apt-get clean +RUN wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb \ + && $APT_INSTALL ./jdk-21_linux-x64_bin.deb \ + && rm -rf ./jdk-21_linux-x64_bin.deb + RUN if [ "$CHROME_VERSION" = "latest" ]; then wget -O google-chrome.deb $CHROME_LATEST_URL; else wget -O google-chrome.deb $CHROME_VERSION_URL; fi \ && $APT_INSTALL ./google-chrome.deb \ && rm -rf ./google-chrome.deb diff --git a/README.md b/README.md index e0db39337..cd197433e 100644 --- a/README.md +++ b/README.md @@ -5,22 +5,22 @@ This repository contains Taurus scripts for performance testing of Atlassian Dat ## Supported versions * Supported Jira versions: - * Jira [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `9.12.4` and `9.4.17` + * Jira [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `9.12.8` and `9.4.22` * Supported Jira Service Management versions: - * Jira Service Management [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `5.12.4` and `5.4.17` + * Jira Service Management [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `5.12.8` and `5.4.22` * Supported Confluence versions: - * Confluence [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.5.6` and `7.19.19` + * Confluence [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.5.9` and `7.19.22` * Supported Bitbucket Server versions: - * Bitbucket Server [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.9.10` and `7.21.22` + * Bitbucket Server [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.19.4` and `8.9.14` * Supported Crowd versions: - * Crowd [release notes](https://confluence.atlassian.com/crowd/crowd-release-notes-199094.html): `5.2.3` + * Crowd [release notes](https://confluence.atlassian.com/crowd/crowd-release-notes-199094.html): `5.3.1` * Supported Bamboo versions: - * Bamboo [Long Term Support release](https://confluence.atlassian.com/bamboo/bamboo-release-notes-671089224.html): `9.6.1` + * Bamboo [Long Term Support release](https://confluence.atlassian.com/bamboo/bamboo-release-notes-671089224.html): `9.6.2` ## Support In case of technical questions, issues or problems with DC Apps Performance Toolkit, contact us for support in the [community Slack](http://bit.ly/dcapt_slack) **#data-center-app-performance-toolkit** channel. @@ -28,8 +28,8 @@ In case of technical questions, issues or problems with DC Apps Performance Tool ## Installation and set up #### Dependencies -* Python 3.8, 3.9, 3.10 or 3.11 and pip -* JDK 17 +* Python 3.9 - 3.12 and pip +* JDK 17 or JDK 21 * Google Chrome web browser * Git client (only for Bitbucket DC) diff --git a/app/bamboo.yml b/app/bamboo.yml index d42bd3bfb..ca582c90f 100644 --- a/app/bamboo.yml +++ b/app/bamboo.yml @@ -18,7 +18,7 @@ settings: ramp-up: 5m # time to spin all concurrent threads total_actions_per_hour: 2000 # number of total JMeter actions per hour WEBDRIVER_VISIBLE: False - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -51,7 +51,7 @@ services: - python util/post_run/cleanup_results_dir.py - module: pip-install packages: - - selenium==4.18.1 + - selenium==4.21.0 execution: - scenario: jmeter executor: jmeter @@ -105,27 +105,22 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost httpsampler.ignore_failed_embedded_resources: "true" selenium: chromedriver: - version: "125.0.6422.141" # Supports Chrome version 125. You can refer to https://googlechromelabs.github.io/chrome-for-testing + version: "126.0.6478.126" # Supports Chrome version 126. You can refer to https://googlechromelabs.github.io/chrome-for-testing reporting: - data-source: sample-labels module: junit-xml diff --git a/app/bitbucket.yml b/app/bitbucket.yml index a0b59e290..9d54a29d6 100644 --- a/app/bitbucket.yml +++ b/app/bitbucket.yml @@ -18,7 +18,7 @@ settings: ramp-up: 10m # time to spin all concurrent users total_actions_per_hour: 32700 WEBDRIVER_VISIBLE: False - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -37,7 +37,7 @@ services: - python util/post_run/cleanup_results_dir.py - module: pip-install packages: - - selenium==4.18.1 + - selenium==4.21.0 execution: - scenario: ${load_executor} concurrency: ${concurrency} @@ -71,27 +71,22 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost httpsampler.ignore_failed_embedded_resources: "true" selenium: chromedriver: - version: "125.0.6422.141" # Supports Chrome version 125. You can refer to https://googlechromelabs.github.io/chrome-for-testing + version: "126.0.6478.126" # Supports Chrome version 126. You can refer to https://googlechromelabs.github.io/chrome-for-testing reporting: - data-source: sample-labels module: junit-xml diff --git a/app/confluence.yml b/app/confluence.yml index 7abf7c486..bfc18d410 100644 --- a/app/confluence.yml +++ b/app/confluence.yml @@ -18,7 +18,7 @@ settings: ramp-up: 5m # time to spin all concurrent users total_actions_per_hour: 20000 WEBDRIVER_VISIBLE: False - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -52,7 +52,7 @@ services: - python util/post_run/cleanup_results_dir.py - module: pip-install packages: - - selenium==4.18.1 + - selenium==4.21.0 execution: - scenario: ${load_executor} executor: ${load_executor} @@ -98,27 +98,22 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost httpsampler.ignore_failed_embedded_resources: "true" selenium: chromedriver: - version: "125.0.6422.141" # Supports Chrome version 125. You can refer to https://googlechromelabs.github.io/chrome-for-testing + version: "126.0.6478.126" # Supports Chrome version 126. You can refer to https://googlechromelabs.github.io/chrome-for-testing reporting: - data-source: sample-labels module: junit-xml diff --git a/app/crowd.yml b/app/crowd.yml index b56f0662d..ad8698bf4 100644 --- a/app/crowd.yml +++ b/app/crowd.yml @@ -30,7 +30,7 @@ settings: # ramp-up: 5s # time to spin all concurrent threads # total_actions_per_hour: 720000 # number of total JMeter actions per hour - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -74,20 +74,15 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost diff --git a/app/jira.yml b/app/jira.yml index 3e90fd0b6..aa9752db4 100644 --- a/app/jira.yml +++ b/app/jira.yml @@ -18,7 +18,7 @@ settings: ramp-up: 3m # time to spin all concurrent users total_actions_per_hour: 54500 # number of total JMeter/Locust actions per hour WEBDRIVER_VISIBLE: False - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -52,7 +52,7 @@ services: - python util/post_run/cleanup_results_dir.py - module: pip-install packages: - - selenium==4.18.1 + - selenium==4.21.0 execution: - scenario: ${load_executor} executor: ${load_executor} @@ -99,27 +99,22 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost httpsampler.ignore_failed_embedded_resources: "true" selenium: chromedriver: - version: "125.0.6422.141" # Supports Chrome version 125. You can refer to https://googlechromelabs.github.io/chrome-for-testing + version: "126.0.6478.126" # Supports Chrome version 126. You can refer to https://googlechromelabs.github.io/chrome-for-testing reporting: - data-source: sample-labels module: junit-xml diff --git a/app/jmeter/jira.jmx b/app/jmeter/jira.jmx index f04943348..9ad9b7d64 100644 --- a/app/jmeter/jira.jmx +++ b/app/jmeter/jira.jmx @@ -515,94 +515,6 @@ JMeterUtils.setProperty("c_AtlToken" + user_counter, atl_token) - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-1044},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"},"timeDelta":-685}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"2331","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.dashboard","navigationType":"0","readyForUser":"6584","redirectCount":"1","resourceLoadedEnd":"1723","resourceLoadedStart":622.4300000176299,"threshold":"1000","unloadEventStart":"514","unloadEventEnd":"517","redirectStart":"5","redirectEnd":"341","fetchStart":"341","domainLookupStart":"341","domainLookupEnd":"341","connectStart":"341","connectEnd":"341","requestStart":"344","responseStart":"495","responseEnd":"620","domLoading":"527","domInteractive":"2427","domContentLoadedEventStart":"2428","domContentLoadedEventEnd":"2710","domComplete":"6612","loadEventStart":"6614","loadEventEnd":"6631","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"ea0357911b5724","effectiveType":"4g","downlink":5.9,"rtt":100,"serverDuration":"42","dbConnsTimeInMs":"6","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,ha,ps,l9,hl,ha,,ha,ha,ha\",\"2,hb,w6,ld,hr,hb,,hb,hb,hb\",\"2,hc,op,om,l5,l5,,hp,hp,hp\",\"3,hd,16t,pk,lg,lc,,hq,hq,hq\",\"3,hd,14k,pn,lg,lc,,hq,hq,hq\",\"3,he,te,tb,ps,he,,he,he,he\",\"3,hf,tv,tr,pz,hf,,hf,hf,hf\",\"3,hg,tu,tj,q0,hg,,hg,hg,hg\",\"3,hh,xa,x3,te,hh,,hh,hh,hh\",\"3,hh,xw,xn,tx,hh,,hh,hh,hh\",\"2,hi,pt,p4,lf,l9,,ia,ia,ia\",\"3,hj,xw,xs,u3,hj,,hj,hj,hj\",\"3,hk,1az,1ar,16v,hk,,hk,hk,hk\",\"3,l8,1bv,1bp,182,l8,,l8,l8,l8\",\"5,1kj,1of,1ob,1kn,1kj,,1kj,1kj,1kj\",\"4,1ns,1wm,1wj,1sy,1ns,,1ns,1ns,1ns\",\"5,20p,25i,25c,20v,20p,,20p,20p,20p\",\"-1,226,26m,26e,22o,226,,226,226,226\",\"5,232,26t,26r,236,232,,232,232,232\",\"3,24m,29b,294,25j,24m,,24m,24m,24m\",\"5,2r1,2v1,2uw,2ra,2r1,,2r1,2r1,2r1\",\"5,2s0,2yi,2x8,2t6,2s0,,2s0,2s0,2s0\",\"2,2zb,3ch,3bj,381,2zb,,2zb,2zb,2zb\",\"2,2zm,3cv,3bz,382,2zm,,2zm,2zm,2zm\",\"3,2zs,4kv,4km,4h4,2zs,,2zs,2zs,2zs\",\"3,2zv,4o3,4ny,4k6,2zv,,2zv,2zv,2zv\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":5.9,"connectionRTT":100},"timeDelta":-1602}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -1208,46 +1120,6 @@ JMeterUtils.setProperty("c_AtlToken" + user_counter, atl_token) - - true - - - - false - [{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-3120},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-2842},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-2495},{"name":"browser.metrics.navigation","properties":{"apdex":"1","isInitial":"false","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.dialog.open.create-issue-dialog","readyForUser":"897","threshold":"1000","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","effectiveType":"4g","downlink":1.45,"rtt":100,"applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"5,7,7w,7q,a,7,,7,7,7\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":1.45,"connectionRTT":100},"timeDelta":-1996},{"name":"issue.dnd.attachment.createissuedropzone.init","properties":{},"timeDelta":-1597},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-1593},{"name":"editor.instance.init","properties":{},"timeDelta":-1466},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-1466},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-1465},{"name":"editor.instance.init","properties":{},"timeDelta":-1326},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-1326},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-1326},{"name":"editor.instance.init","properties":{},"timeDelta":-1270},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-1270},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-1270},{"name":"editor.instance.perf.nodechange","properties":{"time":28.130000000353903},"timeDelta":-869},{"name":"editor.instance.perf.init","properties":{"time":1538.2599999997765},"timeDelta":-763},{"name":"editor.instance.init.perf","properties":{"time":140.08499999996275},"timeDelta":-763},{"name":"editor.instance.perf.init-bare","properties":{"time":1538.619999999646},"timeDelta":-763},{"name":"editor.instance.perf.nodechange","properties":{"time":4.289999999571592},"timeDelta":-736},{"name":"editor.instance.perf.nodechange","properties":{"time":2.3449999997392297},"timeDelta":-712},{"name":"editor.instance.perf.nodechange","properties":{"time":4.5750000001862645},"timeDelta":-677},{"name":"editor.instance.perf.init","properties":{"time":1653.3499999996275},"timeDelta":-648},{"name":"editor.instance.init.perf","properties":{"time":35.544999999925494},"timeDelta":-648},{"name":"editor.instance.perf.init-bare","properties":{"time":1653.5099999997765},"timeDelta":-648},{"name":"editor.instance.perf.nodechange","properties":{"time":15.514999999664724},"timeDelta":-616},{"name":"editor.instance.perf.nodechange","properties":{"time":1.4600000004284084},"timeDelta":-605},{"name":"editor.instance.perf.nodechange","properties":{"time":2.390000000130385},"timeDelta":-591},{"name":"editor.instance.perf.init","properties":{"time":1724.1399999996647},"timeDelta":-578},{"name":"editor.instance.init.perf","properties":{"time":16.674999999813735},"timeDelta":-578},{"name":"editor.instance.perf.init-bare","properties":{"time":1724.2199999997392},"timeDelta":-578},{"name":"editor.instance.perf.nodechange","properties":{"time":1.339999999385327},"timeDelta":-571},{"name":"editor.instance.perf.nodechange","properties":{"time":1.3500000000931323},"timeDelta":-557}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - - - false @@ -1380,46 +1252,6 @@ vars.put("p_request_body", request_body.toString()) - - true - - - - false - [{"name":"quick.create.fields","properties":{"atlassian.numCreates":1,"edit.form":false,"pid":"added","issuetype":"added","formToken":"added","resolution":"added","worklog_startDate":"added","worklog_adjustEstimate":"added","issuelinks":"added","issuelinks-linktype":"added","assignee":"added","summary":"added","priority":"added","customfield_10551":"added"},"timeDelta":-787},{"name":"quickeditform.submit.success","properties":{"allFieldsShown":true,"allFields":"[{\"id\":\"project\",\"required\":true},{\"id\":\"issuetype\",\"required\":true},{\"id\":\"components\",\"required\":false},{\"id\":\"versions\",\"required\":false},{\"id\":\"resolution\",\"required\":false},{\"id\":\"attachment\",\"required\":false},{\"id\":\"labels\",\"required\":false},{\"id\":\"worklog\",\"required\":false},{\"id\":\"issuelinks\",\"required\":false},{\"id\":\"fixVersions\",\"required\":false},{\"id\":\"assignee\",\"required\":false},{\"id\":\"environment\",\"required\":false},{\"id\":\"description\",\"required\":false},{\"id\":\"timetracking\",\"required\":false},{\"id\":\"summary\",\"required\":true},{\"id\":\"priority\",\"required\":false},{\"id\":\"duedate\",\"required\":false},{\"id\":\"customfield_10513\",\"required\":false},{\"id\":\"customfield_10551\",\"required\":false},{\"id\":\"customfield_10633\",\"required\":false},{\"id\":\"customfield_10694\",\"required\":false},{\"id\":\"customfield_10717\",\"required\":false}]","displayedFields":"[{\"id\":\"project\",\"required\":true},{\"id\":\"issuetype\",\"required\":true},{\"id\":\"components\",\"required\":false},{\"id\":\"versions\",\"required\":false},{\"id\":\"resolution\",\"required\":false},{\"id\":\"attachment\",\"required\":false},{\"id\":\"labels\",\"required\":false},{\"id\":\"worklog\",\"required\":false},{\"id\":\"issuelinks\",\"required\":false},{\"id\":\"fixVersions\",\"required\":false},{\"id\":\"assignee\",\"required\":false},{\"id\":\"environment\",\"required\":false},{\"id\":\"description\",\"required\":false},{\"id\":\"timetracking\",\"required\":false},{\"id\":\"summary\",\"required\":true},{\"id\":\"priority\",\"required\":false},{\"id\":\"duedate\",\"required\":false},{\"id\":\"customfield_10513\",\"required\":false},{\"id\":\"customfield_10551\",\"required\":false},{\"id\":\"customfield_10633\",\"required\":false},{\"id\":\"customfield_10694\",\"required\":false},{\"id\":\"customfield_10717\",\"required\":false}]"},"timeDelta":-786},{"name":"editor.instance.tab.timing.visual","properties":{"time":20977.28000000026},"timeDelta":-435},{"name":"editor.instance.tab.timing.visual","properties":{"time":20979.60499999998},"timeDelta":-433},{"name":"editor.instance.tab.timing.visual","properties":{"time":20982.985000000335},"timeDelta":-429},{"name":"editor.instance.destroy","properties":{},"timeDelta":-239},{"name":"bundled.editor.instance.destroy","properties":{},"timeDelta":-238},{"name":"editor.instance.destroy","properties":{},"timeDelta":-234},{"name":"bundled.editor.instance.destroy","properties":{},"timeDelta":-234},{"name":"editor.instance.destroy","properties":{},"timeDelta":-222},{"name":"bundled.editor.instance.destroy","properties":{},"timeDelta":-222}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - - - 1 @@ -1665,94 +1497,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"kickass.criteriaAutoUpdateEnabled","properties":{"enabled":true},"timeDelta":-1457},{"name":"kickass.issue-navigator.change-layout","properties":{"type":"split-view"},"timeDelta":-1024},{"name":"quicksearch.enabled","properties":{},"timeDelta":-960}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"devstatus.issue-navigator.dev-info.shown","properties":{},"timeDelta":-5328},{"name":"kickass.viewIssue","properties":{"issueId":205554,"loadedFromDom":false,"source":"jira.issuenav.global","projectId":10263,"projectType":"software","issueMatchesProjectContext":true},"timeDelta":-4688},{"name":"issue.dnd.attachment.attachmentsdropzone.init","properties":{},"timeDelta":-4341},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-4324},{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"2120","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.issue.nav-detail","navigationType":"0","readyForUser":"4725","redirectCount":"1","resourceLoadedEnd":"2488","resourceLoadedStart":564.7950000002311,"threshold":"1000","unloadEventStart":"450","unloadEventEnd":"450","redirectStart":"2","redirectEnd":"269","fetchStart":"269","domainLookupStart":"269","domainLookupEnd":"269","connectStart":"269","connectEnd":"269","requestStart":"272","responseStart":"421","responseEnd":"1790","domLoading":"482","domInteractive":"2494","domContentLoadedEventStart":"2494","domContentLoadedEventEnd":"3191","domComplete":"5769","loadEventStart":"5770","loadEventEnd":"5781","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"8c41587a7d6686","effectiveType":"4g","downlink":10,"rtt":50,"serverDuration":"1255","dbReadsTimeInMs":"875","dbConnsTimeInMs":"901","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,fo,ov,jo,fy,fo,,fo,fo,fo\",\"2,fp,vt,ns,jf,jf,,g0,g0,g0\",\"2,fq,ny,nn,jm,jl,,g6,g6,g6\",\"2,fq,nz,nv,jn,jm,,g6,g6,g6\",\"3,fr,19k,ru,o1,fr,,fr,fr,fr\",\"3,fr,17q,rr,o2,fr,,fr,fr,fr\",\"3,fs,s5,rl,o3,fs,,fs,fs,fs\",\"3,fs,sp,sj,ov,fs,,fs,fs,fs\",\"3,ft,w2,vv,s7,ft,,ft,ft,ft\",\"3,ft,wk,wd,sr,ft,,ft,ft,ft\",\"3,fu,zo,zn,w5,fu,,fu,fu,fu\",\"2,fu,nx,nl,jn,jm,,g6,g6,g6\",\"3,fv,zs,zq,w7,fv,,fv,fv,fv\",\"5,1h8,1l0,1ky,1hb,1h8,,1h8,1h8,1h8\",\"4,1kt,1rx,1rv,1o5,1kt,,1kt,1kt,1kt\",\"4,1ph,1t9,1t2,1pk,1ph,,1ph,1ph,1ph\",\"3,1s8,1vx,1vt,1sb,1s8,,1s8,1s8,1s8\",\"3,1t9,1x2,1x1,1ti,1t9,,1t9,1t9,1t9\",\"3,1t9,1x4,1x3,1tm,1t9,,1t9,1t9,1t9\",\"5,1w7,20d,20b,1wb,1w7,,1w7,1w7,1w7\",\"5,20v,24n,24l,20z,20v,,20v,20v,20v\",\"5,28z,2cx,2cs,296,28z,,28z,28z,28z\",\"5,2cy,2j6,2j2,2da,2cy,,2cy,2cy,2cy\",\"2,2hr,2ll,2lh,2hw,2hr,,2hr,2hr,2hr\",\"3,2ht,2t9,2ll,2i0,2ht,,2ht,2ht,2ht\",\"3,2hw,2pn,2lv,2i3,2hw,,2hw,2hw,2hw\",\"3,2i0,2m1,2lr,2i3,2i0,,2i0,2i0,2i0\",\"3,2i2,2mu,2ms,2jb,2i2,,2i2,2i2,2i2\",\"5,2n4,2rh,2re,2na,2n4,,2n4,2n4,2n4\",\"5,2ys,3ai,3a1,2yv,2ys,,2ys,2ys,2ys\",\"5,346,3eg,3ee,3ap,346,,346,346,346\",\"5,34g,3ia,3hv,3aq,34g,,34g,34g,34g\",\"5,3a5,3eg,3ea,3an,3a5,,3a5,3a5,3a5\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":50},"timeDelta":-3432}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -2619,13 +2363,13 @@ if ( sleep_time > 0 ) { - + true false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-1025},{"name":"jira.project.sidebar.issue.view.issue","properties":{"issueId":914565,"projectId":10448,"projectType":"software","issueMatchesProjectContext":true},"timeDelta":-902},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-697},{"name":"issue.dnd.attachment.attachmentsdropzone.init","properties":{},"timeDelta":-690},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"},"timeDelta":-660},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-660}] + {"r":[],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.software","com.atlassian.jira.plugins.jira-development-integration-plugin:0"],"xc":["_super","project.issue.navigator","jira.view.issue","jira.global","atl.general","browser-metrics-plugin.contrib","atl.global","com.atlassian.jira.projects.sidebar.init","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} = @@ -2634,7 +2378,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/webResources/1.0/resources POST true false @@ -2663,14 +2407,15 @@ if ( sleep_time > 0 ) { - - true - + + - + false - {"r":[],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.software","com.atlassian.jira.plugins.jira-development-integration-plugin:0"],"xc":["_super","project.issue.navigator","jira.view.issue","jira.global","atl.general","browser-metrics-plugin.contrib","atl.global","com.atlassian.jira.projects.sidebar.init","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} + avatarId + ${x_project_avatar_id} = + true @@ -2678,97 +2423,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1285","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.project.issue.view-issue","navigationType":"1","readyForUser":"1993","redirectCount":"0","resourceLoadedEnd":"1029","resourceLoadedStart":294.43000000173924,"threshold":"1000","unloadEventStart":"188","unloadEventEnd":"190","fetchStart":"2","domainLookupStart":"2","domainLookupEnd":"2","connectStart":"2","connectEnd":"2","requestStart":"7","responseStart":"159","responseEnd":"239","domLoading":"224","domInteractive":"1793","domContentLoadedEventStart":"1793","domContentLoadedEventEnd":"2081","domComplete":"2995","loadEventStart":"2995","loadEventEnd":"3004","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"6280673a8e3ab6","effectiveType":"4g","downlink":10,"rtt":100,"serverDuration":"103","dbReadsTimeInMs":"14","dbConnsTimeInMs":"29","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,86,d8,cf,8s,86,,86,86,86\",\"2,87,da,cd,8t,87,,87,87,87\",\"2,87,cc,cb,8t,87,,87,87,87\",\"3,88,gf,cj,8t,88,,88,88,88\",\"3,88,qz,cm,8u,88,,88,88,88\",\"3,89,db,ci,8u,89,,89,89,89\",\"3,89,h6,gz,dc,89,,89,89,89\",\"3,8a,h7,h3,dd,8a,,8a,8a,8a\",\"3,8a,jm,ji,fy,8a,,8a,8a,8a\",\"3,8a,kb,k7,gh,8a,,8a,8a,8a\",\"2,8b,fy,fw,cc,8b,,8b,8b,8b\",\"3,8b,kt,ks,h8,8b,,8b,8b,8b\",\"2,8c,h7,gv,da,8c,,8c,8c,8c\",\"3,8c,l0,ku,h9,8c,,8c,8c,8c\",\"3,9j,os,oo,l3,9j,,9j,9j,9j\",\"3,9j,sl,sj,oy,9j,,9j,9j,9j\",\"5,kj,o9,o7,km,kj,,kj,kj,kj\",\"5,ua,y7,y5,uh,ua,,ua,ua,ua\",\"4,yb,1dr,1dl,19p,yb,,yb,yb,yb\",\"4,10a,141,13y,10e,10a,,10a,10a,10a\"]}","mark.bigPipe.sidebar-id.start":"[1700]","mark.bigPipe.sidebar-id.end":"[1704]","mark.bigPipe.activity-panel-pipe-id.start":"[1705]","mark.bigPipe.activity-panel-pipe-id.end":"[1709]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1700],\"bigPipe.sidebar-id.end\":[1704],\"bigPipe.activity-panel-pipe-id.start\":[1705],\"bigPipe.activity-panel-pipe-id.end\":[1709]},\"measures\":{}}","experiments":"[]","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":100},"timeDelta":-5035},{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-4563}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - avatarId - ${x_project_avatar_id} - = - true - - - - - - - - ${application.postfix}/secure/projectavatar - GET + ${application.postfix}/secure/projectavatar + GET true false true @@ -3158,94 +2814,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-768},{"name":"jira.projects.summary.page.activity.stream.selected","properties":{},"timeDelta":-712},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-504},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"},"timeDelta":-499}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-5506}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -3864,94 +3432,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-1003}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"2911","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.dashboard","navigationType":"0","readyForUser":"6462","redirectCount":"0","resourceLoadedEnd":"2443","resourceLoadedStart":404.9200000008568,"threshold":"1000","unloadEventStart":"298","unloadEventEnd":"299","fetchStart":"1","domainLookupStart":"5","domainLookupEnd":"5","connectStart":"5","connectEnd":"126","requestStart":"126","responseStart":"273","responseEnd":"399","domLoading":"323","domInteractive":"2919","domContentLoadedEventStart":"2920","domContentLoadedEventEnd":"3212","domComplete":"6484","loadEventStart":"6485","loadEventEnd":"6492","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"7df18fb2e75e61","effectiveType":"4g","downlink":3.95,"rtt":100,"serverDuration":"39","dbConnsTimeInMs":"7","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,b8,it,fb,bm,b8,,b8,b8,b8\",\"2,ba,y3,fq,bx,ba,,ba,ba,ba\",\"2,bc,j0,iy,fh,fh,,by,by,by\",\"3,bd,1it,jn,fv,fq,,c7,c7,c7\",\"3,bd,1tc,jp,fv,fu,,c5,c5,c5\",\"3,be,mf,md,iv,be,,be,be,be\",\"3,be,rc,qd,j0,be,,be,be,be\",\"3,bf,nt,nn,jy,bf,,bf,bf,bf\",\"3,bf,r2,qi,mg,bf,,bf,bf,bf\",\"3,bf,ri,rf,nw,bf,,bf,bf,bf\",\"2,bg,jt,jl,fu,fq,,c7,c7,c7\",\"3,bg,v8,v5,ra,bg,,bg,bg,bg\",\"3,bi,1ng,1ne,1jy,bi,,bi,bi,bi\",\"3,bi,1vv,1vu,1sd,bi,,bi,bi,bi\",\"5,1s4,1w3,1w1,1sd,1s4,,1s4,1s4,1s4\",\"4,235,2bj,2bg,27v,235,,235,235,235\",\"5,27b,2bu,2bs,27v,27b,,27b,27b,27b\",\"5,2ec,2j7,2iz,2eo,2ec,,2ec,2ec,2ec\",\"-1,2fw,2kj,2k1,2g7,2fw,,2fw,2fw,2fw\",\"5,2gg,2ki,2kb,2gk,2gg,,2gg,2gg,2gg\",\"2,2iv,2n1,2my,2jc,2iv,,2iv,2iv,2iv\",\"3,2iy,2od,2o5,2km,2iy,,2iy,2iy,2iy\",\"3,2j0,2oc,2o9,2kn,2j0,,2j0,2j0,2j0\",\"5,2yt,36h,36d,2zi,2yt,,2yt,2yt,2yt\",\"5,32x,4ek,4ei,4ap,32x,,32x,32x,32x\",\"2,36v,3j4,3ii,3ew,36v,,36v,36v,36v\",\"3,36z,4so,4p3,4lj,36z,,36z,36z,36z\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":3.95,"connectionRTT":100},"timeDelta":-3952}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - 1 @@ -4230,54 +3710,10 @@ if ( sleep_time > 0 ) { - - true - + + - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-1399},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-1335},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-1190},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-1070},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-953},{"name":"issue.dnd.attachment.createissuedropzone.init","properties":{},"timeDelta":-493},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"},"timeDelta":-455}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - + false issueKey ${issue_key} @@ -4348,50 +3784,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"editor.instance.init","properties":{},"timeDelta":-4341},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-4341},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-4341},{"name":"editor.instance.init","properties":{},"timeDelta":-4300},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-4300},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-4300},{"name":"editor.instance.init","properties":{},"timeDelta":-4279},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-4279},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-4279},{"name":"editor.instance.init","properties":{},"timeDelta":-4263},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-4263},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-4263},{"name":"editor.instance.perf.nodechange","properties":{"time":6.994999999733409},"timeDelta":-3873},{"name":"editor.instance.perf.init","properties":{"time":2261.2850000004983},"timeDelta":-3840},{"name":"editor.instance.init.perf","properties":{"time":43.92999999981839},"timeDelta":-3840},{"name":"editor.instance.perf.init-bare","properties":{"time":2261.545000001206},"timeDelta":-3840},{"name":"editor.instance.perf.nodechange","properties":{"time":3.1249999992724042},"timeDelta":-3823},{"name":"editor.instance.perf.nodechange","properties":{"time":2.669999998033745},"timeDelta":-3816},{"name":"editor.instance.perf.nodechange","properties":{"time":3.8499999973282684},"timeDelta":-3796},{"name":"editor.instance.perf.init","properties":{"time":2313.545000000886},"timeDelta":-3788},{"name":"editor.instance.init.perf","properties":{"time":13.74999999825377},"timeDelta":-3788},{"name":"editor.instance.perf.init-bare","properties":{"time":2313.6799999992945},"timeDelta":-3788},{"name":"editor.instance.perf.nodechange","properties":{"time":1.874999998108251},"timeDelta":-3768},{"name":"editor.instance.perf.nodechange","properties":{"time":4.114999999728752},"timeDelta":-3761},{"name":"editor.instance.perf.nodechange","properties":{"time":6.1700000005657785},"timeDelta":-3735},{"name":"editor.instance.perf.init","properties":{"time":2386.3649999984773},"timeDelta":-3715},{"name":"editor.instance.init.perf","properties":{"time":27.78500000204076},"timeDelta":-3715},{"name":"editor.instance.perf.init-bare","properties":{"time":2386.5399999995134},"timeDelta":-3715},{"name":"editor.instance.perf.nodechange","properties":{"time":2.675000003364403},"timeDelta":-3700},{"name":"editor.instance.perf.nodechange","properties":{"time":5.284999999275897},"timeDelta":-3679},{"name":"editor.instance.perf.nodechange","properties":{"time":15.005000001110602},"timeDelta":-3652},{"name":"editor.instance.perf.init","properties":{"time":2462.8149999989546},"timeDelta":-3639},{"name":"editor.instance.init.perf","properties":{"time":30.36499999871012},"timeDelta":-3638},{"name":"editor.instance.perf.init-bare","properties":{"time":2462.9600000007486},"timeDelta":-3638},{"name":"editor.instance.perf.nodechange","properties":{"time":1.5500000008614734},"timeDelta":-3625},{"name":"editor.instance.perf.nodechange","properties":{"time":1.7299999999522697},"timeDelta":-3621}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - false @@ -4803,50 +4195,6 @@ vars.put("random_string_long", random_string_long) - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-994},{"name":"jira.project.sidebar.issue.view.issue","properties":{"issueId":914565,"projectId":10448,"projectType":"software","issueMatchesProjectContext":true},"timeDelta":-825},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-646},{"name":"issue.dnd.attachment.attachmentsdropzone.init","properties":{},"timeDelta":-640},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-617}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - true @@ -4943,50 +4291,6 @@ vars.put("random_string_long", random_string_long) - - true - - - - false - [{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"2289","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.project.issue.view-issue","navigationType":"0","readyForUser":"3249","redirectCount":"1","resourceLoadedEnd":"1925","resourceLoadedStart":640.8699999992677,"threshold":"1000","unloadEventStart":"539","unloadEventEnd":"540","redirectStart":"91","redirectEnd":"350","fetchStart":"350","domainLookupStart":"350","domainLookupEnd":"350","connectStart":"350","connectEnd":"350","requestStart":"353","responseStart":"500","responseEnd":"597","domLoading":"605","domInteractive":"2884","domContentLoadedEventStart":"2884","domContentLoadedEventEnd":"3312","domComplete":"4483","loadEventStart":"4484","loadEventEnd":"4499","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"bcd0e1be057334","effectiveType":"4g","downlink":5.6,"rtt":100,"serverDuration":"115","dbReadsTimeInMs":"18","dbConnsTimeInMs":"32","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,hs,pl,lv,hw,hs,,hs,hs,hs\",\"2,ht,sy,ll,hz,ht,,ht,ht,ht\",\"2,ht,lk,lg,hz,ht,,ht,ht,ht\",\"3,hu,10w,ln,i0,hu,,hu,hu,hu\",\"3,hu,1hh,lo,i0,hu,,hu,hu,hu\",\"3,hu,lx,lr,i0,hu,,hu,hu,hu\",\"3,hv,ta,t2,pf,hv,,hv,hv,hv\",\"3,hv,th,te,pt,hv,,hv,hv,hv\",\"3,hw,tr,th,pw,hw,,hw,hw,hw\",\"3,hw,x8,wr,t1,hw,,hw,hw,hw\",\"2,hw,pd,p8,lk,hw,,hw,hw,hw\",\"3,hx,x6,wx,tb,hx,,hx,hx,hx\",\"2,hx,pt,pn,m0,hx,,hx,hx,hx\",\"3,hx,xn,xd,tq,hx,,hx,hx,hx\",\"3,kl,157,155,11o,kl,,kl,kl,kl\",\"3,km,1dw,1dp,1a6,km,,km,km,km\",\"5,1a2,1dx,1ds,1a5,1a2,,1a2,1a2,1a2\",\"5,1my,1qp,1qn,1n1,1my,,1my,1my,1my\",\"4,1px,249,246,20l,1px,,1px,1px,1px\",\"4,1ys,22v,22t,1yu,1ys,,1ys,1ys,1ys\"]}","mark.bigPipe.sidebar-id.start":"[2762]","mark.bigPipe.sidebar-id.end":"[2764]","mark.bigPipe.activity-panel-pipe-id.start":"[2765]","mark.bigPipe.activity-panel-pipe-id.end":"[2773]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[2762],\"bigPipe.sidebar-id.end\":[2764],\"bigPipe.activity-panel-pipe-id.start\":[2765],\"bigPipe.activity-panel-pipe-id.end\":[2773]},\"measures\":{}}","experiments":"[]","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":5.6,"connectionRTT":100},"timeDelta":-4643},{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-4321}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - 1 @@ -5215,50 +4519,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-862},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-817},{"name":"issue.dnd.attachment.createissuedropzone.init","properties":{},"timeDelta":-493}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -5333,100 +4593,12 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"editor.instance.init","properties":{},"timeDelta":-4782},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-4781},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-4781},{"name":"editor.instance.perf.nodechange","properties":{"time":6.580000001122244},"timeDelta":-4290},{"name":"editor.instance.perf.init","properties":{"time":1666.175000005751},"timeDelta":-4253},{"name":"editor.instance.init.perf","properties":{"time":47.44500000379048},"timeDelta":-4253},{"name":"editor.instance.perf.init-bare","properties":{"time":1666.5150000044378},"timeDelta":-4253},{"name":"editor.instance.perf.nodechange","properties":{"time":2.3499999952036887},"timeDelta":-4230},{"name":"editor.instance.perf.nodechange","properties":{"time":1.6399999876739457},"timeDelta":-4224},{"name":"editor.instance.perf.nodechange","properties":{"time":1.6899999900488183},"timeDelta":-4134},{"name":"editor.instance.perf.nodechange","properties":{"time":2.2250000038184226},"timeDelta":-4128}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - false true - - true - - - - false - [{"name":"editor.instance.perf.nodechange","properties":{"time":1.8149999959859997},"timeDelta":-3280},{"name":"editor.instance.perf.nodechange","properties":{"time":0.910000002477318},"timeDelta":-3160},{"name":"editor.instance.perf.convert","properties":{"nodesCount":1,"time":5.629999999655411},"timeDelta":-2592},{"name":"editor.instance.perf.nodechange","properties":{"time":1.360000009299256},"timeDelta":-2587},{"name":"editor.instance.perf.convert","properties":{"nodesCount":1,"time":2.545000010286458},"timeDelta":-813},{"name":"editor.instance.perf.nodechange","properties":{"time":1.7099999968195334},"timeDelta":-390}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -5739,50 +4911,6 @@ vars.put("p_comment", comment.toString()) - - true - - - - false - [{"name":"jira.project.sidebar.issue.view.issue","properties":{"issueId":914565,"projectId":10448,"projectType":"software","issueMatchesProjectContext":true},"timeDelta":-1978},{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-1497},{"name":"quicksearch.enabled","properties":{},"timeDelta":-1063},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-650},{"name":"issue.dnd.attachment.attachmentsdropzone.init","properties":{},"timeDelta":-639}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - true @@ -5970,62 +5098,18 @@ vars.put("random_page", String.valueOf(random_page)); Assertion.response_data - false - 16 - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - + false + 16 + - + true false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.plugin.jslibs:backbone-1.3.3-factory","jira.webresources:backbone-1.3.3","com.atlassian.plugin.jslibs:backbone.paginator-2.0.2-factory","jira.webresources:backbone-paginator","com.atlassian.plugin.jslibs:backbone.radio-2.0.0-factory","jira.webresources:backbone.radio-2.0","com.atlassian.plugin.jslibs:marionette-4.1.2-factory","jira.webresources:marionette-4.1","com.atlassian.plugin.jslibs:marionette-1.6.1-factory","jira.webresources:marionette","jira.webresources:project-type-keys","com.atlassian.plugin.jslibs:marionette-3.1.0-factory","jira.webresources:marionette-3.1","jira.webresources:pagination-view","jira.webresources:navigation-utils","jira.webresources:empty-search-results","jira.webresources:browseprojects","jira.webresources:calendar","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} + {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} = @@ -6063,13 +5147,13 @@ vars.put("random_page", String.valueOf(random_page)); - + true false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-955},{"name":"projects.browse.view","properties":{},"timeDelta":-940}] + {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.plugin.jslibs:backbone-1.3.3-factory","jira.webresources:backbone-1.3.3","com.atlassian.plugin.jslibs:backbone.paginator-2.0.2-factory","jira.webresources:backbone-paginator","com.atlassian.plugin.jslibs:backbone.radio-2.0.0-factory","jira.webresources:backbone.radio-2.0","com.atlassian.plugin.jslibs:marionette-4.1.2-factory","jira.webresources:marionette-4.1","com.atlassian.plugin.jslibs:marionette-1.6.1-factory","jira.webresources:marionette","jira.webresources:project-type-keys","com.atlassian.plugin.jslibs:marionette-3.1.0-factory","jira.webresources:marionette-3.1","jira.webresources:pagination-view","jira.webresources:navigation-utils","jira.webresources:empty-search-results","jira.webresources:browseprojects","jira.webresources:calendar","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} = @@ -6078,7 +5162,7 @@ vars.put("random_page", String.valueOf(random_page)); - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/webResources/1.0/resources POST true false @@ -6464,50 +5548,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-646},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-502},{"name":"RapidBoard.show","timeDelta":-442}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - ${__groovy(vars.get("x_project_key") != "NOT FOUND")} false @@ -6862,50 +5902,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"RapidBoard.show.kanban","properties":{"boardId":15},"timeDelta":-5067},{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-4750},{"name":"whisper.hermes.messages.load.success","properties":{"messageCount":1,"userLocale":"en_US","userLanguage":"en","invalidLanguageCount":0,"initTime":3168,"initState":"complete"},"timeDelta":-4633},{"name":"jira.project.sidebar.sprint.select","properties":{"sprintId":0,"initialLoad":true},"timeDelta":-4222},{"name":"jira-software.kanban.work.view","properties":{"boardId":15,"issuesCount":219,"isBacklogEnabled":false,"epicsPanelEnabled":true,"firstColumnIssueCount":219,"fastKanbanEnabled":true,"fastKanbanCutoff":"-2w","epicsCount":36},"timeDelta":-4057},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1878","isInitial":"true","journeyId":"68d353c0-5dc0-449b-a7ce-f348f8a8372b","key":"jira.agile.work","navigationType":"0","readyForUser":"3805","redirectCount":"0","resourceLoadedEnd":"1670","resourceLoadedStart":403.6950000008801,"threshold":"1000","unloadEventStart":"354","unloadEventEnd":"354","fetchStart":"2","domainLookupStart":"46","domainLookupEnd":"47","connectStart":"47","connectEnd":"170","requestStart":"171","responseStart":"347","responseEnd":"471","domLoading":"363","domInteractive":"1965","domContentLoadedEventStart":"1965","domContentLoadedEventEnd":"2074","domComplete":"2413","loadEventStart":"2414","loadEventEnd":"2419","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"ae4d2d5aebb38b","effectiveType":"4g","downlink":4.65,"rtt":150,"serverDuration":"69","dbReadsTimeInMs":"1","dbConnsTimeInMs":"28","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,b7,iu,f6,bj,b7,,b7,b7,b7\",\"2,b8,qu,gu,d4,b8,,b8,b8,b8\",\"2,b8,jy,ji,fk,fk,,c4,c4,c4\",\"2,b8,k1,js,fn,fm,,c2,c2,c2\",\"3,b9,11x,jm,fo,fo,,c5,c5,c5\",\"3,b9,121,np,iv,b9,,b9,b9,b9\",\"3,ba,om,o9,k7,ba,,ba,ba,ba\",\"3,ba,oj,o1,k9,ba,,ba,ba,ba\",\"3,bd,ol,o5,ka,bd,,bd,bd,bd\",\"3,be,tc,sz,ot,be,,be,be,be\",\"3,bf,td,t4,ov,bf,,bf,bf,bf\",\"2,bf,jw,jf,fo,fm,,c3,c3,c3\",\"3,bf,te,t9,ov,bf,,bf,bf,bf\",\"3,bg,163,162,12k,bg,,bg,bg,bg\",\"3,ej,1ae,1ac,16b,ej,,ej,ej,ej\",\"5,17q,1bv,1bt,17w,17q,,17q,17q,17q\",\"4,1eo,1k4,1k1,1gh,1eo,,1eo,1eo,1eo\",\"5,1ke,1oq,1om,1kl,1ke,,1ke,1ke,1ke\",\"2,1me,1qp,1ql,1mq,1me,,1me,1me,1me\",\"3,1mh,1qn,1qf,1mr,1mh,,1mh,1mh,1mh\",\"5,1rb,1vm,1vl,1rh,1rb,,1rb,1rb,1rb\",\"3,1vp,1zs,1zo,1w2,1vp,,1vp,1vp,1vp\",\"3,1vq,203,1zz,1w9,1vq,,1vq,1vq,1vq\",\"3,1vt,207,200,1wc,1vt,,1vt,1vt,1vt\",\"3,1vw,203,1zv,1wd,1vw,,1vw,1vw,1vw\",\"3,1w1,2am,204,1wg,1w1,,1w1,1w1,1w1\",\"5,1yr,22x,22q,1yu,1yr,,1yr,1yr,1yr\",\"5,221,25p,25n,226,221,,221,221,221\",\"5,23y,28n,28i,24v,23y,,23y,23y,23y\",\"5,2cw,2gu,2gr,2d2,2cw,,2cw,2cw,2cw\",\"5,2cy,2hb,2h6,2d3,2cy,,2cy,2cy,2cy\",\"5,2jl,2ng,2nf,2jv,2jl,,2jl,2jl,2jl\",\"5,2kx,2q9,2q4,2l1,2kx,,2kx,2kx,2kx\"]}","mark.bigPipe.sidebar-id.start":"[1930]","mark.bigPipe.sidebar-id.end":"[1935]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1930],\"bigPipe.sidebar-id.end\":[1935]},\"measures\":{}}","experiments":"[]","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":4.65,"connectionRTT":150},"timeDelta":-3990}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - ${__groovy(vars.get("x_project_key") != "NOT FOUND")} @@ -7776,50 +6772,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-4894},{"name":"jira.project.sidebar.sprint.select","properties":{"sprintId":"all","initialLoad":true},"timeDelta":-4783},{"name":"jira-software.scrum.work.view","properties":{"boardId":55,"issuesCount":103,"epicsCount":73},"timeDelta":-4684},{"name":"whisper.hermes.messages.load.success","properties":{"messageCount":1,"userLocale":"en_US","userLanguage":"en","invalidLanguageCount":0,"initTime":3728,"initState":"interactive"},"timeDelta":-4273},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1942","isInitial":"true","journeyId":"9fa2b66b-0b68-4611-8c52-ff43bca9d45d","key":"jira.agile.work","navigationType":"1","readyForUser":"3379","redirectCount":"0","resourceLoadedEnd":"1548","resourceLoadedStart":254.7550000017509,"threshold":"1000","unloadEventStart":"204","unloadEventEnd":"204","fetchStart":"6","domainLookupStart":"6","domainLookupEnd":"6","connectStart":"6","connectEnd":"6","requestStart":"19","responseStart":"188","responseEnd":"326","domLoading":"216","domInteractive":"2044","domContentLoadedEventStart":"2044","domContentLoadedEventEnd":"2193","domComplete":"4094","loadEventStart":"4095","loadEventEnd":"4100","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"d21da59bbbebbb","effectiveType":"4g","downlink":4.1,"rtt":100,"serverDuration":"64","dbConnsTimeInMs":"23","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,72,es,ba,7d,72,,72,72,72\",\"2,73,kw,d4,94,73,,73,73,73\",\"2,73,el,eg,ax,ax,,7h,7h,7h\",\"2,73,em,ek,ay,ax,,7h,7h,7h\",\"3,74,to,f0,be,bd,,7i,7i,7i\",\"3,74,170,ia,en,74,,74,74,74\",\"3,74,ie,i7,en,74,,74,74,74\",\"3,74,ig,ic,es,74,,74,74,74\",\"3,75,is,in,ez,75,,75,75,75\",\"3,75,mb,lz,ii,75,,75,75,75\",\"3,75,m7,m2,ii,75,,75,75,75\",\"2,76,ez,ex,bd,b9,,7h,7h,7h\",\"3,76,mi,me,is,76,,76,76,76\",\"3,76,127,126,ut,76,,76,76,76\",\"-1,9m,pg,pa,kx,9m,,9m,9m,9m\",\"3,9w,15y,15v,12a,9w,,9w,9w,9w\",\"5,10d,15b,159,10i,10d,,10d,10d,10d\",\"5,19o,1dz,1dx,19r,19o,,19o,19o,19o\",\"4,1go,1mf,1md,1i5,1go,,1go,1go,1go\",\"5,1ny,1s0,1rz,1o2,1ny,,1ny,1ny,1ny\",\"2,1po,1tg,1tf,1pq,1po,,1po,1po,1po\",\"3,1pp,1tg,1td,1pr,1pp,,1pp,1pp,1pp\",\"5,1ts,1xx,1xw,1tx,1ts,,1ts,1ts,1ts\",\"3,1y3,21t,21p,1y5,1y3,,1y3,1y3,1y3\",\"3,1y4,222,21v,1y8,1y4,,1y4,1y4,1y4\",\"3,1y5,21x,21r,1y8,1y5,,1y5,1y5,1y5\",\"3,1y7,221,21z,1ya,1y7,,1y7,1y7,1y7\",\"3,1y8,2ci,21x,1ya,1y8,,1y8,1y8,1y8\",\"5,25b,2b2,2ax,25r,25b,,25b,25b,25b\",\"5,2eq,2it,2is,2f2,2eq,,2eq,2eq,2eq\"]}","mark.bigPipe.sidebar-id.start":"[1993]","mark.bigPipe.sidebar-id.end":"[1995]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1993],\"bigPipe.sidebar-id.end\":[1995]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":4.1,"connectionRTT":100},"timeDelta":-3830}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - 1 @@ -8428,94 +7380,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-804},{"name":"RapidBoard.show","timeDelta":-782},{"name":"RapidBoard.show.scrum","properties":{"boardId":55},"timeDelta":-716},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-519},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"},"timeDelta":-503}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-5560},{"name":"jira-software.scrum.plan.view","properties":{"boardType":"scrum","backlogIssueCount":265,"boardId":55,"sprintsOnBoard":2,"activeSprints":2,"futureSprints":0,"totalIssueCount":310,"epicsCount":-1},"timeDelta":-5196},{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"2136","isInitial":"true","journeyId":"9fa2b66b-0b68-4611-8c52-ff43bca9d45d","key":"jira.agile.plan","navigationType":"0","readyForUser":"4169","redirectCount":"0","resourceLoadedEnd":"1769","resourceLoadedStart":437.9400000034366,"threshold":"1000","unloadEventStart":"360","unloadEventEnd":"361","fetchStart":"4","domainLookupStart":"50","domainLookupEnd":"50","connectStart":"50","connectEnd":"173","requestStart":"174","responseStart":"338","responseEnd":"472","domLoading":"389","domInteractive":"2331","domContentLoadedEventStart":"2331","domContentLoadedEventEnd":"2587","domComplete":"3057","loadEventStart":"3057","loadEventEnd":"3071","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36","correlationId":"f6c8b8956c584e","effectiveType":"4g","downlink":3.3,"rtt":100,"serverDuration":"58","dbConnsTimeInMs":"19","applicationHash":"e00b0abe8f1b188f0bb304a4c3b424f1180ba767","resourceTiming":"{\"☠\":[\"2,c5,kg,gy,d6,c5,,c5,c5,c5\",\"2,c6,on,h6,d9,c6,,c6,c6,c6\",\"2,c6,kb,k4,gn,gm,,d7,d7,d7\",\"2,c6,k9,k6,gn,gm,,d7,d7,d7\",\"3,c7,z7,kt,h9,gx,,d9,d9,d8\",\"3,c7,18u,o1,ke,c7,,c7,c7,c7\",\"3,c8,o6,nw,kf,c8,,c8,c8,c8\",\"3,c9,o3,nz,kg,c9,,c9,c9,c9\",\"3,cb,o4,o2,kh,cb,,cb,cb,cb\",\"3,cc,rv,rs,o7,cc,,cc,cc,cc\",\"3,cd,s8,s2,od,cd,,cd,cd,cd\",\"2,ce,ka,k7,go,go,,d8,d8,d8\",\"3,ce,s9,s7,og,ce,,ce,ce,ce\",\"3,cf,146,140,103,cf,,cf,cf,cf\",\"-1,fu,tt,tq,op,fu,,fu,fu,fu\",\"3,g3,1d5,1cx,19d,g3,,g3,g3,g3\",\"5,193,1d7,1d3,19c,193,,193,193,193\",\"4,1ko,1re,1rc,1nv,1ko,,1ko,1ko,1ko\",\"5,1mz,1r3,1r1,1nc,1mz,,1mz,1mz,1mz\",\"5,1ya,22h,22f,1yj,1ya,,1ya,1ya,1ya\",\"2,20s,24r,24n,212,20s,,20s,20s,20s\",\"3,212,250,24y,21b,212,,212,212,212\",\"3,217,258,253,21e,217,,217,217,217\",\"5,2c7,2gg,2gd,2ci,2c7,,2c7,2c7,2c7\",\"3,2h9,2l2,2ky,2hf,2h9,,2h9,2h9,2h9\",\"3,2hb,2lh,2l8,2hm,2hb,,2hb,2hb,2hb\",\"3,2hd,2le,2l4,2ho,2hd,,2hd,2hd,2hd\",\"3,2hf,2lt,2l6,2ho,2hf,,2hf,2hf,2hf\",\"5,2ic,2my,2mw,2je,2ic,,2ic,2ic,2ic\",\"5,2od,2s9,2s6,2oh,2od,,2od,2od,2od\"]}","mark.bigPipe.sidebar-id.start":"[2251]","mark.bigPipe.sidebar-id.end":"[2257]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[2251],\"bigPipe.sidebar-id.end\":[2257]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":3.3,"connectionRTT":100},"timeDelta":-4821},{"name":"whisper.hermes.messages.load.success","properties":{"messageCount":1,"userLocale":"en_US","userLanguage":"en","invalidLanguageCount":0,"initTime":4422,"initState":"complete"},"timeDelta":-4593}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - ${__groovy(vars.get("x_project_key") == "NOT FOUND")} @@ -9041,50 +7905,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-1025}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - 1 @@ -9602,7 +8422,7 @@ if ( sleep_time > 0 ) { - + false saveConfig diff --git a/app/jmeter/jsm_agents.jmx b/app/jmeter/jsm_agents.jmx index 2def1262d..6a6a6ccf1 100644 --- a/app/jmeter/jsm_agents.jmx +++ b/app/jmeter/jsm_agents.jmx @@ -1,5 +1,5 @@ - + This test plan was created by the BlazeMeter converter v.3.1.23. Please contact support@blazemeter.com for further support. @@ -434,10029 +434,1510 @@ JMeterUtils.setProperty("c_AtlToken" + user_counter, atl_token) - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.dashboard","jira.global","atl.general","jira.general"],"xr":["com.atlassian.jira.jira-postsetup-announcements-plugin:post-setup-announcements","com.atlassian.gadgets.dashboard:gadgets-adgs","com.atlassian.jira.jira-issue-nav-components:adgs","com.atlassian.jira.jira-issue-nav-components:detailslayout-adgs","com.atlassian.jira.jira-issue-nav-components:simpleissuelist-adgs","com.atlassian.jira.jira-issue-nav-plugin:adgs-styles","com.atlassian.jira.jira-issue-nav-components:orderby-less-adgs","com.atlassian.jira.jira-issue-nav-components:pager-less-adgs","com.atlassian.jira.jira-issue-nav-components:issueviewer-adgs","com.atlassian.jira.gadgets:introduction-dashboard-item-resource-adgs"]} - = - - - - - - - UTF-8 - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - - - - - true - uri - ${application.protocol}://${application.hostname}:${application.port}/secure/Dashboard.jspa - = - true - - - - - - - UTF-8 - ${application.postfix}/plugins/servlet/gadgets/dashboard-diagnostics - POST - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/x-www-form-urlencoded; charset=UTF-8 - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - - - Assertion.response_code - true - 16 - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.dashboard","jira.global","atl.general","jira.general","browser-metrics-plugin.contrib","atl.global","jira.dashboard","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-postsetup-announcements-plugin:post-setup-announcements","com.atlassian.gadgets.dashboard:gadgets-adgs","com.atlassian.jira.jira-issue-nav-components:adgs","com.atlassian.jira.jira-issue-nav-components:detailslayout-adgs","com.atlassian.jira.jira-issue-nav-components:simpleissuelist-adgs","com.atlassian.jira.jira-issue-nav-plugin:adgs-styles","com.atlassian.jira.jira-issue-nav-components:orderby-less-adgs","com.atlassian.jira.jira-issue-nav-components:pager-less-adgs","com.atlassian.jira.jira-issue-nav-components:issueviewer-adgs","com.atlassian.jira.gadgets:introduction-dashboard-item-resource-adgs","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","com.atlassian.jira.jira-postsetup-announcements-plugin:post-setup-announcements-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - UTF-8 - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["com.atlassian.jira.plugins.jira-development-integration-plugin:0"],"xc":["_super","atl.dashboard","jira.global","atl.general","jira.general","browser-metrics-plugin.contrib","atl.global","jira.dashboard","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-postsetup-announcements-plugin:post-setup-announcements","com.atlassian.gadgets.dashboard:gadgets-adgs","com.atlassian.jira.jira-issue-nav-components:adgs","com.atlassian.jira.jira-issue-nav-components:detailslayout-adgs","com.atlassian.jira.jira-issue-nav-components:simpleissuelist-adgs","com.atlassian.jira.jira-issue-nav-plugin:adgs-styles","com.atlassian.jira.jira-issue-nav-components:orderby-less-adgs","com.atlassian.jira.jira-issue-nav-components:pager-less-adgs","com.atlassian.jira.jira-issue-nav-components:issueviewer-adgs","com.atlassian.jira.gadgets:introduction-dashboard-item-resource-adgs","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","com.atlassian.jira.jira-postsetup-announcements-plugin:post-setup-announcements-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - UTF-8 - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - + + + ${JMeterThread.last_sample_ok}==false + false + true + + + + 5 + 0 + 0 + + + + + true + -1 + + + + datasets/jsm/service_desks_small.csv + UTF-8 + , + s_service_desk_id,s_prj_id,s_prj_key,s_prj_total_req,s_prj_all_open_queue_id,s_created_vs_resolved_id,s_time_to_resolution_id + true + false + true + true + + + + datasets/jsm/service_desks_medium.csv + UTF-8 + , + m_service_desk_id,m_prj_id,m_prj_key,m_prj_total_req,m_prj_all_open_queue_id,m_created_vs_resolved_id,m_time_to_resolution_id + false + false + true + true + + + + datasets/jsm/insight_issues.csv + UTF-8 + , + insight_issue_key,insight_issue_id,insight_issue_name + true + false + true + true + + + + datasets/jsm/requests.csv + UTF-8 + , + request_id,request_key,request_service_desk_id,request_project_Id,request_project_key + true + false + true + false + + + - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["jira.webresources:almond","jira.webresources:aui-core-amd-shim","jira.webresources:jira-metadata","jira.webresources:jquery-livestamp","com.atlassian.auiplugin:ajs-underscorejs","com.atlassian.analytics.analytics-client:js-events","com.atlassian.plugins.browser.metrics.browser-metrics-plugin:api","com.atlassian.gadgets.publisher:ajs-gadgets","com.atlassian.streams:streamsGadgetResources"],"xr":["jira.webresources:icons","jira.webresources:list-styles","jira.webresources:inline-layer","jira.webresources:dropdown","com.atlassian.auiplugin:aui-lozenge","com.atlassian.auiplugin:aui-tipsy","com.atlassian.auiplugin:aui-tooltips","com.atlassian.plugins.issue-status-plugin:issue-status-resources","jira.webresources:frother-queryable-dropdown-select","jira.webresources:frother-singleselect","jira.webresources:frother-multiselect","jira.webresources:frother-checkbox-multiselect","jira.webresources:select-pickers","jira.webresources:autocomplete","com.atlassian.jira.gadgets:core-gadget-resources"]} - = - - - - - - - UTF-8 - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - UTF-8 - ${application.postfix}/rest/activity-stream/1.0/preferences - GET - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/x-www-form-urlencoded; charset=UTF-8 - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - - - - - - - - false - num - 10 - = - true - - - false - tableContext - jira.table.cols.dashboard - = - true - - - false - addDefault - true - = - true - - - false - enableSorting - true - = - true - - - false - paging - true - = - true - - - false - showActions - true - = - true - - - true - jql - assignee = currentUser() AND resolution = unresolved ORDER BY priority DESC, created ASC - = - true - - - false - sortBy - - = - true - - - false - startIndex - 0 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - utf-8 - ${application.postfix}/rest/gadget/1.0/issueTable/jql - GET - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json; charset=utf-8 - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - Pragma - no-cache - - - Accept - application/json, text/javascript, */*; q=0.01 - - - - - - - - - - false - maxResults - 5 - = - true - - - false - relativeLinks - true - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - UTF-8 - ${application.postfix}/plugins/servlet/streams - GET - true - false - true - false - - - - - - - - - Accept-Language - en-US,en;q=0.5 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/x-www-form-urlencoded; charset=UTF-8 - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - Pragma - no-cache - - - Accept - application/xml, text/xml, */*; q=0.01 - - - - - - - - ${JMeterThread.last_sample_ok}==false - false - true - - - - 5 - 0 - 0 - - - - - true - -1 - - - - datasets/jsm/service_desks_small.csv - UTF-8 - , - s_service_desk_id,s_prj_id,s_prj_key,s_prj_total_req,s_prj_all_open_queue_id,s_created_vs_resolved_id,s_time_to_resolution_id - true - false - true - true - - - - datasets/jsm/service_desks_medium.csv - UTF-8 - , - m_service_desk_id,m_prj_id,m_prj_key,m_prj_total_req,m_prj_all_open_queue_id,m_created_vs_resolved_id,m_time_to_resolution_id - false - false - true - true - - - - datasets/jsm/insight_issues.csv - UTF-8 - , - insight_issue_key,insight_issue_id,insight_issue_name - true - false - true - true - - - - datasets/jsm/requests.csv - UTF-8 - , - request_id,request_key,request_service_desk_id,request_project_Id,request_project_key - true - false - true - false - - - - - - 1 - false - 1 - ${__jexl2(${perc_agent_view_queues_small} / 2)} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_prj_all_open_queue_id} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":${s_prj_id}},"timeDelta":-538},{"name":"quicksearch.enabled","properties":{},"timeDelta":-533},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-501},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"},"timeDelta":-500}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - s_random_queue_id - $..items[?(@.params.count != '0' && @.label != 'All open')].key - 1 - None - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["jira.view.issue","jira.view.issue.deferred"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/page - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/queues-limit - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${s_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-sla"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-linked-major-incidents"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182","custom_field_jsd-sla"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.page.view.queue","properties":{"queueId":535,"hasAgentSorting":false,"isBulkActionFlagOn":true,"isReactQueueTableFlagOn":true,"sdVersion":"4.13.0","projectId":10047},"timeDelta":-4416},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1131","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.queues.custom.ENTITY_ID","navigationType":"1","readyForUser":"3244","redirectCount":"0","resourceLoadedEnd":"1149","resourceLoadedStart":542.0350000058534,"threshold":"1000","unloadEventStart":"239","unloadEventEnd":"240","fetchStart":"2","domainLookupStart":"2","domainLookupEnd":"2","connectStart":"2","connectEnd":"2","requestStart":"21","responseStart":"224","responseEnd":"416","domLoading":"261","domInteractive":"1375","domContentLoadedEventStart":"1375","domContentLoadedEventEnd":"1483","domComplete":"2315","loadEventStart":"2315","loadEventEnd":"2323","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"e705ab8733e31","effectiveType":"4g","downlink":10,"rtt":100,"serverDuration":"47","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,f2,f2,,,f2,,f2,f2,f2\",\"2,f2,f2,,,f2,,f2,f2,f2\",\"2,f2,f2,,,f2,,f2,f2,f2\",\"3,f2,f2,,,f2,,f2,f2,f2\",\"3,f2,f2,,,f2,,f2,f2,f2\",\"3,f3,f3,,,f3,,f3,f3,f3\",\"3,f3,f3,,,f3,,f3,f3,f3\",\"3,f3,f3,,,f3,,f3,f3,f3\",\"3,f3,f3,,,f3,,f3,f3,f3\",\"3,f3,f3,,,f3,,f3,f3,f3\",\"3,f4,f4,,,f4,,f4,f4,f4\",\"2,f4,f4,,,f4,,f4,f4,f4\",\"3,f4,f4,,,f4,,f4,f4,f4\",\"3,f5,f5,,,f5,,f5,f5,f5\",\"2,f5,f5,,,f5,,f5,f5,f5\",\"3,f6,f6,,,f6,,f6,f6,f6\",\"3,f6,f6,,,f6,,f6,f6,f6\",\"5,ng,sz,su,ni,ng,,ng,ng,ng\",\"4,rd,rd,,,rd,,rd,rd,rd\",\"4,rg,rg\",\"4,rg,rg\",\"3,v5,vx,vj,vi,v5,,v5,v5,v5\",\"4,15e,15e\",\"4,15f,15f\",\"4,15f,15f\",\"4,15f,15f\",\"4,15g,15g\",\"4,15g,15g\",\"4,15h,15h\",\"4,15h,15h\",\"5,172,1b3,1ax,179,172,,172,172,172\",\"4,17h,17h\",\"4,17j,17j\",\"4,17j,17j\",\"4,17k,17k\",\"4,17k,17k\",\"4,17l,17l\",\"5,1b4,1f6,1ez,1b9,1b4,,1b4,1b4,1b4\",\"2,1ix,1ix,,,1ix,,1ix,1ix,1ix\",\"2,1iz,1iz,,,1iz,,1iz,1iz,1iz\",\"3,1j1,1k0,1jd,1jc,1j1,,1j1,1j1,1j1\",\"3,1j3,1kj,1jy,1jt,1j3,,1j3,1j3,1j3\",\"3,1j6,1kd,1k0,1jz,1j6,,1j6,1j6,1j6\",\"3,1ja,1kd,1k1,1jz,1ja,,1ja,1ja,1ja\",\"3,1jc,1ke,1k1,1k0,1jc,,1jc,1jc,1jc\",\"4,1jj,1jj,,,1jj,,1jj,1jj,1jj\",\"4,1jm,1jm\",\"4,1jm,1jm\",\"4,1jm,1jm\",\"4,1jn,1jn\",\"4,1jn,1jn\",\"4,1jn,1jn\",\"5,1qv,1ur,1um,1qz,1qv,,1qv,1qv,1qv\",\"5,1r5,1vl,1uz,1r8,1r5,,1r5,1r5,1r5\",\"5,1rf,1yq,1ye,1us,1rf,,1rf,1rf,1rf\",\"5,1ri,1zd,1z5,1v5,1v5,,1rm,1rm,1rm\",\"5,1rr,1zl,1z6,1vg,1vg,,1s9,1s9,1s9\",\"4,1rv,1rv\",\"4,1rw,1rw\",\"4,1rx,1rx\",\"4,1rx,1rx\",\"4,1ry,1ry\",\"4,1ry,1ry\",\"4,1rz,1rz\",\"4,1s0,1s0\",\"3,1uy,1xe,1wv,1wq,1uy,,1uy,1uy,1uy\",\"3,1v3,1xf,1ww,1wv,1v3,,1v3,1v3,1v3\",\"3,1v6,1xf,1x6,1x6,1v6,,1v6,1v6,1v6\",\"3,1vb,1xl,1xi,1xh,1vb,,1vb,1vb,1vb\",\"4,1yu,1yu\",\"4,1yw,1yw\",\"4,1yy,1yy\",\"4,1yz,1yz\",\"4,1z0,1z0\",\"4,1z1,1z1\",\"5,204,243,240,20a,204,,204,204,204\",\"5,20x,259,253,21b,20x,,20x,20x,20x\",\"5,25k,29u,29p,25y,25k,,25k,25k,25k\",\"2,29z,29z,,,29z,,29z,29z,29z\",\"3,2a2,2a2,,,2a2,,2a2,2a2,2a2\",\"5,2cd,2gm,2gg,2cn,2cd,,2cd,2cd,2cd\",\"4,2ci,2ci,,,2ci,,2ci,2ci,2ci\",\"4,2cn,2cn\",\"4,2co,2co\",\"4,2co,2co\",\"4,2co,2co\",\"4,2co,2co\",\"4,2cp,2cp\"]}","mark.bigPipe.sidebar-id.start":"[1360]","mark.bigPipe.sidebar-id.end":"[1366]","mark.@grammarly-extension:checkScriptInitStart":"[1764]","mark.@grammarly-extension:checkScriptInitEnd":"[1784]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1360],\"bigPipe.sidebar-id.end\":[1366],\"@grammarly-extension:checkScriptInitStart\":[1764],\"@grammarly-extension:checkScriptInitEnd\":[1784]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":100},"timeDelta":-4384}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - undefined - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - currentIssueHash - f28505024e00a8d3cc3a408bffacba4d44803233 - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${s_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist/updated - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_random_queue_id} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":10035},"timeDelta":-611},{"name":"quicksearch.enabled","properties":{},"timeDelta":-603},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-503},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-495}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["jira.view.issue","jira.view.issue.deferred"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/page - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/queues-limit - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${s_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-sla"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-linked-major-incidents"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182","custom_field_jsd-sla"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.page.view.queue","properties":{"queueId":987,"hasAgentSorting":false,"isBulkActionFlagOn":true,"isReactQueueTableFlagOn":true,"sdVersion":"4.13.0","projectId":10075},"timeDelta":-4086},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1491","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.queues.custom.ENTITY_ID","navigationType":"0","readyForUser":"3689","redirectCount":"0","resourceLoadedEnd":"1581","resourceLoadedStart":559.8449999961304,"threshold":"1000","unloadEventStart":"195","unloadEventEnd":"195","fetchStart":"3","domainLookupStart":"3","domainLookupEnd":"3","connectStart":"3","connectEnd":"3","requestStart":"31","responseStart":"181","responseEnd":"308","domLoading":"217","domInteractive":"1655","domContentLoadedEventStart":"1655","domContentLoadedEventEnd":"1774","domComplete":"2477","loadEventStart":"2477","loadEventEnd":"2489","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"f03e0f113e3ea9","effectiveType":"4g","downlink":10,"rtt":100,"serverDuration":"45","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,fj,fj,,,fj,,fj,fj,fj\",\"2,fk,gb,g0,fz,fk,,fk,fk,fk\",\"2,fk,g8,g0,g0,fk,,fk,fk,fk\",\"3,fl,fl,,,fl,,fl,fl,fl\",\"3,fm,fm,,,fm,,fm,fm,fm\",\"3,fm,fm,,,fm,,fm,fm,fm\",\"3,fm,fm,,,fm,,fm,fm,fm\",\"3,fn,fn,,,fn,,fn,fn,fn\",\"3,fo,fo,,,fo,,fo,fo,fo\",\"3,fp,fp,,,fp,,fp,fp,fp\",\"3,fp,fp,,,fp,,fp,fp,fp\",\"2,fp,fp,,,fp,,fp,fp,fp\",\"3,fq,fq,,,fq,,fq,fq,fq\",\"3,fr,fr,,,fr,,fr,fr,fr\",\"2,fs,hi,he,he,fs,,fs,fs,fs\",\"3,fs,fs,,,fs,,fs,fs,fs\",\"3,fs,fs,,,fs,,fs,fs,fs\",\"5,pe,tq,tn,py,pe,,pe,pe,pe\",\"3,vf,vo,vk,vk,vf,,vf,vf,vf\",\"3,vo,w1,vv,vu,vo,,vo,vo,vo\",\"4,wl,wl,,,wl,,wl,wl,wl\",\"3,zj,103,zu,zt,zj,,zj,zj,zj\",\"5,zu,155,14m,105,zu,,zu,zu,zu\",\"3,106,10f,10c,10a,106,,106,106,106\",\"3,10i,10u,10n,10m,10i,,10i,10i,10i\",\"3,111,11a,117,116,111,,111,111,111\",\"3,11e,11r,11k,11k,11e,,11e,11e,11e\",\"3,154,15n,15e,15d,154,,154,154,154\",\"2,15p,1av,1ap,173,15p,,15p,15p,15p\",\"3,15s,1js,1g5,1ak,1ak,,172,172,172\",\"3,15v,17x,179,177,15v,,15v,15v,15v\",\"3,15y,17s,17e,17c,15y,,15y,15y,15y\",\"3,161,17u,17e,17d,161,,161,161,161\",\"5,1cq,1gm,1gh,1cv,1cq,,1cq,1cq,1cq\",\"5,1vw,1zu,1zp,1w1,1vw,,1vw,1vw,1vw\",\"5,1vz,20s,20f,1wd,1vz,,1vz,1vz,1vz\",\"5,1w6,23p,23h,1zv,1w6,,1w6,1w6,1w6\",\"2,20z,21o,21a,217,20z,,20z,20z,20z\",\"3,214,22i,21o,21n,214,,214,214,214\",\"3,218,230,22j,22i,218,,218,218,218\",\"3,21d,231,22j,22i,21d,,21d,21d,21d\",\"3,21f,232,22m,22l,21f,,21f,21f,21f\",\"3,21i,232,22m,22l,21i,,21i,21i,21i\",\"5,24h,28g,28c,24r,24h,,24h,24h,24h\",\"5,24l,296,292,24v,24l,,24l,24l,24l\",\"5,29o,2dm,2dg,29t,29o,,29o,29o,29o\",\"5,2an,2eq,2ei,2av,2an,,2an,2an,2an\",\"5,2f5,2jn,2j7,2fg,2f5,,2f5,2f5,2f5\",\"2,2kp,2l9,2l1,2kz,2kp,,2kp,2kp,2kp\",\"3,2l8,2mh,2lo,2lm,2l8,,2l8,2l8,2l8\",\"5,2ox,2t2,2sz,2p8,2ox,,2ox,2ox,2ox\"]}","mark.bigPipe.sidebar-id.start":"[1609]","mark.bigPipe.sidebar-id.end":"[1613]","mark.@grammarly-extension:checkScriptInitStart":"[2085]","mark.@grammarly-extension:checkScriptInitEnd":"[2101]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1609],\"bigPipe.sidebar-id.end\":[1613],\"@grammarly-extension:checkScriptInitStart\":[2085],\"@grammarly-extension:checkScriptInitEnd\":[2101]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":100},"timeDelta":-4051}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - undefined - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - currentIssueHash - 480feb93c9da5ccd477743b9433cb00aecb3806c - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${s_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist/updated - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.modified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2872}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - -172134395 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.notmodified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2863}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - -172134395 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.notmodified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2369}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_queues_small action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_report_workload_small} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${s_prj_key}/reports/workload - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/precondition - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/warnings - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":${s_prj_id}},"timeDelta":-660},{"name":"quicksearch.enabled","properties":{},"timeDelta":-656},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-506},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-504}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:53"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - query - - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/pages/people/agents/${s_prj_key}/search - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - X-AUSERNAME - performance_agent_0_abvsufypvdlqoez - - - - - - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-5075},{"name":"servicedesk.agent.reports.loaded.workload","properties":{"sdVersion":"4.13.0","projectId":10136},"timeDelta":-4276},{"name":"servicedesk.page.view.servicedesk.reports","properties":{"sdVersion":"4.13.0","projectId":10136},"timeDelta":-4238},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1617","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.reports.workload","navigationType":"0","readyForUser":"3679","redirectCount":"0","resourceLoadedEnd":"1520","resourceLoadedStart":622.2449999913806,"threshold":"1000","unloadEventStart":"323","unloadEventEnd":"325","fetchStart":"1","domainLookupStart":"7","domainLookupEnd":"7","connectStart":"7","connectEnd":"132","requestStart":"133","responseStart":"277","responseEnd":"403","domLoading":"339","domInteractive":"1835","domContentLoadedEventStart":"1835","domContentLoadedEventEnd":"2001","domComplete":"2916","loadEventStart":"2916","loadEventEnd":"2929","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"443bae9ae74a4e","effectiveType":"4g","downlink":4.75,"rtt":100,"serverDuration":"44","dbConnsTimeInMs":"7","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,ha,ha,,,ha,,ha,ha,ha\",\"2,ha,sk,l6,hh,ha,,ha,ha,ha\",\"2,ha,ho,hi,hh,ha,,ha,ha,ha\",\"3,hb,hb,,,hb,,hb,hb,hb\",\"3,hb,zo,la,hi,hb,,hb,hb,hb\",\"3,hb,hb,,,hb,,hb,hb,hb\",\"3,hc,hc,,,hc,,hc,hc,hc\",\"3,hc,hc,,,hc,,hc,hc,hc\",\"3,hd,hd,,,hd,,hd,hd,hd\",\"3,hd,hd,,,hd,,hd,hd,hd\",\"2,hd,hd,,,hd,,hd,hd,hd\",\"3,hd,hp,hj,hi,hd,,hd,hd,hd\",\"3,hg,hg,,,hg,,hg,hg,hg\",\"2,hh,wh,wc,sq,hh,,hh,hh,hh\",\"3,hh,168,12k,yx,hh,,hh,hh,hh\",\"3,hh,hh,,,hh,,hh,hh,hh\",\"5,z0,13f,13b,zp,z0,,z0,z0,z0\",\"4,15m,15m,,,15m,,15m,15m,15m\",\"4,15m,15m,,,15m,,15m,15m,15m\",\"5,18n,1cn,1cg,18r,18n,,18n,18n,18n\",\"5,1if,1mf,1m9,1ik,1if,,1if,1if,1if\",\"3,1kb,1kz,1ku,1kt,1kb,,1kb,1kb,1kb\",\"5,1r1,1v4,1uz,1rc,1r1,,1r1,1r1,1r1\",\"2,20a,24e,246,20m,20a,,20a,20a,20a\",\"2,20c,211,20q,20p,20c,,20c,20c,20c\",\"3,20f,24q,24h,20y,20f,,20f,20f,20f\",\"3,20h,215,20z,20y,20h,,20h,20h,20h\",\"5,21y,26f,264,22g,21y,,21y,21y,21y\",\"5,26u,2ay,2at,26z,26u,,26u,26u,26u\",\"5,276,2b7,2b1,27a,276,,276,276,276\",\"5,27y,2cm,2c3,28h,27y,,27y,27y,27y\",\"5,284,2ew,2er,2ay,284,,284,284,284\",\"3,2b4,2d6,2cq,2ch,2b4,,2b4,2b4,2b4\",\"3,2b7,2d7,2cq,2ch,2b7,,2b7,2b7,2b7\",\"3,2bd,2d9,2cr,2cl,2bd,,2bd,2bd,2bd\",\"3,2bg,2ds,2dc,2cw,2bg,,2bg,2bg,2bg\",\"5,2fp,2jv,2jo,2fw,2fp,,2fp,2fp,2fp\",\"5,2gg,2ki,2kb,2gm,2gg,,2gg,2gg,2gg\",\"2,2ko,2oy,2os,2l8,2ko,,2ko,2ko,2ko\",\"3,2kr,2sr,2ox,2la,2kr,,2kr,2kr,2kr\"]}","mark.bigPipe.sidebar-id.start":"[1794]","mark.bigPipe.sidebar-id.end":"[1801]","mark.@grammarly-extension:checkScriptInitStart":"[2338]","mark.@grammarly-extension:checkScriptInitEnd":"[2362]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1794],\"bigPipe.sidebar-id.end\":[1801],\"@grammarly-extension:checkScriptInitStart\":[2338],\"@grammarly-extension:checkScriptInitEnd\":[2362]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":4.75,"connectionRTT":100},"timeDelta":-4202}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_report_workload_small action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_report_created_vs_resolved_small} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${s_prj_key}/reports/custom/${s_created_vs_resolved_id}/timescale/2 - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":10035},"timeDelta":-605},{"name":"quicksearch.enabled","properties":{},"timeDelta":-604},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-504},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-496}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${s_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:44"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - timescaleId - 2 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/reports/1/servicedesk/${s_prj_key}/report/${s_created_vs_resolved_id} - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agent.reports.loaded.custom","properties":{"reportId":"898","seriesTypes":"sd.series.type.created.count sd.series.type.resolved.count","sdVersion":"4.13.0","projectId":10136},"timeDelta":-4415},{"name":"servicedesk.page.view.servicedesk.reports","properties":{"sdVersion":"4.13.0","projectId":10136},"timeDelta":-3532},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1183","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.reports.custom","navigationType":"0","readyForUser":"3914","redirectCount":"0","resourceLoadedEnd":"1211","resourceLoadedStart":675.4300000029616,"threshold":"1000","unloadEventStart":"341","unloadEventEnd":"343","fetchStart":"4","domainLookupStart":"9","domainLookupEnd":"49","connectStart":"49","connectEnd":"175","requestStart":"175","responseStart":"319","responseEnd":"450","domLoading":"354","domInteractive":"1432","domContentLoadedEventStart":"1432","domContentLoadedEventEnd":"1549","domComplete":"2167","loadEventStart":"2167","loadEventEnd":"2184","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"8b6da0ba33d3dc","effectiveType":"4g","downlink":1.6,"rtt":100,"serverDuration":"44","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,ir,ir,,,ir,,ir,ir,ir\",\"2,ir,j1,iv,iv,ir,,ir,ir,ir\",\"2,ir,iz,iv,iv,ir,,ir,ir,ir\",\"3,is,is,,,is,,is,is,is\",\"3,is,is,,,is,,is,is,is\",\"3,is,is,,,is,,is,is,is\",\"3,it,it,,,it,,it,it,it\",\"3,it,it,,,it,,it,it,it\",\"3,it,it,,,it,,it,it,it\",\"3,it,it,,,it,,it,it,it\",\"2,iu,iu,,,iu,,iu,iu,iu\",\"3,iu,iu,,,iu,,iu,iu,iu\",\"3,iv,iv,,,iv,,iv,iv,iv\",\"2,iv,jl,jh,jg,iv,,iv,iv,iv\",\"3,iv,iv,,,iv,,iv,iv,iv\",\"3,iw,iw,,,iw,,iw,iw,iw\",\"5,qb,u6,u3,qf,qb,,qb,qb,qb\",\"4,sp,sp,,,sp,,sp,sp,sp\",\"4,sq,sq,,,sq,,sq,sq,sq\",\"3,ww,xn,xh,xg,ww,,ww,ww,ww\",\"5,16m,1ai,1ad,16p,16m,,16m,16m,16m\",\"5,1bu,1ga,1g4,1c5,1bu,,1bu,1bu,1bu\",\"2,1jh,1jm,1jk,1jk,1jh,,1jh,1jh,1jh\",\"2,1jk,1k8,1js,1jr,1jk,,1jk,1jk,1jk\",\"3,1jm,1kd,1k8,1jt,1jm,,1jm,1jm,1jm\",\"3,1jp,1kg,1ka,1k8,1jp,,1jp,1jp,1jp\",\"5,1ms,1qw,1qo,1mz,1ms,,1ms,1ms,1ms\",\"5,1n8,1rc,1r6,1ne,1n8,,1n8,1n8,1n8\",\"5,1nj,1uv,1uj,1qx,1nj,,1nj,1nj,1nj\",\"5,1nl,1vd,1v0,1r7,1r7,,1nq,1nq,1nq\",\"5,1p8,1v9,1v0,1rd,1p8,,1p8,1p8,1p8\",\"3,1rb,1sp,1si,1sg,1rb,,1rb,1rb,1rb\",\"3,1re,1sq,1si,1sh,1re,,1re,1re,1re\",\"3,1ri,1sr,1si,1sh,1ri,,1ri,1ri,1ri\",\"3,1rl,1t9,1t1,1t0,1rl,,1rl,1rl,1rl\",\"5,1w9,20h,202,1wf,1w9,,1w9,1w9,1w9\",\"5,1ws,212,20r,1wy,1ws,,1ws,1ws,1ws\",\"2,21c,21r,21j,21h,21c,,21c,21c,21c\",\"3,21f,228,21t,21q,21f,,21f,21f,21f\",\"5,27d,2bz,2bl,27r,27d,,27d,27d,27d\"]}","mark.bigPipe.sidebar-id.start":"[1394]","mark.bigPipe.sidebar-id.end":"[1398]","mark.@grammarly-extension:checkScriptInitStart":"[1831]","mark.@grammarly-extension:checkScriptInitEnd":"[1847]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1394],\"bigPipe.sidebar-id.end\":[1398],\"@grammarly-extension:checkScriptInitStart\":[1831],\"@grammarly-extension:checkScriptInitEnd\":[1847]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":1.6,"connectionRTT":100},"timeDelta":-3484}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_report_created_vs_resolved_small action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - - - - ${__isVarDefined(m_service_desk_id)} - false - true - - - - 1 - false - 1 - ${__jexl2(${perc_agent_view_queues_medium} / 2)} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${m_prj_key}/queues/custom/${m_prj_all_open_queue_id} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":${m_prj_id}},"timeDelta":-538},{"name":"quicksearch.enabled","properties":{},"timeDelta":-533},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-501},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"},"timeDelta":-500}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${m_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - m_random_queue_id - $..items[?(@.params.count != '0' && @.label != 'All open')].key - 1 - None - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["jira.view.issue","jira.view.issue.deferred"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/page - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/queues-limit - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${m_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-sla"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-linked-major-incidents"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182","custom_field_jsd-sla"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.page.view.queue","properties":{"queueId":2271,"hasAgentSorting":false,"isBulkActionFlagOn":true,"isReactQueueTableFlagOn":true,"sdVersion":"4.13.0","projectId":10192},"timeDelta":-4198},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1052","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.queues.custom.ENTITY_ID","navigationType":"0","readyForUser":"3146","redirectCount":"0","resourceLoadedEnd":"517","resourceLoadedStart":509.940000003553,"threshold":"1000","unloadEventStart":"177","unloadEventEnd":"178","fetchStart":"16","domainLookupStart":"16","domainLookupEnd":"16","connectStart":"16","connectEnd":"16","requestStart":"22","responseStart":"168","responseEnd":"296","domLoading":"194","domInteractive":"1186","domContentLoadedEventStart":"1186","domContentLoadedEventEnd":"1331","domComplete":"2052","loadEventStart":"2053","loadEventEnd":"2066","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"77164e5facfa5","effectiveType":"4g","downlink":10,"rtt":100,"serverDuration":"45","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,e5,e5,,,e5,,e5,e5,e5\",\"2,e6,e6,,,e6,,e6,e6,e6\",\"2,e7,e7,,,e7,,e7,e7,e7\",\"3,e7,e7,,,e7,,e7,e7,e7\",\"3,e7,e7,,,e7,,e7,e7,e7\",\"3,e8,e8,,,e8,,e8,e8,e8\",\"3,e8,e8,,,e8,,e8,e8,e8\",\"3,e8,e8,,,e8,,e8,e8,e8\",\"3,e9,e9,,,e9,,e9,e9,e9\",\"3,e9,e9,,,e9,,e9,e9,e9\",\"3,e9,e9,,,e9,,e9,e9,e9\",\"2,ea,ea,,,ea,,ea,ea,ea\",\"3,ea,ea,,,ea,,ea,ea,ea\",\"3,ec,ec,,,ec,,ec,ec,ec\",\"2,ec,ec,,,ec,,ec,ec,ec\",\"3,ed,ed,,,ed,,ed,ed,ed\",\"3,ed,ed,,,ed,,ed,ed,ed\",\"5,ky,p1,ox,l2,ky,,ky,ky,ky\",\"4,pk,pk,,,pk,,pk,pk,pk\",\"5,10a,146,142,10f,10a,,10a,10a,10a\",\"3,11q,12b,128,126,11q,,11q,11q,11q\",\"5,161,1au,1aq,171,161,,161,161,161\",\"2,1de,1de,,,1de,,1de,1de,1de\",\"2,1dh,1dh,,,1dh,,1dh,1dh,1dh\",\"3,1dj,1dv,1dr,1dp,1dj,,1dj,1dj,1dj\",\"3,1dl,1ek,1ds,1dr,1dl,,1dl,1dl,1dl\",\"3,1dm,1eb,1du,1ds,1dm,,1dm,1dm,1dm\",\"3,1do,1eb,1du,1ds,1do,,1do,1do,1do\",\"3,1dp,1ej,1ed,1e4,1dp,,1dp,1dp,1dp\",\"5,1jp,1nr,1ng,1jt,1jp,,1jp,1jp,1jp\",\"5,1jz,1o7,1nx,1k4,1jz,,1jz,1jz,1jz\",\"5,1ka,1rw,1rj,1ny,1ka,,1ka,1ka,1ka\",\"5,1ke,1sm,1sd,1o8,1ke,,1ke,1ke,1ke\",\"5,1km,1s5,1rw,1o9,1o8,,1kq,1kq,1kq\",\"3,1oo,1q8,1pl,1pk,1oo,,1oo,1oo,1oo\",\"3,1oy,1qf,1q9,1q4,1oy,,1oy,1oy,1oy\",\"3,1p3,1qg,1q9,1q7,1p3,,1p3,1p3,1p3\",\"3,1p7,1r2,1qg,1qb,1p7,,1p7,1p7,1p7\",\"5,1t7,1x6,1x1,1tc,1t7,,1t7,1t7,1t7\",\"5,1tu,1xz,1xu,1u4,1tu,,1tu,1tu,1tu\",\"5,1yi,247,23u,1yv,1yi,,1yi,1yi,1yi\",\"2,24n,24n,,,24n,,24n,24n,24n\",\"3,24x,26q,26i,26g,24x,,24x,24x,24x\",\"5,291,2dc,2d3,29e,291,,291,291,291\"]}","mark.bigPipe.sidebar-id.start":"[1152]","mark.bigPipe.sidebar-id.end":"[1157]","mark.@grammarly-extension:checkScriptInitStart":"[1608]","mark.@grammarly-extension:checkScriptInitEnd":"[1627]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1152],\"bigPipe.sidebar-id.end\":[1157],\"@grammarly-extension:checkScriptInitStart\":[1608],\"@grammarly-extension:checkScriptInitEnd\":[1627]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":100},"timeDelta":-4159}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - undefined - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - currentIssueHash - f28505024e00a8d3cc3a408bffacba4d44803233 - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${m_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist/updated - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${m_prj_key}/queues/custom/${m_random_queue_id} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":10035},"timeDelta":-611},{"name":"quicksearch.enabled","properties":{},"timeDelta":-603},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-503},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-495}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${m_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["jira.view.issue","jira.view.issue.deferred"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/page - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/queues-limit - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${m_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-sla"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["custom_field_jsd-linked-major-incidents"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47","com.atlassian.servicedesk.frontend-webpack-plugin:46","com.atlassian.servicedesk.frontend-webpack-plugin:182","custom_field_jsd-sla"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-5113},{"name":"servicedesk.page.view.queue","properties":{"queueId":2273,"hasAgentSorting":false,"isBulkActionFlagOn":true,"isReactQueueTableFlagOn":true,"sdVersion":"4.13.0","projectId":10192},"timeDelta":-4158},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1350","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.queues.custom.ENTITY_ID","navigationType":"0","readyForUser":"3274","redirectCount":"0","resourceLoadedEnd":"725","resourceLoadedStart":641.3199999951757,"threshold":"1000","unloadEventStart":"309","unloadEventEnd":"312","fetchStart":"10","domainLookupStart":"32","domainLookupEnd":"32","connectStart":"32","connectEnd":"146","requestStart":"146","responseStart":"292","responseEnd":"419","domLoading":"327","domInteractive":"1474","domContentLoadedEventStart":"1475","domContentLoadedEventEnd":"1574","domComplete":"2349","loadEventStart":"2349","loadEventEnd":"2364","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"edf97c4a98e3f0","effectiveType":"4g","downlink":10,"rtt":100,"serverDuration":"44","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,ht,ht,,,ht,,ht,ht,ht\",\"2,ht,j7,iu,iu,ht,,ht,ht,ht\",\"2,hu,ja,iz,iy,hu,,hu,hu,hu\",\"3,hw,hw,,,hw,,hw,hw,hw\",\"3,hx,hx,,,hx,,hx,hx,hx\",\"3,hx,hx,,,hx,,hx,hx,hx\",\"3,hx,hx,,,hx,,hx,hx,hx\",\"3,hy,hy,,,hy,,hy,hy,hy\",\"3,hy,hy,,,hy,,hy,hy,hy\",\"3,hz,hz,,,hz,,hz,hz,hz\",\"3,hz,hz,,,hz,,hz,hz,hz\",\"2,hz,hz,,,hz,,hz,hz,hz\",\"3,i0,i0,,,i0,,i0,i0,i0\",\"3,i2,i2,,,i2,,i2,i2,i2\",\"2,i3,k5,jv,jt,i3,,i3,i3,i3\",\"3,i4,i4,,,i4,,i4,i4,i4\",\"3,i5,i5,,,i5,,i5,i5,i5\",\"5,sb,wd,w9,sl,sb,,sb,sb,sb\",\"4,xt,xt,,,xt,,xt,xt,xt\",\"5,17d,1bb,1b8,17g,17d,,17d,17d,17d\",\"3,183,18q,18a,189,183,,183,183,183\",\"5,1cf,1ha,1h5,1d8,1cf,,1cf,1cf,1cf\",\"2,1kj,1lm,1ku,1kt,1kj,,1kj,1kj,1kj\",\"2,1kl,1ls,1ln,1lm,1kl,,1kl,1kl,1kl\",\"3,1kp,1m7,1lq,1lp,1kp,,1kp,1kp,1kp\",\"3,1kr,1mc,1lq,1lp,1kr,,1kr,1kr,1kr\",\"3,1kv,1m6,1lt,1ls,1kv,,1kv,1kv,1kv\",\"3,1kx,1m9,1lt,1ls,1kx,,1kx,1kx,1kx\",\"3,1kz,1ms,1m6,1ly,1kz,,1kz,1kz,1kz\",\"5,1q9,1u4,1ty,1qd,1q9,,1q9,1q9,1q9\",\"5,1s1,1w5,1vt,1s4,1s1,,1s1,1s1,1s1\",\"5,1sa,1y1,1xs,1u5,1sa,,1sa,1sa,1sa\",\"5,1sl,1zl,1zg,1vv,1vv,,1sq,1sq,1sq\",\"5,1sp,20i,209,1w7,1sp,,1sp,1sp,1sp\",\"3,1wf,1xn,1wu,1wt,1wf,,1wf,1wf,1wf\",\"3,1wj,1xp,1x1,1x0,1wj,,1wj,1wj,1wj\",\"3,1wn,1xv,1xq,1xk,1wn,,1wn,1wn,1wn\",\"3,1ws,1y6,1xv,1xs,1ws,,1ws,1ws,1ws\",\"5,21d,25k,25e,21m,21d,,21d,21d,21d\",\"5,220,269,25v,227,220,,220,220,220\",\"5,26l,2au,2ap,26z,26l,,26l,26l,26l\",\"2,2ay,2bi,2b7,2b6,2ay,,2ay,2ay,2ay\",\"3,2b2,2br,2bj,2bi,2b2,,2b2,2b2,2b2\",\"5,2dr,2hr,2hn,2dz,2dr,,2dr,2dr,2dr\"]}","mark.bigPipe.sidebar-id.start":"[1444]","mark.bigPipe.sidebar-id.end":"[1448]","mark.@grammarly-extension:checkScriptInitStart":"[1842]","mark.@grammarly-extension:checkScriptInitEnd":"[1862]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1444],\"bigPipe.sidebar-id.end\":[1448],\"@grammarly-extension:checkScriptInitStart\":[1842],\"@grammarly-extension:checkScriptInitEnd\":[1862]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":100},"timeDelta":-4118}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - undefined - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${m_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - asc - false - = - true - - - false - excludeLinkedToMajorIncidents - false - = - true - - - false - currentIssueHash - 480feb93c9da5ccd477743b9433cb00aecb3806c - = - true - - - false - startIndex - 0 - = - true - - - false - columnNames - duedate - = - true - - - true - jql - project = ${m_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC - = - true - - - false - issuesPerPage - 50 - = - true - - - false - orderBy - - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist/updated - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/plain, */* - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-queues-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.modified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2872}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - -172134395 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.notmodified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2863}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - projectStateHash - -172134395 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.queue.poll.notmodified","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-2369}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_queues_medium action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_report_created_vs_resolved_medium} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${m_prj_key}/reports/custom/${m_created_vs_resolved_id}/timescale/2 - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":10035},"timeDelta":-605},{"name":"quicksearch.enabled","properties":{},"timeDelta":-604},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-504},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-496}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${m_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:44"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - timescaleId - 2 - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/reports/1/servicedesk/${m_prj_key}/report/${m_created_vs_resolved_id} - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.project.centric.navigation.sidebar.load.project","properties":{},"timeDelta":-5064},{"name":"servicedesk.agent.reports.loaded.custom","properties":{"reportId":"204","seriesTypes":"sd.series.type.created.count sd.series.type.resolved.count","sdVersion":"4.13.0","projectId":10035},"timeDelta":-3671},{"name":"servicedesk.page.view.servicedesk.reports","properties":{"sdVersion":"4.13.0","projectId":10035},"timeDelta":-3453},{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"1579","isInitial":"true","journeyId":"9073c135-935f-4d53-a0f8-85a1376a51e8","key":"servicedesk.reports.custom","navigationType":"1","readyForUser":"4195","redirectCount":"0","resourceLoadedEnd":"1766","resourceLoadedStart":251.92500000048312,"threshold":"1000","unloadEventStart":"227","unloadEventEnd":"228","fetchStart":"7","domainLookupStart":"7","domainLookupEnd":"7","connectStart":"7","connectEnd":"7","requestStart":"12","responseStart":"162","responseEnd":"193","domLoading":"233","domInteractive":"1832","domContentLoadedEventStart":"1832","domContentLoadedEventEnd":"1899","domComplete":"2219","loadEventStart":"2220","loadEventEnd":"2223","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"a1fb6e65fe60bb","effectiveType":"4g","downlink":4.35,"rtt":100,"serverDuration":"53","dbConnsTimeInMs":"12","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"˜ \":[\"2,6z,ca,c1,7m,6z,,6z,6z,6z\",\"2,70,ft,c0,7m,70,,70,70,70\",\"2,70,ew,eq,b6,b6,,7o,7o,7o\",\"3,71,w2,ev,b7,b6,,7p,7p,7p\",\"3,71,vu,ev,b7,b7,,7p,7p,7p\",\"3,71,g1,fw,cb,71,,71,71,71\",\"3,72,j5,ij,ex,72,,72,72,72\",\"3,72,j3,ik,ex,72,,72,72,72\",\"3,72,k5,jd,ft,72,,72,72,72\",\"3,72,k3,jq,g2,72,,72,72,72\",\"2,73,ew,er,b7,b6,,7o,7o,7o\",\"3,73,n7,mz,j8,73,,73,73,73\",\"3,74,11c,119,x5,74,,74,74,74\",\"2,74,11u,11o,y5,74,,74,74,74\",\"3,74,1ab,19w,160,74,,74,74,74\",\"3,74,1a6,19v,160,74,,74,74,74\",\"5,13v,17p,17l,13y,13v,,13v,13v,13v\",\"4,16l,1bt,1bl,180,16l,,16l,16l,16l\",\"3,196,1d2,1cx,19e,196,,196,196,196\",\"5,1kr,1p2,1oy,1l0,1kr,,1kr,1kr,1kr\",\"2,1px,1um,1u4,1ql,1px,,1px,1px,1px\",\"2,1py,1um,1u5,1qm,1py,,1py,1py,1py\",\"2,1py,1v4,1ui,1qn,1py,,1py,1py,1py\",\"3,1py,1v5,1ui,1qo,1py,,1py,1py,1py\",\"3,1pz,1uo,1ud,1qo,1pz,,1pz,1pz,1pz\",\"3,1pz,1v7,1uj,1qs,1pz,,1pz,1pz,1pz\",\"3,1pz,1z1,1ys,1v6,1pz,,1pz,1pz,1pz\",\"5,1wl,20m,20d,1wt,1wl,,1wl,1wl,1wl\",\"5,1zo,23z,23t,1zs,1zo,,1zo,1zo,1zo\",\"5,1zv,23w,23s,202,1zv,,1zv,1zv,1zv\",\"5,20f,251,24o,20z,20f,,20f,20f,20f\",\"5,20h,25h,250,216,20h,,20h,20h,20h\",\"3,246,28n,28e,24j,246,,246,246,246\",\"3,247,28h,286,24k,247,,247,247,247\",\"3,248,28n,287,24k,248,,248,248,248\",\"3,249,28f,286,24k,249,,249,249,249\",\"5,26s,2ar,2ao,271,26s,,26s,26s,26s\",\"5,294,2de,2cz,29a,294,,294,294,294\",\"2,2ea,2iw,2io,2f3,2ea,,2ea,2ea,2ea\",\"3,2ed,2tn,2ix,2f9,2ed,,2ed,2ed,2ed\",\"5,2x7,322,31q,2xe,2x7,,2x7,2x7,2x7\"]}","mark.bigPipe.sidebar-id.start":"[1791]","mark.bigPipe.sidebar-id.end":"[1793]","mark.@grammarly-extension:checkScriptInitStart":"[2113]","mark.@grammarly-extension:checkScriptInitEnd":"[2123]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1791],\"bigPipe.sidebar-id.end\":[1793],\"@grammarly-extension:checkScriptInitStart\":[2113],\"@grammarly-extension:checkScriptInitEnd\":[2123]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":4.35,"connectionRTT":100},"timeDelta":-3374}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_view_report_created_vs_resolved_medium action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_report_workload_medium} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${m_prj_key}/reports/workload - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/precondition - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/warnings - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":${m_prj_id}},"timeDelta":-660},{"name":"quicksearch.enabled","properties":{},"timeDelta":-656},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-506},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"},"timeDelta":-504}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"projectKey":"${m_prj_key}"} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - - - - - ${application.postfix}/rest/projects/1.0/subnav/sd-reports-nav/pin - PUT - true - false - true - false - - - - - - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:53"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","browser-metrics-plugin.contrib","atl.global","sd.project.sidebar.content","jira.global.look-and-feel","com.atlassian.servicedesk.frontend-webpack-plugin:43","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - - - false - query - - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/pages/people/agents/${m_prj_key}/search - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - X-AUSERNAME - performance_agent_0_abvsufypvdlqoez - - - - - - - true - - - - false - [{"name":"servicedesk.agent.reports.loaded.workload","properties":{"sdVersion":"4.13.0","projectId":10192},"timeDelta":-4909},{"name":"servicedesk.page.view.servicedesk.reports","properties":{"sdVersion":"4.13.0","projectId":10192},"timeDelta":-4880},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"969","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.reports.workload","navigationType":"0","readyForUser":"1972","redirectCount":"0","resourceLoadedEnd":"982","resourceLoadedStart":633.2249999977648,"threshold":"1000","unloadEventStart":"335","unloadEventEnd":"336","fetchStart":"6","domainLookupStart":"48","domainLookupEnd":"48","connectStart":"48","connectEnd":"178","requestStart":"178","responseStart":"326","responseEnd":"455","domLoading":"343","domInteractive":"1076","domContentLoadedEventStart":"1076","domContentLoadedEventEnd":"1126","domComplete":"1357","loadEventStart":"1357","loadEventEnd":"1363","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","correlationId":"b9d24749843d2a","effectiveType":"4g","downlink":1.6,"rtt":100,"serverDuration":"45","dbConnsTimeInMs":"8","applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,hl,hl,,,hl,,hl,hl,hl\",\"2,hl,hv,hp,ho,hl,,hl,hl,hl\",\"2,hl,hu,hp,hp,hl,,hl,hl,hl\",\"3,hl,hl,,,hl,,hl,hl,hl\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"3,hm,hm,,,hm,,hm,hm,hm\",\"2,hn,hn,,,hn,,hn,hn,hn\",\"3,hn,hn,,,hn,,hn,hn,hn\",\"3,ho,ho,,,ho,,ho,ho,ho\",\"2,ho,i6,i3,i3,ho,,ho,ho,ho\",\"3,ho,ho,,,ho,,ho,ho,ho\",\"3,ho,ho,,,ho,,ho,ho,ho\",\"5,mo,qj,qg,mr,mo,,mo,mo,mo\",\"4,p0,p0,,,p0,,p0,p0,p0\",\"4,p0,p0,,,p0,,p0,p0,p0\",\"3,qz,ra,r4,r3,qz,,qz,qz,qz\",\"5,w4,100,zy,w7,w4,,w4,w4,w4\",\"5,yd,12p,12m,yh,yd,,yd,yd,yd\",\"2,12u,12z,12w,12w,12u,,12u,12u,12u\",\"2,12v,134,12y,12x,12v,,12v,12v,12v\",\"3,12w,135,130,130,12w,,12w,12w,12w\",\"3,12x,137,135,134,12x,,12x,12x,12x\",\"5,147,18b,17y,149,147,,147,147,147\",\"5,14e,18m,18c,14g,14e,,14e,14e,14e\",\"5,14k,1c4,1c2,18d,14k,,14k,14k,14k\",\"5,14m,1c9,1c6,18e,18c,,14s,14s,14s\",\"3,18n,19l,197,194,18n,,18n,18n,18n\",\"3,18s,1a5,19c,19a,18s,,18s,18s,18s\",\"3,18x,1ac,1a6,1a5,18x,,18x,18x,18x\",\"3,193,1ad,1a6,1a5,193,,193,193,193\",\"5,1bm,1fd,1fb,1bp,1bm,,1bm,1bm,1bm\",\"5,1ci,1gd,1g8,1cn,1ci,,1ci,1ci,1ci\",\"5,1cs,1gs,1gn,1cv,1cs,,1cs,1cs,1cs\",\"2,1gy,1he,1h9,1h8,1gy,,1gy,1gy,1gy\",\"3,1h1,1hg,1hb,1ha,1h1,,1h1,1h1,1h1\"]}","mark.bigPipe.sidebar-id.start":"[1072]","mark.bigPipe.sidebar-id.end":"[1074]","mark.@grammarly-extension:checkScriptInitStart":"[1279]","mark.@grammarly-extension:checkScriptInitEnd":"[1285]","userTimingRaw":"{\"marks\":{\"bigPipe.sidebar-id.start\":[1072],\"bigPipe.sidebar-id.end\":[1074],\"@grammarly-extension:checkScriptInitStart\":[1279],\"@grammarly-extension:checkScriptInitEnd\":[1285]},\"measures\":{}}","experiments":"[]","dbReadsTimeInMs":"","serverHeadDuration":"undefined","connectionEffectiveType":"4g","connectionDownlink":1.6,"connectionRTT":100},"timeDelta":-4863}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - - - 1 - false - 1 - ${perc_agent_browse_projects} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - false - selectedCategory - all - = - true - - - false - selectedProjectType - service_desk - = - true - - - - - - - - ${application.postfix}/secure/BrowseProjects.jspa - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.plugin.jslibs:backbone-1.3.3-factory","jira.webresources:backbone-1.3.3","com.atlassian.plugin.jslibs:backbone.paginator-2.0.2-factory","jira.webresources:backbone-paginator","com.atlassian.plugin.jslibs:backbone.radio-2.0.0-factory","jira.webresources:backbone.radio-2.0","com.atlassian.plugin.jslibs:marionette-4.1.2-factory","jira.webresources:marionette-4.1","com.atlassian.plugin.jslibs:marionette-1.6.1-factory","jira.webresources:marionette","jira.webresources:project-type-keys","com.atlassian.plugin.jslibs:marionette-3.1.0-factory","jira.webresources:marionette-3.1","jira.webresources:pagination-view","jira.webresources:navigation-utils","jira.webresources:empty-search-results","jira.webresources:browseprojects","jira.webresources:calendar","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.navigation.header.projects.close","properties":{},"timeDelta":-3195},{"name":"jira.navigation.header.projects.item.click","properties":{},"timeDelta":-3178},{"name":"quicksearch.enabled","properties":{},"timeDelta":-936},{"name":"projects.browse.view","properties":{},"timeDelta":-921},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"},"timeDelta":-502}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_browse_projects action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_request} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/browse/${request_key} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","project.issue.navigator","jira.global","atl.general","jira.view.issue"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","project.issue.navigator","jira.global","atl.general","jira.view.issue"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","comment_fields_jsd","custom_field_jsd-request-participants","custom_field_jsd-organizations-field","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-sla-web-panel","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-customer-request-details-web-panel"],"xc":["_super","project.issue.navigator","jira.global","atl.general","jira.view.issue","browser-metrics-plugin.contrib","atl.global","comment_fields_jsd","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-sla-web-panel","custom_field_jsd-request-participants","custom_field_jsd-organizations-field","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-customer-request-details-web-panel","com.atlassian.jira.projects.sidebar.init","sd.project.sidebar.content","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"jira.project.sidebar.issue.view.issue","properties":{"issueId":359692,"projectId":10085,"projectType":"service_desk","issueMatchesProjectContext":true},"timeDelta":-1480},{"name":"quicksearch.enabled","properties":{},"timeDelta":-1033},{"name":"tzdetect.banner.shown","properties":{},"timeDelta":-951},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-690},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"},"timeDelta":-686}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","project.issue.navigator","jira.global","atl.general","jira.view.issue","browser-metrics-plugin.contrib","atl.global","comment_fields_jsd","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-sla-web-panel","custom_field_jsd-request-participants","custom_field_jsd-organizations-field","com.atlassian.servicedesk.frontend-webpack-plugin:entrypoint-customer-request-details-web-panel","com.atlassian.jira.projects.sidebar.init","sd.project.sidebar.content","jira.global.look-and-feel","jira.rich.editor.api","jira.project.sidebar","jira.rich.editor"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.plugins.jira-editor-plugin:tinymce"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_request action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_add_comment} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - false - issueKey - ${request_key} - = - true - - - false - limitUsagesToUser - true - = - true - - - false - limit - 5 - = - true - - - false - daysSince - 30 - = - true - - - false - substitute - true - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} - GET - true - false - true - false - - - - - - - - - - false - issueKey - ${request_key} - = - true - - - false - limit - 5 - = - true - - - false - substitute - true - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} - GET - true - false - true - false - - - - - - - true - - - - false - [{"name":"jira.wikieditor.initialized","properties":{},"timeDelta":-782},{"name":"editor.instance.init","properties":{},"timeDelta":-696},{"name":"bundled.editor.instance.init","properties":{},"timeDelta":-696},{"name":"editor.instance.init.chrome","properties":{},"timeDelta":-696},{"name":"editor.instance.perf.nodechange","properties":{"time":6.680000005871989},"timeDelta":-193},{"name":"editor.instance.perf.nodechange","properties":{"time":1.8149999959859997},"timeDelta":-185},{"name":"editor.instance.perf.nodechange","properties":{"time":1.8100000015692785},"timeDelta":-177},{"name":"editor.instance.perf.init","properties":{"time":590.2600000117673},"timeDelta":-166},{"name":"editor.instance.init.perf","properties":{"time":36.36499999265652},"timeDelta":-166},{"name":"editor.instance.perf.init-bare","properties":{"time":590.4350000055274},"timeDelta":-166},{"name":"editor.instance.perf.nodechange","properties":{"time":1.0500000062165782},"timeDelta":-153},{"name":"editor.instance.perf.nodechange","properties":{"time":1.0449999972479418},"timeDelta":-149},{"name":"editor.instance.perf.nodechange","properties":{"time":1.0049999982584268},"timeDelta":-25}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"editor.instance.perf.nodechange","properties":{"time":1.440000007278286},"timeDelta":-5237}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - - - - - - false - true - - - - true - - - - false - {"body":"${g_comment}","properties":[{"key":"sd.public.comment","value":{"internal":true}}]} - = - - - - - - - - ${application.postfix}/rest/api/2/issue/${request_id}/comment - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - groovy - - - true - def generator = { String alphabet, int n -> - new Random().with { - (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() - } -} - -def comment = "JMeter comment - " + generator((('a'..'z') + ' ' * 10).join(), 50); - - -vars.put("g_comment", comment.toString()) - - - - - - - - - true - decorator - none - = - true - - - true - issueKey - ${request_key} - = - true - - - true - shouldUpdateCurrentProject - true - = - true - - - true - issue - summary:2af6db370a27a7174ec5cc130b175675 - = - true - - - true - panels - com.atlassian.jira.jira-view-issue-plugin:details-module:f1c1c1a9537dd1b7ff56d49e86b12fcf,com.atlassian.jira.jira-view-issue-plugin:descriptionmodule:3b53cb5e6c64ff432caea6cc4c1eec9c,com.atlassian.jira.plugins.jira-dnd-attachment-plugin:dnd-metadata:4c75a4fa7c03a8a472bdbf16701325da,com.atlassian.jira.jira-view-issue-plugin:attachmentmodule:413cb3dde9c12bf621fa91dc18217a83,com.atlassian.jira.jira-view-issue-plugin:activitymodule:143883405dd1aedf4b588595a4818653,com.atlassian.jira.plugin.system.comment-panel:addcommentmodule:d054e04d4e1dd579b99c3b77578dbbb2,com.atlassian.servicedesk.frontend-webpack-plugin:sla-web-panel:fed80d3c79d9c6aa1c10e5cafb881e09,com.atlassian.jira.jira-view-issue-plugin:peoplemodule:82ea29fd747a593088f1cee985b707b0,com.atlassian.servicedesk.frontend-webpack-plugin:customer-request-details-web-panel:5a7b1c9303fac1355a8086e425ccfbec,com.atlassian.jira.jira-view-issue-plugin:datesmodule:2a6758eb0663dfbc2e6c2dcafa84d975 - = - true - - - true - lastReadTime - 1610383830502 - = - true - - - true - prefetch - false - = - true - - - true - links - comment-issue:ab8f97979b557fb0365b58b1cb37a93c,view-voters:ccc9788623b3ea836e9a3d596e8831a3,toggle-unwatch-issue:bc3f9c03fef7163cede5b25c666884a1,manage-watchers:c23ae6252e1cac145bdf3ba78023656c,issue-to-subtask:342cb7fc1bbf007c99e13506b7bc8577,create-linked-issue:318ddb47cb4348d9b51f53166482340a,move-issue:e5bd6c0a6968cc7f88cebb8dacec959a,link-issue:cd537ade9a8594fbe0c18b1c24000e30,clone-issue:1e3903f4c14fc737c5419a43dc7ca7a0,delete-issue:35e6a42c31aad6b3b11a0b0dbf4eb7e9,jira-share-trigger:0c5d26a364e768fa1ec9608107213ffd,jira.issueviews:issue-xml:5375421ab68ea4125eee01ffc61adf61,jira.issueviews:issue-word:ded7d768c301e2c9d9b0f6476983bc09,jira.issueviews:issue-html:24b86be7f795ad8c0938cc20c29d1b4b - = - true - - - - - - - - ${application.postfix}/secure/AjaxIssueAction!default.jspa - POST - true - false - true - false - - - - - - - - - Accept - */* - - - X-SITEMESH-OFF - true - - - Content-Type - application/x-www-form-urlencoded; charset=UTF-8 - - - - - - - - - - false - issueKey - ${request_key} - = - true - - - false - limitUsagesToUser - true - = - true - - - false - limit - 5 - = - true - - - false - daysSince - 30 - = - true - - - false - substitute - true - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - - - - - - - - false - issueKey - ${request_key} - = - true - - - false - limit - 5 - = - true - - - false - substitute - true - = - true - - - false - _ - ${__time(,)} - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - - - - - true - - - - false - [{"name":"editor.instance.perf.nodechange","properties":{"time":5.600000004051253},"timeDelta":-1564},{"name":"jira.project.sidebar.issue.view.issue","properties":{"issueId":359692,"projectId":10085,"projectType":"service_desk","issueMatchesProjectContext":true},"timeDelta":-391},{"name":"editor.instance.tab.timing.visual","properties":{"time":28848.145000003628},"timeDelta":-164},{"name":"editor.instance.destroy","properties":{},"timeDelta":-8},{"name":"bundled.editor.instance.destroy","properties":{},"timeDelta":-8}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_comment action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_view_customers} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - false - true - - - - - - - - - - - ${application.postfix}/projects/${s_prj_key}/customers - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:51","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.agentview.ia","properties":{"newIA":true,"sdVersion":"4.13.0","projectId":10090},"timeDelta":-530},{"name":"quicksearch.enabled","properties":{},"timeDelta":-529},{"name":"bigpipe.sidebar.render.success","properties":{},"timeDelta":-502}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","com.atlassian.servicedesk.frontend-webpack-plugin:51","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-customers"} - = - - - - - - - - ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited - PUT - true - false - true - false - - - - + + 1 + false + 1 + ${__jexl2(${perc_agent_view_queues_small} / 2)} + + + + 1 + 0 + 0 + - - - - Accept - */* - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + - - - - - - - - - ${application.postfix}/rest/servicedesk/1/pages/people/customers/pagination/${s_prj_key} - GET - true - false - true - false - - - - + + false + true + - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - + + + + + + + + + ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_prj_all_open_queue_id} + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${s_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + s_random_queue_id + $..items[?(@.params.count != '0' && @.label != 'All open')].key + 1 + None + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/page + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/queues-limit + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${s_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + undefined + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${s_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + currentIssueHash + f28505024e00a8d3cc3a408bffacba4d44803233 + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${s_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist/updated + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + - - - - - false - query - - = - true - - - false - page - 1 - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/pages/people/customers/pagination/${s_prj_key}/search - GET - true - false - true - false - - - - + + false + true + - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - X-AUSERNAME - performance_agent_0_abjmievxknktqdz - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_customers action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - - false - true - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - - - - - app_specific_username - admin - = + + + + + + + + + ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_random_queue_id} + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${s_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/page + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/queues-limit + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${s_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + undefined + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${s_prj_key}"} + = + + - - app_specific_password - admin - = + + + + + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + currentIssueHash + 480feb93c9da5ccd477743b9433cb00aecb3806c + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${s_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + - - - - - - - - false - os_username - ${app_specific_username} - = - true - - - false - os_password - ${app_specific_password} - = - true - - - false - os_destination - - = - true - - - false - user_role - - = - true - - - false - atl_token - - = - true - - - true - login - Log In - = - true - - - - - - - UTF-8 - ${application.postfix}/login.jsp - POST - true - false - true - false - - - - Detected the start of a redirect chain - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 - - - Upgrade-Insecure-Requests - 1 - - - Content-Type - application/x-www-form-urlencoded - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - groovy - - - true - vars.put("run_as_specific_user", "true") -prev.setIgnore() - - + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/issuelist/updated + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + -172134395 + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + projectStateHash + -172134395 + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + - - - - - - - - - ${application.postfix}/rest/api/2/myself - GET - true - false - true - false - - - - + + 1 + 0 + 0 + - - groovy - - + true - import groovy.json.JsonSlurper; + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() -def slurper = new JsonSlurper() -response_data = slurper.parseText(prev.getResponseDataAsString()) +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) -if (response_data.name != vars.get("app_specific_username")) { - prev.setSuccessful(false) - prev.setResponseMessage("Login Failed: Your app_specific_username: '" + vars.get("app_specific_username") + "' or password is incorrect. Also, check the CAPTCHA for '" + vars.get("app_specific_username") + "' user.") - prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_queues_small action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time } else { - prev.setIgnore() + return 0 } - + groovy + - - false - true - + + 1 + false + 1 + ${perc_agent_view_report_workload_small} + - - - - - - - - - ${application.postfix}/app/get_endpoint - GET - true - false - true - false - - - - - - - false - app_id - "id":"(.+?)" - $1$ - NOT FOUND - 1 - - - - false - app_token - "token":"(.+?)" - $1$ - NOT FOUND - 1 - - - - - asserttion string - - - Assertion.response_data - false - 16 - - - - - - - - false - ${app_id} - = - true - id - - - false - ${app_token} - = - true - token - - - - - - - - ${application.postfix}/app/post_endpoint - POST - true - false - true - false - - - - - - - - assertion string - - - Assertion.response_data - false - 16 - + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + - - - ${run_as_specific_user} - false - true - - - - - - - false - os_username - ${username} - = - true - - - false - os_password - ${password} - = - true - - - false - os_destination - - = - true - - - false - user_role - - = - true - - - false - atl_token - - = - true - - - true - login - Log In - = - true - - - - - - - UTF-8 - ${application.postfix}/login.jsp - POST - true - false - true - false - - - - Detected the start of a redirect chain - + + false + true + + + + + + + + + + + ${application.postfix}/projects/${s_prj_key}/reports/workload + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/precondition + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${s_prj_key}/warnings + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${s_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + query + + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/pages/people/agents/${s_prj_key}/search + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + X-AUSERNAME + performance_agent_0_abvsufypvdlqoez + + + + + + + + 1 + 0 + 0 + - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 - - - Upgrade-Insecure-Requests - 1 - - - Content-Type - application/x-www-form-urlencoded - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - groovy - - + true - prev.setIgnore() - - - - - - - - - - - - ${application.postfix}/rest/api/2/myself - GET - true - false - true - false - - - - - - - groovy - - true - import groovy.json.JsonSlurper; - -def slurper = new JsonSlurper() -response_data = slurper.parseText(prev.getResponseDataAsString()) - -if (response_data.name != vars.get("username")) { - prev.setSuccessful(false) - prev.setResponseMessage("Re-login Failed: username: '" + vars.get("username") + "' failed to login. Check the CAPTCHA for '" + vars.get("username") + "' user.") - prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) -} else { - prev.setIgnore() -} - - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency + + // concurrency def concurrency = ctx.getThreadGroup().getNumThreads() // Delays between each action in milli-seconds @@ -10467,7 +1948,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_standalone_extension action_time: " + action_time) +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_report_workload_small action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -10475,99 +1956,40 @@ if ( sleep_time > 0 ) { return 0 } - groovy - - - - - - 1 - false - 1 - ${perc_agent_insight_main_page} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - + groovy + + + - - ${__groovy("${insight}" == "True")} - false - Check if Insight enabled - true - + + 1 + false + 1 + ${perc_agent_view_report_created_vs_resolved_small} + - + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + false true - - - - - false - inAdminMode - false - = - true - - - false - _ - 1648197601161 - = - true - - - - - - - - ${application.postfix}/rest/api/1.0/menus/rlabs_insight_topmenu_link - GET - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - X-AUSERNAME - admin - - - - - - + @@ -10575,7 +1997,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/secure/ManageObjectSchema.jspa + ${application.postfix}/projects/${s_prj_key}/reports/custom/${s_created_vs_resolved_id}/timescale/2 GET true false @@ -10599,20 +2021,14 @@ if ( sleep_time > 0 ) { - - 0.0 - 0 - Recorded time was 0 milliseconds - - - + true false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} = @@ -10621,8 +2037,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited + PUT true false true @@ -10636,7 +2052,7 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + */* X-Requested-With @@ -10650,13 +2066,13 @@ if ( sleep_time > 0 ) { - + true false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} + {"projectKey":"${s_prj_key}"} = @@ -10665,7 +2081,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources + ${application.postfix}/rest/servicedesk/1/${s_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section POST true false @@ -10694,57 +2110,20 @@ if ( sleep_time > 0 ) { - - true - + + - + false - {"r":[],"c":["com.atlassian.jira.plugins.jira-quicksearch-plugin:5"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} + timescaleId + 2 = + true - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - - false _ - 1648197623432 + ${__time(,)} = true @@ -10754,7 +2133,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objectschema/list + ${application.postfix}/rest/servicedesk/reports/1/servicedesk/${s_prj_key}/report/${s_created_vs_resolved_id} GET true false @@ -10769,20 +2148,12 @@ if ( sleep_time > 0 ) { Accept - application/json - - - X-Insight-Gadget - false + application/json, text/javascript, */*; q=0.01 X-Requested-With XMLHttpRequest - - X-Atlassian-Token - no-check - Content-Type application/json @@ -10791,59 +2162,1113 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"jira.navigation.header.undefined.item.click","properties":{},"timeDelta":-3839},{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.83 Safari/537.36"},"timeDelta":-502},{"name":"quicksearch.enabled","properties":{},"timeDelta":-455},{"name":"insight.manage.object.schema.view.event","properties":{},"timeDelta":-130}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_report_created_vs_resolved_small action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + + + + ${__isVarDefined(m_service_desk_id)} + false + true + + + + 1 + false + 1 + ${__jexl2(${perc_agent_view_queues_medium} / 2)} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + + + + + ${application.postfix}/projects/${m_prj_key}/queues/custom/${m_prj_all_open_queue_id} + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${m_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + m_random_queue_id + $..items[?(@.params.count != '0' && @.label != 'All open')].key + 1 + None + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/page + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/queues-limit + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${m_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + undefined + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + currentIssueHash + f28505024e00a8d3cc3a408bffacba4d44803233 + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${m_prj_key} AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist/updated + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + false + true + - - - - Content-Type - application/json - - - Accept - */* - - - - - - - - - 1 - 0 - 0 - - - - true - - - // concurrency + + + + + + + + + ${application.postfix}/projects/${m_prj_key}/queues/custom/${m_random_queue_id} + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-queues"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${m_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/page + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/queues-limit + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${m_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + undefined + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${m_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.queues,servicedesk.agent.queues.ungrouped + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + asc + false + = + true + + + false + excludeLinkedToMajorIncidents + false + = + true + + + false + currentIssueHash + 480feb93c9da5ccd477743b9433cb00aecb3806c + = + true + + + false + startIndex + 0 + = + true + + + false + columnNames + duedate + = + true + + + true + jql + project = ${m_prj_key} AND assignee = currentUser() AND resolution = Unresolved ORDER BY "Time to resolution" ASC + = + true + + + false + issuesPerPage + 50 + = + true + + + false + orderBy + + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/issuelist/updated + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/plain, */* + + + + + + + + + + false + projectStateHash + -172134395 + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + projectStateHash + -172134395 + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/queues/poll + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency def concurrency = ctx.getThreadGroup().getNumThreads() // Delays between each action in milli-seconds @@ -10854,7 +3279,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_insight_main_page action_time: " + action_time) +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_queues_medium action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -10862,484 +3287,2023 @@ if ( sleep_time > 0 ) { return 0 } - groovy - - - - - - 1 - false - 1 - ${perc_agent_insight_create_schema} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - ${__groovy("${insight}" == "True")} - false - Check if Insight enabled - true - - - - false - true - - - - - - - false - _ - 1648197623438 - = - true - - - - - - - - ${application.postfix}/rest/insight/1.0/objectschema/create/default - GET - true - false - true - false - - - - - + groovy + + + - - false - true - + + 1 + false + 1 + ${perc_agent_view_report_created_vs_resolved_medium} + - - true - - - - false - {"status":"Ok","name":"${__RandomString(5,abcdefg)}","objectSchemaKey":"${__RandomString(5,abcdefg)}","type":"itasset"} - = - - - - - - - - ${application.postfix}/rest/insight/1.0/objectschemaimport/template - POST - false - true - true - false - - - - + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + + + + + ${application.postfix}/projects/${m_prj_key}/reports/custom/${m_created_vs_resolved_id}/timescale/2 + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${m_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + timescaleId + 2 + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/reports/1/servicedesk/${m_prj_key}/report/${m_created_vs_resolved_id} + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + 1 + 0 + 0 + - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - schema_id - $.id - 1 - all - NOT FOUND - true - + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_view_report_created_vs_resolved_medium action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + - - false - true - + + 1 + false + 1 + ${perc_agent_view_report_workload_medium} + - - - - - false - id - ${schema_id} - = - true - - - - - - - - ${application.postfix}/secure/ObjectSchema.jspa - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:jstree","com.atlassian.auiplugin:split_aui.component.restful-table","com.riadalabs.jira.plugins.insight:codemirror","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:jstree","com.atlassian.auiplugin:split_aui.component.restful-table","com.riadalabs.jira.plugins.insight:codemirror","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","com.atlassian.auiplugin:split_aui.splitchunk.vendors--9c8c8c1546","com.atlassian.auiplugin:split_aui.splitchunk.vendors--06bc6ae5d7","com.atlassian.auiplugin:split_aui.splitchunk.vendors--37ccb8d673","com.riadalabs.jira.plugins.insight:rlabs-object-multi-picker","com.riadalabs.jira.plugins.insight:rlabs-insight-general","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + - - - - - false - objectschemaid - ${schema_id} - = - true - - - false - _ - 1648553559435 - = - true - - - - - - - - ${application.postfix}/rest/insight/1.0/global/config/object - GET - true - false - true - false - - - - + + false + true + - - - - Accept - application/json - - - X-Insight-Gadget - false - - - X-Requested-With - XMLHttpRequest - - - X-Atlassian-Token - no-check - - - Content-Type - application/json - - - - + + + + + + + + + ${application.postfix}/projects/${m_prj_key}/reports/workload + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/precondition + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/${m_prj_key}/warnings + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-reports"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${m_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + true + + + + false + {"projectKey":"${m_prj_key}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/${m_prj_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + query + + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/pages/people/agents/${m_prj_key}/search + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + X-AUSERNAME + performance_agent_0_abvsufypvdlqoez + + + + + - - true - - - - false - {"r":[],"c":["com.atlassian.jira.plugins.jira-quicksearch-plugin:5"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:jstree","com.atlassian.auiplugin:split_aui.component.restful-table","com.riadalabs.jira.plugins.insight:codemirror","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","com.atlassian.auiplugin:split_aui.splitchunk.vendors--9c8c8c1546","com.atlassian.auiplugin:split_aui.splitchunk.vendors--06bc6ae5d7","com.atlassian.auiplugin:split_aui.splitchunk.vendors--37ccb8d673","com.riadalabs.jira.plugins.insight:rlabs-object-multi-picker","com.riadalabs.jira.plugins.insight:rlabs-insight-general","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - + + 1 + 0 + 0 + - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + - - - - - false - _ - 1648553559436 - = - true - - + + + + + 1 + false + 1 + ${perc_agent_browse_projects} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + false + selectedCategory + all + = + true + + + false + selectedProjectType + service_desk + = + true + + + + + + + + ${application.postfix}/secure/BrowseProjects.jspa + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_browse_projects action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_view_request} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + + + + + ${application.postfix}/browse/${request_key} + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_request action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_add_comment} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + false + issueKey + ${request_key} + = + true + + + false + limitUsagesToUser + true + = + true + + + false + limit + 5 + = + true + + + false + daysSince + 30 + = + true + + + false + substitute + true + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} + GET + true + false + true + false + + + + + + + + + + false + issueKey + ${request_key} + = + true + + + false + limit + 5 + = + true + + + false + substitute + true + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} + GET + true + false + true + false + + + + + + + + false + true + + + + true + + + + false + {"body":"${g_comment}","properties":[{"key":"sd.public.comment","value":{"internal":true}}]} + = + + + + + + + + ${application.postfix}/rest/api/2/issue/${request_id}/comment + POST + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + groovy + + + true + def generator = { String alphabet, int n -> + new Random().with { + (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() + } +} + +def comment = "JMeter comment - " + generator((('a'..'z') + ' ' * 10).join(), 50); + + +vars.put("g_comment", comment.toString()) + + + + + + + + + true + decorator + none + = + true + + + true + issueKey + ${request_key} + = + true + + + true + shouldUpdateCurrentProject + true + = + true + + + true + issue + summary:2af6db370a27a7174ec5cc130b175675 + = + true + + + true + panels + com.atlassian.jira.jira-view-issue-plugin:details-module:f1c1c1a9537dd1b7ff56d49e86b12fcf,com.atlassian.jira.jira-view-issue-plugin:descriptionmodule:3b53cb5e6c64ff432caea6cc4c1eec9c,com.atlassian.jira.plugins.jira-dnd-attachment-plugin:dnd-metadata:4c75a4fa7c03a8a472bdbf16701325da,com.atlassian.jira.jira-view-issue-plugin:attachmentmodule:413cb3dde9c12bf621fa91dc18217a83,com.atlassian.jira.jira-view-issue-plugin:activitymodule:143883405dd1aedf4b588595a4818653,com.atlassian.jira.plugin.system.comment-panel:addcommentmodule:d054e04d4e1dd579b99c3b77578dbbb2,com.atlassian.servicedesk.frontend-webpack-plugin:sla-web-panel:fed80d3c79d9c6aa1c10e5cafb881e09,com.atlassian.jira.jira-view-issue-plugin:peoplemodule:82ea29fd747a593088f1cee985b707b0,com.atlassian.servicedesk.frontend-webpack-plugin:customer-request-details-web-panel:5a7b1c9303fac1355a8086e425ccfbec,com.atlassian.jira.jira-view-issue-plugin:datesmodule:2a6758eb0663dfbc2e6c2dcafa84d975 + = + true + + + true + lastReadTime + 1610383830502 + = + true + + + true + prefetch + false + = + true + + + true + links + comment-issue:ab8f97979b557fb0365b58b1cb37a93c,view-voters:ccc9788623b3ea836e9a3d596e8831a3,toggle-unwatch-issue:bc3f9c03fef7163cede5b25c666884a1,manage-watchers:c23ae6252e1cac145bdf3ba78023656c,issue-to-subtask:342cb7fc1bbf007c99e13506b7bc8577,create-linked-issue:318ddb47cb4348d9b51f53166482340a,move-issue:e5bd6c0a6968cc7f88cebb8dacec959a,link-issue:cd537ade9a8594fbe0c18b1c24000e30,clone-issue:1e3903f4c14fc737c5419a43dc7ca7a0,delete-issue:35e6a42c31aad6b3b11a0b0dbf4eb7e9,jira-share-trigger:0c5d26a364e768fa1ec9608107213ffd,jira.issueviews:issue-xml:5375421ab68ea4125eee01ffc61adf61,jira.issueviews:issue-word:ded7d768c301e2c9d9b0f6476983bc09,jira.issueviews:issue-html:24b86be7f795ad8c0938cc20c29d1b4b + = + true + + + + + + + + ${application.postfix}/secure/AjaxIssueAction!default.jspa + POST + true + false + true + false + + + + + + + + + Accept + */* + + + X-SITEMESH-OFF + true + + + Content-Type + application/x-www-form-urlencoded; charset=UTF-8 + + + + + + + + + + false + issueKey + ${request_key} + = + true + + + false + limitUsagesToUser + true + = + true + + + false + limit + 5 + = + true + + + false + daysSince + 30 + = + true + + + false + substitute + true + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + + + + + + + + false + issueKey + ${request_key} + = + true + + + false + limit + 5 + = + true + + + false + substitute + true + = + true + + + false + _ + ${__time(,)} + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/canned-responses/1/search/${request_project_key} + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_comment action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_view_customers} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + false + true + + + + + + + + + + + ${application.postfix}/projects/${s_prj_key}/customers + GET + true + false + true + false + + + + + + + + + Upgrade-Insecure-Requests + 1 + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + + + + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + true + + + + false + {"id":"com.atlassian.servicedesk.project-ui:sd-project-sidebar-customers"} + = + + + + + + + + ${application.postfix}/rest/projects/1.0/project/${s_prj_key}/lastVisited + PUT + true + false + true + false + + + + + + + + + Accept + */* + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + + + + + ${application.postfix}/rest/servicedesk/1/pages/people/customers/pagination/${s_prj_key} + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + + + + + + + + + false + query + + = + true + + + false + page + 1 + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/pages/people/customers/pagination/${s_prj_key}/search + GET + true + false + true + false + + + + + + + + + Accept + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + X-AUSERNAME + performance_agent_0_abjmievxknktqdz + + + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_view_customers action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + + false + true + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + + + + + app_specific_username + admin + = - - - - - ${application.postfix}/rest/insight/1.0/objectschema/${schema_id} - GET - true - false - true - false - - - - - - - - - Accept - application/json - - - X-Insight-Gadget - false - - - X-Requested-With - XMLHttpRequest - - - X-Atlassian-Token - no-check - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36"},"timeDelta":-499},{"name":"quicksearch.enabled","properties":{},"timeDelta":-259}] - = - - + + app_specific_password + admin + = - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - Accept - */* - - - - - - + + + + + + + + false + os_username + ${app_specific_username} + = + true + + + false + os_password + ${app_specific_password} + = + true + + + false + os_destination + + = + true + + + false + user_role + + = + true + + + false + atl_token + + = + true + + + true + login + Log In + = + true + + + + + + + UTF-8 + ${application.postfix}/login.jsp + POST + true + false + true + false + + + + Detected the start of a redirect chain + + + + + + Accept-Language + en-US,en;q=0.5 + + + Pragma + no-cache + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 + + + Upgrade-Insecure-Requests + 1 + + + Content-Type + application/x-www-form-urlencoded + + + Cache-Control + no-cache + + + Accept-Encoding + gzip, deflate + + + + + + groovy + + + true + vars.put("run_as_specific_user", "true") +prev.setIgnore() + + + + + + + + + + + + ${application.postfix}/rest/api/2/myself + GET + true + false + true + false + + + + + + + groovy + + + true + import groovy.json.JsonSlurper; + +def slurper = new JsonSlurper() +response_data = slurper.parseText(prev.getResponseDataAsString()) + +if (response_data.name != vars.get("app_specific_username")) { + prev.setSuccessful(false) + prev.setResponseMessage("Login Failed: Your app_specific_username: '" + vars.get("app_specific_username") + "' or password is incorrect. Also, check the CAPTCHA for '" + vars.get("app_specific_username") + "' user.") + prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) +} else { + prev.setIgnore() +} + + + + + + + false + true + + + + + + + + + + + ${application.postfix}/app/get_endpoint + GET + true + false + true + false + + + + + + + false + app_id + "id":"(.+?)" + $1$ + NOT FOUND + 1 + + + + false + app_token + "token":"(.+?)" + $1$ + NOT FOUND + 1 + + + + + asserttion string + + + Assertion.response_data + false + 16 + + + + + + + + false + ${app_id} + = + true + id + + + false + ${app_token} + = + true + token + + + + + + + + ${application.postfix}/app/post_endpoint + POST + true + false + true + false + + + + + + + + assertion string + + + Assertion.response_data + false + 16 + + + + + + ${run_as_specific_user} + false + true + + + + + + + false + os_username + ${username} + = + true + + + false + os_password + ${password} + = + true + + + false + os_destination + + = + true + + + false + user_role + + = + true + + + false + atl_token + + = + true + + + true + login + Log In + = + true + + + + + + + UTF-8 + ${application.postfix}/login.jsp + POST + true + false + true + false + + + + Detected the start of a redirect chain + + + + + + Accept-Language + en-US,en;q=0.5 + + + Pragma + no-cache + + + Accept + text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 + + + Upgrade-Insecure-Requests + 1 + + + Content-Type + application/x-www-form-urlencoded + + + Cache-Control + no-cache + + + Accept-Encoding + gzip, deflate + + + + + + groovy + + + true + prev.setIgnore() + + + + + + + + + + + + ${application.postfix}/rest/api/2/myself + GET + true + false + true + false + + + + + + + groovy + + + true + import groovy.json.JsonSlurper; + +def slurper = new JsonSlurper() +response_data = slurper.parseText(prev.getResponseDataAsString()) + +if (response_data.name != vars.get("username")) { + prev.setSuccessful(false) + prev.setResponseMessage("Re-login Failed: username: '" + vars.get("username") + "' failed to login. Check the CAPTCHA for '" + vars.get("username") + "' user.") + prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) +} else { + prev.setIgnore() +} + + + + + + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_standalone_extension action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_insight_main_page} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + ${__groovy("${insight}" == "True")} + false + Check if Insight enabled + true + + + + false + true + + + - + false - objectTypeId - 0 + inAdminMode + false = true false _ - 1648553559438 + 1648197601161 = true @@ -11349,7 +5313,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objectschema/${schema_id}/jstree + ${application.postfix}/rest/api/1.0/menus/rlabs_insight_topmenu_link GET true false @@ -11370,89 +5334,23 @@ if ( sleep_time > 0 ) { X-Requested-With XMLHttpRequest - - - - - false - object_type_id - rlabs_jstree_(.+?)\" - $1$ - NOT FOUND - 1 - - - - - - - - false - _ - 1648553559437 - = - true - - - - - - - - ${application.postfix}/rest/insight/1.0/progress/category/insight-reindex/inprogress - GET - true - false - true - false - - - - - - - - - Accept - application/json - - - X-Insight-Gadget - false - - - X-Requested-With - XMLHttpRequest - - - X-Atlassian-Token - no-check - - - Content-Type - application/json + + X-AUSERNAME + admin - + - - - false - _ - 1648553559439 - = - true - - + - ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/details + ${application.postfix}/secure/ManageObjectSchema.jspa GET true false @@ -11465,37 +5363,31 @@ if ( sleep_time > 0 ) { + + Upgrade-Insecure-Requests + 1 + Accept - application/json - - - X-Insight-Gadget - false - - - X-Requested-With - XMLHttpRequest - - - X-Atlassian-Token - no-check - - - Content-Type - application/json + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + 0.0 + 0 + Recorded time was 0 milliseconds + + - + false _ - 1648553559440 + 1648197623432 = true @@ -11505,7 +5397,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/importsource/ot/${object_type_id}/imports + ${application.postfix}/rest/insight/1.0/objectschema/list GET true false @@ -11542,13 +5434,117 @@ if ( sleep_time > 0 ) { - + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_insight_main_page action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_insight_create_schema} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + ${__groovy("${insight}" == "True")} + false + Check if Insight enabled + true + + + + false + true + + + + + + + false + _ + 1648197623438 + = + true + + + + + + + + ${application.postfix}/rest/insight/1.0/objectschema/create/default + GET + true + false + true + false + + + + + + + + false + true + + + true false - [{"name":"insight.object.schema.detail.view.event","properties":{},"timeDelta":-5001}] + {"status":"Ok","name":"${__RandomString(5,abcdefg)}","objectSchemaKey":"${__RandomString(5,abcdefg)}","type":"itasset"} = @@ -11557,10 +5553,10 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/insight/1.0/objectschemaimport/template POST - true - false + false + true true false @@ -11570,32 +5566,44 @@ if ( sleep_time > 0 ) { - - Content-Type - application/json - Accept - */* + application/json, text/javascript, */*; q=0.01 + + + X-Requested-With + XMLHttpRequest + + + Content-Type + application/json + + schema_id + $.id + 1 + all + NOT FOUND + true + + - + + + false + true + + + - - false - excludeAbstract - true - = - true - - + false - _ - 1648553559442 + id + ${schema_id} = true @@ -11605,7 +5613,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objectschema/${schema_id}/objecttypes + ${application.postfix}/secure/ObjectSchema.jspa GET true false @@ -11618,29 +5626,38 @@ if ( sleep_time > 0 ) { + + Upgrade-Insecure-Requests + 1 + Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json; charset=utf-8 + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + 0.0 + 0 + Recorded time was 0 milliseconds + + - + + + false + objectschemaid + ${schema_id} + = + true + false _ - 1648553559443 + 1648553559435 = true @@ -11650,7 +5667,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/global/config/objectschema/${schema_id}/property + ${application.postfix}/rest/insight/1.0/global/config/object GET true false @@ -11665,34 +5682,35 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + application/json + + + X-Insight-Gadget + false X-Requested-With XMLHttpRequest + + X-Atlassian-Token + no-check + Content-Type - application/json; charset=utf-8 + application/json - + - - false - onlyValueEditable - true - = - true - false _ - 1648553559444 + 1648553559436 = true @@ -11702,7 +5720,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/attributes + ${application.postfix}/rest/insight/1.0/objectschema/${schema_id} GET true false @@ -11717,37 +5735,44 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + application/json + + + X-Insight-Gadget + false X-Requested-With XMLHttpRequest + + X-Atlassian-Token + no-check + Content-Type - application/json; charset=utf-8 + application/json - - false - attribute_id - id\":(.+?)\," - $1$ - NOT FOUND - 1 - - - - true - + + - + false - {"objectTypeId": ${object_type_id} ,"attributes": [{"objectTypeAttributeId": ${attribute_id},"objectAttributeValues": [{"value": "Hello"}]}]} + objectTypeId + 0 + = + true + + + false + _ + 1648553559438 = + true @@ -11755,8 +5780,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/object/create - POST + ${application.postfix}/rest/insight/1.0/objectschema/${schema_id}/jstree + GET true false true @@ -11776,26 +5801,28 @@ if ( sleep_time > 0 ) { X-Requested-With XMLHttpRequest - - X-Atlassian-Token - no-check - - - Content-Type - application/json - + + false + object_type_id + rlabs_jstree_(.+?)\" + $1$ + NOT FOUND + 1 + + - - true - + + - + false - {"objectTypeId":"${object_type_id}","filters":[],"attributesToDisplay":{"attributesToDisplayIds":[]},"page":1,"asc":1,"resultsPerPage":25,"includeAttributes":false,"objectSchemaId":"${schema_id}"} + _ + 1648553559437 = + true @@ -11803,8 +5830,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/object/navlist - POST + ${application.postfix}/rest/insight/1.0/progress/category/insight-reindex/inprogress + GET true false true @@ -11818,7 +5845,11 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + application/json + + + X-Insight-Gadget + false X-Requested-With @@ -11836,13 +5867,13 @@ if ( sleep_time > 0 ) { - + false _ - 1648553559445 + 1648553559439 = true @@ -11889,20 +5920,13 @@ if ( sleep_time > 0 ) { - + - - false - includeChildren - false - = - true - false _ - 1648553559446 + 1648553559440 = true @@ -11912,7 +5936,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/attributes + ${application.postfix}/rest/insight/1.0/importsource/ot/${object_type_id}/imports GET true false @@ -11927,69 +5951,44 @@ if ( sleep_time > 0 ) { Accept - */* + application/json + + + X-Insight-Gadget + false X-Requested-With XMLHttpRequest - - - - - - - false - true - - - - - - - - - - - ${application.postfix}/secure/ManageObjectSchema.jspa - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 + + X-Atlassian-Token + no-check - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + Content-Type + application/json - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - true - + + - + + false + excludeAbstract + true + = + true + + false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.general","jira.global","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} + _ + 1648553559442 = + true @@ -11997,8 +5996,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/insight/1.0/objectschema/${schema_id}/objecttypes + GET true false true @@ -12020,20 +6019,21 @@ if ( sleep_time > 0 ) { Content-Type - application/json + application/json; charset=utf-8 - - true - + + - + false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.webresources:mentions-feature"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} + _ + 1648553559443 = + true @@ -12041,8 +6041,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/insight/1.0/global/config/objectschema/${schema_id}/property + GET true false true @@ -12064,19 +6064,26 @@ if ( sleep_time > 0 ) { Content-Type - application/json + application/json; charset=utf-8 - + + + false + onlyValueEditable + true + = + true + false _ - 1648201234009 + 1648553559444 = true @@ -12086,7 +6093,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/global/config + ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/attributes GET true false @@ -12101,35 +6108,36 @@ if ( sleep_time > 0 ) { Accept - application/json - - - X-Insight-Gadget - false + application/json, text/javascript, */*; q=0.01 X-Requested-With XMLHttpRequest - - X-Atlassian-Token - no-check - Content-Type - application/json + application/json; charset=utf-8 + + false + attribute_id + id\":(.+?)\," + $1$ + NOT FOUND + 1 + + - + true false - {"r":[],"c":["com.atlassian.jira.plugins.jira-quicksearch-plugin:5"],"xc":["_super","atl.general","jira.global","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:calendar-lib","com.atlassian.auiplugin:split_aui.component.dialog2","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.component.form.single-select","com.atlassian.auiplugin:split_aui.component.progressbar","com.atlassian.auiplugin:split_aui.pattern.multi-step-progress","com.atlassian.auiplugin:split_aui.component.expander","com.riadalabs.jira.plugins.insight:colorpicker","com.riadalabs.jira.plugins.insight:ckeditor","com.riadalabs.jira.plugins.insight:rlabs-libs","com.riadalabs.jira.plugins.insight:rlabs-commons","com.riadalabs.jira.plugins.insight:rlabs-objectschema-manage","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar","com.atlassian.auiplugin:split_aui.splitchunk.4331a05956","com.riadalabs.jira.plugins.insight:mentional","com.riadalabs.jira.plugins.insight:rlabs-modes","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} + {"objectTypeId": ${object_type_id} ,"attributes": [{"objectTypeAttributeId": ${attribute_id},"objectAttributeValues": [{"value": "Hello"}]}]} = @@ -12138,7 +6146,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources + ${application.postfix}/rest/insight/1.0/object/create POST true false @@ -12159,6 +6167,10 @@ if ( sleep_time > 0 ) { X-Requested-With XMLHttpRequest + + X-Atlassian-Token + no-check + Content-Type application/json @@ -12167,15 +6179,14 @@ if ( sleep_time > 0 ) { - - + + true + - + false - _ - 1648201234011 + {"objectTypeId":"${object_type_id}","filters":[],"attributesToDisplay":{"attributesToDisplayIds":[]},"page":1,"asc":1,"resultsPerPage":25,"includeAttributes":false,"objectSchemaId":"${schema_id}"} = - true @@ -12183,8 +6194,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/insight/1.0/objectschema/list - GET + ${application.postfix}/rest/insight/1.0/object/navlist + POST true false true @@ -12198,11 +6209,7 @@ if ( sleep_time > 0 ) { Accept - application/json - - - X-Insight-Gadget - false + application/json, text/javascript, */*; q=0.01 X-Requested-With @@ -12220,14 +6227,15 @@ if ( sleep_time > 0 ) { - - true - + + - + false - [{"name":"atst.healthcheck.sensors.page-protocols","properties":{"resourceProtocols":"http/1.1","navigationProtocol":"http/1.1","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.83 Safari/537.36"},"timeDelta":-499},{"name":"quicksearch.enabled","properties":{},"timeDelta":-450},{"name":"insight.manage.object.schema.view.event","properties":{},"timeDelta":-129}] + _ + 1648553559445 = + true @@ -12235,8 +6243,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST + ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/details + GET true false true @@ -12248,180 +6256,85 @@ if ( sleep_time > 0 ) { - - Content-Type - application/json - Accept - */* + application/json - - - - - - true - - - - false - [{"name":"jira.navigation.header.undefined.item.click","properties":{},"timeDelta":-1426}] - = + + X-Insight-Gadget + false + + + X-Requested-With + XMLHttpRequest + + + X-Atlassian-Token + no-check - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - Content-Type application/json - - Accept - */* - - + - + + + false + includeChildren + false + = + true + + + false + _ + 1648553559446 + = + true + + - ${application.postfix}/rest/insight/1.0/objectschema/${schema_id} - DELETE + ${application.postfix}/rest/insight/1.0/objecttype/${object_type_id}/attributes + GET true false true false - 1000 + Accept - application/json, text/javascript, */*; q=0.01 + */* X-Requested-With XMLHttpRequest - - X-Atlassian-Token - no-check - - - Content-Type - application/json; charset=utf-8 - - - - We are saving around 9s for this action for do not wait till it finished - - Assertion.response_data - true - 16 - - - - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_insight_create_schema action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_agent_insight_view_queue_insight_column} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - ${__groovy("${insight}" == "True")} - false - Check if Insight enabled - true - - - + false true - + @@ -12429,7 +6342,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_prj_all_open_queue_id} + ${application.postfix}/secure/ManageObjectSchema.jspa GET true false @@ -12460,14 +6373,15 @@ if ( sleep_time > 0 ) { - - true - + + - + false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} + _ + 1648201234009 = + true @@ -12475,8 +6389,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/insight/1.0/global/config + GET true false true @@ -12490,12 +6404,20 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + application/json + + + X-Insight-Gadget + false X-Requested-With XMLHttpRequest + + X-Atlassian-Token + no-check + Content-Type application/json @@ -12504,14 +6426,15 @@ if ( sleep_time > 0 ) { - - true - + + - + false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment"]} + _ + 1648201234011 = + true @@ -12519,8 +6442,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/insight/1.0/objectschema/list + GET true false true @@ -12534,12 +6457,20 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + application/json + + + X-Insight-Gadget + false X-Requested-With XMLHttpRequest + + X-Atlassian-Token + no-check + Content-Type application/json @@ -12548,30 +6479,23 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":["jira.rich.editor.api","jira.rich.editor","jira.project.sidebar","jira.project.sidebar.service_desk","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - + + + - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/rest/insight/1.0/objectschema/${schema_id} + DELETE true false true false - + 1000 @@ -12584,31 +6508,108 @@ if ( sleep_time > 0 ) { X-Requested-With XMLHttpRequest - + + X-Atlassian-Token + no-check + + Content-Type - application/json + application/json; charset=utf-8 + + + We are saving around 9s for this action for do not wait till it finished + + Assertion.response_data + true + 16 + + - - true - - - - false - {"r":[],"c":["sd.incident.management.counter"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - + + + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_agents").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + "concurrency," + "total_actions_per_hour: " + vars.get("total_actions_per_hour_agents") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_agent_insight_create_schema action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_agent_insight_view_queue_insight_column} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + ${__groovy("${insight}" == "True")} + false + Check if Insight enabled + true + + + + false + true + + + + + - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/projects/${s_prj_key}/queues/custom/${s_prj_all_open_queue_id} + GET true false true @@ -12620,21 +6621,23 @@ if ( sleep_time > 0 ) { + + Upgrade-Insecure-Requests + 1 + Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + 0.0 + 0 + Recorded time was 0 milliseconds + + true @@ -12813,94 +6816,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":[],"c":["jira.view.issue","jira.view.issue.deferred"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:46"],"xc":["_super","jira.project.sidebar","sd.project.view","jira.view.issue","atl.general","jira.global","com.atlassian.jira.projects.sidebar.init","atl.global","jira.global.look-and-feel","browser-metrics-plugin.contrib","sd.project.sidebar.content","jira.rich.editor.api","jira.rich.editor","com.atlassian.servicedesk.frontend-webpack-plugin:47"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","com.atlassian.plugins.atlassian-chaperone:hotspot-tour","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.jira.plugins.jira-editor-plugin:tinymce","com.atlassian.plugin.jslibs:underscore-1.8.3","com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.opsgenie.co~a9eeae7c","com.atlassian.servicedesk.frontend-webpack-plugin:split_linked-incidents-panel~sd.incident.management.counter~sd.itsm.opsgenie.config","com.atlassian.servicedesk.frontend-webpack-plugin:split_sd.incident.management.counter"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -13004,139 +6919,39 @@ if ( sleep_time > 0 ) { 0 0 - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - ${__groovy("${insight}" == "True")} - false - Check if Insight enabled - true - - - - false - true - - - - - - - - - - - ${application.postfix}/browse/${insight_issue_key} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - rowForcustomfield - - There is no insight custom field present - Assertion.response_data - false - 2 - - - - - true - - - - false - {"r":[],"c":["jira.webresources:mentions-feature"],"xc":["_super","project.issue.navigator","jira.view.issue","jira.global","atl.general","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","project.issue.navigator","jira.view.issue","jira.global","atl.general","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component"]} - = - - + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + ${__groovy("${insight}" == "True")} + false + Check if Insight enabled + true + + + + false + true + + + + + - ${application.postfix}/rest/webResources/1.0/resources - POST + ${application.postfix}/browse/${insight_issue_key} + GET true false true @@ -13148,21 +6963,33 @@ if ( sleep_time > 0 ) { + + Upgrade-Insecure-Requests + 1 + Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 + + 0.0 + 0 + Recorded time was 0 milliseconds + + + + + rowForcustomfield + + There is no insight custom field present + Assertion.response_data + false + 2 + + @@ -13274,50 +7101,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","insight-core-object-navigator-app","jira.global","atl.general","jira.general"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -13347,50 +7130,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":["com.atlassian.jira.jira-header-plugin:newsletter-signup-tip"],"c":[],"xc":["_super","insight-core-object-navigator-app","jira.global","atl.general","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -13538,46 +7277,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - [{"name":"jira.navigation.header.undefined.item.click","properties":{},"timeDelta":-12065}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - Accept - */* - - - - - @@ -13607,90 +7306,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":[],"c":["com.atlassian.jira.plugins.jira-quicksearch-plugin:5"],"xc":["_super","insight-core-object-navigator-app","jira.global","atl.general","jira.general","browser-metrics-plugin.contrib","atl.global","jira.global.look-and-feel"],"xr":["com.atlassian.jira.jira-tzdetect-plugin:tzdetect-banner-component","jira.webresources:autocomplete","jira.webresources:groupbrowser","jira.webresources:group-pickers","com.atlassian.jira.jira-tzdetect-plugin:tzdetect-lib","jira.webresources:group-label-lozenge","jira.webresources:jira-project-issuetype-fields","jira.webresources:jira-fields","jira.webresources:calendar-en","jira.webresources:calendar-localisation-moment","jira.webresources:bigpipe-js","jira.webresources:bigpipe-init","com.atlassian.jira.jira-header-plugin:newsletter-signup-tip","com.atlassian.plugin.jslibs:underscore-1.8.3"]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"quicksearch.enabled","properties":{},"timeDelta":-4911}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - Accept - */* - - - - - diff --git a/app/jmeter/jsm_customers.jmx b/app/jmeter/jsm_customers.jmx index e0b813abb..1fec380d8 100644 --- a/app/jmeter/jsm_customers.jmx +++ b/app/jmeter/jsm_customers.jmx @@ -1,5 +1,5 @@ - + This test plan was created by the BlazeMeter converter v.3.1.23. Please contact support@blazemeter.com for further support. @@ -272,20 +272,6 @@ import org.apache.commons.io.FileUtils; = true - - true - os_captcha - - = - true - - - true - os_cookie - true - = - true - @@ -360,50 +346,6 @@ import org.apache.commons.io.FileUtils; - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-help-center-portal-page"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - true @@ -448,50 +390,6 @@ import org.apache.commons.io.FileUtils; - - true - - - - false - [{"name":"servicedesk.page.view.customerview.login","properties":{"sdVersion":"4.13.0"},"timeDelta":-1792},{"name":"servicedesk.page.view.customerview.session","properties":{"count":1,"path":"cv.login","sdVersion":"4.13.0"},"timeDelta":-741},{"name":"servicedesk.smartportal.title.announcement.view.none","properties":{"sdVersion":"4.13.0"},"timeDelta":-175},{"name":"servicedesk.customerview.smartportal.viewed","properties":{"sdVersion":"4.13.0"},"timeDelta":-132},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"647","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.cv.shared.portal","navigationType":"0","readyForUser":"1655","redirectCount":"0","resourceLoadedEnd":"289","resourceLoadedStart":245.64000000827946,"threshold":"1000","unloadEventStart":"202","unloadEventEnd":"203","fetchStart":"23","domainLookupStart":"23","domainLookupEnd":"23","connectStart":"23","connectEnd":"23","requestStart":"44","responseStart":"187","responseEnd":"313","domLoading":"206","domInteractive":"588","domContentLoadedEventStart":"588","domContentLoadedEventEnd":"595","domComplete":"1310","loadEventStart":"1310","loadEventEnd":"1316","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","effectiveType":"4g","downlink":1.5,"rtt":100,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,6t,6t,,,6t,,6t,6t,6t\",\"2,6u,81,7s,7r,6u,,6u,6u,6u\",\"3,fm,i4,g3,g1,fm,,fm,fm,fm\",\"3,fn,hk,gp,gn,fn,,fn,fn,fn\",\"4,gr,gr,,,gr,,gr,gr,gr\",\"5,nt,s3,rx,o9,nt,,nt,nt,nt\",\"3,zg,zw,zq,zo,zg,,zg,zg,zg\",\"5,10c,158,155,11j,10c,,10c,10c,10c\"]}","mark.@grammarly-extension:checkScriptInitStart":"[1114]","mark.@grammarly-extension:checkScriptInitEnd":"[1122]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[1114],\"@grammarly-extension:checkScriptInitEnd\":[1122]},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":1.5,"connectionRTT":100},"timeDelta":-101}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - ${__jexl3(!${JMeterThread.last_sample_ok},)} @@ -640,94 +538,6 @@ vars.put("portal_request_filter", "*${first}*${second}*") - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.page.view.customerview.session","properties":{"count":1,"path":"cv.shared.portal","sdVersion":"4.13.0"},"timeDelta":-621},{"name":"servicedesk.page.view.portal.global.title.announcement.view.none","properties":{"sdVersion":"4.13.0"},"timeDelta":-84},{"name":"servicedesk.page.view.customerview","properties":{"sdVersion":"4.13.0","projectId":10147},"timeDelta":-48},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"876","isInitial":"true","journeyId":"9ed6aa46-413a-43fb-820a-75dfcc2ed337","key":"servicedesk.cv.portal.landing","navigationType":"0","readyForUser":"1802","redirectCount":"0","resourceLoadedEnd":"634","resourceLoadedStart":441.19499999214895,"threshold":"1000","unloadEventStart":"395","unloadEventEnd":"396","fetchStart":"8","domainLookupStart":"57","domainLookupEnd":"57","connectStart":"57","connectEnd":"243","requestStart":"243","responseStart":"378","responseEnd":"437","domLoading":"401","domInteractive":"903","domContentLoadedEventStart":"903","domContentLoadedEventEnd":"914","domComplete":"1513","loadEventStart":"1513","loadEventEnd":"1517","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36","effectiveType":"4g","downlink":1.5,"rtt":100,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"☠\":[\"2,c9,c9,,,c9,,c9,c9,c9\",\"2,c9,hm,gt,d8,c9,,c9,c9,c9\",\"3,m9,p3,n5,n4,m9,,m9,m9,m9\",\"3,ma,yg,r9,nl,ma,,ma,ma,ma\",\"4,n9,n9,,,n9,,n9,n9,n9\",\"5,v1,yv,yp,v4,v1,,v1,v1,v1\",\"3,113,155,14x,11c,113,,113,113,113\",\"5,160,1al,1ai,16x,160,,160,160,160\"]}","mark.@grammarly-extension:checkScriptInitStart":"[1311]","mark.@grammarly-extension:checkScriptInitEnd":"[1326]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[1311],\"@grammarly-extension:checkScriptInitEnd\":[1326]},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":1.5,"connectionRTT":100},"timeDelta":-29}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - 1 @@ -791,13 +601,13 @@ if ( sleep_time > 0 ) { true - + true false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:17"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib"],"xr":[]} + {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"portalId":${s_service_desk_id},"allReqFilter":{"reporter":"","status":"open","portalId":"","requestTypeId":"","filter":"","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} = @@ -806,7 +616,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources + ${application.postfix}/rest/servicedesk/1/customer/models POST true false @@ -821,9 +631,9 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + */* - + Content-Type application/json @@ -831,13 +641,19 @@ if ( sleep_time > 0 ) { - + + + false + true + + + true false - {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"portalId":${s_service_desk_id},"allReqFilter":{"reporter":"","status":"open","portalId":"","requestTypeId":"","filter":"","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} + {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"portalId":${s_service_desk_id},"allReqFilter":{"reporter":"all","status":"open","portalId":"","requestTypeId":"","filter":"","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} = @@ -871,13 +687,19 @@ if ( sleep_time > 0 ) { - + + + false + true + + + true false - [{"name":"servicedesk.page.view.requests.global.title.announcement.view.none","properties":{"sdVersion":"4.13.0","projectId":10001},"timeDelta":-688},{"name":"servicedesk.page.view.customerview.allrequests","properties":{"sdVersion":"4.13.0","projectId":10001},"timeDelta":-672},{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"265","isInitial":"true","journeyId":"ba5f75b5-0e2e-4e06-bc45-ddd1c9a03cc2","key":"servicedesk.cv.all.requests","navigationType":"0","readyForUser":"52132","redirectCount":"0","resourceLoadedEnd":"262","resourceLoadedStart":200.1600000075996,"threshold":"1000","fetchStart":"11","domainLookupStart":"11","domainLookupEnd":"11","connectStart":"11","connectEnd":"11","requestStart":"18","responseStart":"180","responseEnd":"231","domLoading":"189","domInteractive":"265","domContentLoadedEventStart":"265","domContentLoadedEventEnd":"265","domComplete":"480","loadEventStart":"480","loadEventEnd":"482","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","effectiveType":"4g","downlink":2.25,"rtt":100,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"˜ \":[\"2,5k,5s,5n,5m,5k,,5k,5k,5k\",\"2,5k,5r,5n,5m,5k,,5k,5k,5k\",\"3,6y,7g,71,70,6y,,6y,6y,6y\",\"3,6y,7a,74,71,6y,,6y,6y,6y\",\"4,7c,7c,,,7c,,7c,7c,7c\",\"5,89,cd,cc,8a,89,,89,89,89\",\"3,d7,d9,d8,d8,d7,,d7,d7,d7\",\"5,dd,hg,hg,de,dd,,dd,dd,dd\",\"5,o1,s5,s5,o6,o1,,o1,o1,o1\",\"5,13f8,13jo,13jm,13fk,13f8,,13f8,13f8,13f8\",\"2,13js,13nx,13nw,13jw,13js,,13js,13js,13js\",\"3,13jt,13xq,13pw,13jy,13jt,,13jt,13jt,13jt\",\"5,13y0,1479,1478,13y2,13y0,,13y0,13y0,13y0\"]}","mark.@grammarly-extension:checkScriptInitStart":"[402]","mark.@grammarly-extension:checkScriptInitEnd":"[409]","mark.@grammarly-extension:callExecuteContentScript":"[41420]","mark.@grammarly-extension:initStart":"[41718]","mark.@grammarly-extension:initEnd":"[41735]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[402],\"@grammarly-extension:checkScriptInitEnd\":[409],\"@grammarly-extension:callExecuteContentScript\":[41420],\"@grammarly-extension:initStart\":[41718],\"@grammarly-extension:initEnd\":[41735]},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":2.25,"connectionRTT":100},"timeDelta":-655}] + {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"allReqFilter":{"reporter":"all","status":"open","portalId":"","requestTypeId":"","filter":"${portal_request_filter}","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} = @@ -886,7 +708,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/servicedesk/1/customer/models POST true false @@ -901,29 +723,86 @@ if ( sleep_time > 0 ) { Accept - application/json, text/javascript, */*; q=0.01 + */* Content-Type - application/json; + application/json - + + 1 + 0 + 0 + + + + true + + + // concurrency +def concurrency = ctx.getThreadGroup().getNumThreads() + +// Delays between each action in milli-seconds +def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_customers").toDouble() / concurrency.toDouble()) + +//Sets the pacing length based on the last requests response time. x is the time in ms +def start_time = Long.valueOf(vars.get("loop_start_time")) +def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int +def action_time = delay_between_transactions - sleep_time as int + +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_view_requests action_time: " + action_time) + +if ( sleep_time > 0 ) { + return sleep_time +} else { + return 0 +} + + groovy + + + + + + 1 + false + 1 + ${perc_customer_view_request} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + false true - + true false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:17"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib"],"xr":[]} + {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${request_portal_id}","portal":{"id":"${request_portal_id}"},"reqDetails":{"key":"${request_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} = @@ -932,7 +811,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/webResources/1.0/resources + ${application.postfix}/rest/servicedesk/1/customer/models POST true false @@ -941,139 +820,14 @@ if ( sleep_time > 0 ) { + Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - - - - - true - - - - false - {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"portalId":${s_service_desk_id},"allReqFilter":{"reporter":"all","status":"open","portalId":"","requestTypeId":"","filter":"","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/customer/models - POST - true - false - true - false - - - - - - - - - Accept - */* - - - Content-Type - application/json - - - - - - - - false - true - - - - true - - - - false - {"models":["user","organisations","sharedPortal","helpCenterBranding","announcement","allReqFilter","portalWebFragments","organisations"],"options":{"allReqFilter":{"reporter":"all","status":"open","portalId":"","requestTypeId":"","filter":"${portal_request_filter}","selectedPage":1},"portalWebFragments":{"portalPage":"MY_REQUESTS"}}} - = - - - - - - - - ${application.postfix}/rest/servicedesk/1/customer/models - POST - true - false - true - false - - - - - - - - - Accept - */* - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.customerview.requests.search.filter.changed","properties":{"sdVersion":"4.13.0"},"timeDelta":-2987},{"name":"servicedesk.page.view.requests.global.title.announcement.view.none","properties":{"sdVersion":"4.13.0"},"timeDelta":-2781},{"name":"servicedesk.page.view.customerview.allrequests","properties":{"sdVersion":"4.13.0"},"timeDelta":-2768},{"name":"browser.metrics.navigation","properties":{"apdex":"1","isInitial":"false","journeyId":"eff25cfb-167f-44d9-95b6-07adc3ac84cf","key":"servicedesk.cv.all.requests","readyForUser":"221","threshold":"1000","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","effectiveType":"4g","downlink":7.7,"rtt":100,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"˜ \":[\"5,3,55,54,g,3,,3,3,3\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":7.7,"connectionRTT":100},"timeDelta":-2747}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 + */* Content-Type @@ -1105,7 +859,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_view_requests action_time: " + action_time) +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_view_request action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -1118,11 +872,11 @@ if ( sleep_time > 0 ) { - + 1 false 1 - ${perc_customer_view_request} + ${perc_customer_add_comment} @@ -1141,18 +895,18 @@ if ( sleep_time > 0 ) { - + false true - + true false - {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${request_portal_id}","portal":{"id":"${request_portal_id}"},"reqDetails":{"key":"${request_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} + {"fileIds":[],"comment":"${p_comment}","issueId":"${request_id}"} = @@ -1161,7 +915,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/servicedesk/1/customer/models + ${application.postfix}/rest/servicedesk/1/servicedesk/customer/comment POST true false @@ -1170,7 +924,6 @@ if ( sleep_time > 0 ) { - @@ -1186,45 +939,23 @@ if ( sleep_time > 0 ) { - - - true - - - - false - [{"name":"servicedesk.customerview.issue.opened","properties":{"isIncident":false,"issueId":10200,"archived":false,"sdVersion":"4.13.0","projectId":10015},"timeDelta":-1821},{"name":"servicedesk.page.view.customerview.requestDetails","properties":{"sdVersion":"4.13.0","projectId":10015},"timeDelta":-1811},{"name":"browser.metrics.navigation","properties":{"apdex":"1","isInitial":"false","journeyId":"eff25cfb-167f-44d9-95b6-07adc3ac84cf","key":"servicedesk.cv.request.details","readyForUser":"220","threshold":"1000","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36","effectiveType":"4g","downlink":10,"rtt":50,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"˜ \":[\"5,d,59,58,h,d,,d,d,d\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":50},"timeDelta":-1802}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - + + groovy + + + true + def generator = { String alphabet, int n -> + new Random().with { + (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() + } +} + +def comment = "Comment - " + generator((('a'..'z') + ' ' * 10).join(), 50); + +// request +vars.put("p_comment", comment.toString()) + + @@ -1249,7 +980,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_view_request action_time: " + action_time) +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_add_comment action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -1262,11 +993,11 @@ if ( sleep_time > 0 ) { - + 1 false 1 - ${perc_customer_add_comment} + ${perc_customer_share_request_with_customer} @@ -1285,18 +1016,66 @@ if ( sleep_time > 0 ) { - + false true - + + + + + false + q + performance_c + = + true + + + + + + + + ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/search + GET + true + false + true + false + + + + + + + customer_id_share_with + $..id + 0 + NOT_FOUND + + + + customer_key_share_with + $.[?(@.id == '${customer_id_share_with}')].userKey + 0 + NOT_FOUND + + + + + + false + true + + + true false - {"fileIds":[],"comment":"${p_comment}","issueId":"${request_id}"} + {"usernames":["${customer_id_share_with}"],"organisationIds":[],"emails":[]} = @@ -1305,8 +1084,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/servicedesk/1/servicedesk/customer/comment - POST + ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/share + PUT true false true @@ -1329,32 +1108,60 @@ if ( sleep_time > 0 ) { - - groovy - - - true - def generator = { String alphabet, int n -> - new Random().with { - (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() - } -} - -def comment = "Comment - " + generator((('a'..'z') + ' ' * 10).join(), 50); - -// request -vars.put("p_comment", comment.toString()) - - + + + + false + true + + + + true + + + + false + {"userKey":"${customer_key_share_with}"} + = + + + + + + + + ${application.postfix}/rest/servicedesk/1/servicedesk/customer/participant/removeParticipant/${request_key} + POST + true + false + true + false + + + + + + + + + Accept + */* + + + Content-Type + application/json + + + - + true false - [{"name":"servicedesk.page.view.customerview.comment","properties":{"sdVersion":"4.13.0","projectId":10011},"timeDelta":-203}] + {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${request_portal_id}","portal":{"id":"${request_portal_id}"},"reqDetails":{"key":"${request_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} = @@ -1363,7 +1170,7 @@ vars.put("p_comment", comment.toString()) - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/servicedesk/1/customer/models POST true false @@ -1378,7 +1185,7 @@ vars.put("p_comment", comment.toString()) Accept - application/json, text/javascript, */*; q=0.01 + */* Content-Type @@ -1410,7 +1217,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_add_comment action_time: " + action_time) +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_share_request_with_customer action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -1423,11 +1230,11 @@ if ( sleep_time > 0 ) { - + 1 false 1 - ${perc_customer_share_request_with_customer} + ${perc_customer_share_request_with_org} @@ -1446,18 +1253,18 @@ if ( sleep_time > 0 ) { - + false true - + false q - performance_c + perf_org = true @@ -1478,70 +1285,27 @@ if ( sleep_time > 0 ) { - - customer_id_share_with + + org_id_share_with $..id 0 NOT_FOUND - - customer_key_share_with - $.[?(@.id == '${customer_id_share_with}')].userKey - 0 - NOT_FOUND - - - - - true - - - - false - [{"name":"servicedesk.page.view.customerview.participants.add.opened","properties":{"sdVersion":"4.13.0","projectId":10008},"timeDelta":-4937}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - - - + false true - + true false - {"usernames":["${customer_id_share_with}"],"organisationIds":[],"emails":[]} + {"usernames":[],"organisationIds":["${org_id_share_with}"],"emails":[]} = @@ -1576,18 +1340,18 @@ if ( sleep_time > 0 ) { - + false true - + true false - {"userKey":"${customer_key_share_with}"} + {"organisationId":${org_id_share_with}} = @@ -1596,8 +1360,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/servicedesk/1/servicedesk/customer/participant/removeParticipant/${request_key} - POST + ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/removeOrganisation + PUT true false true @@ -1621,7 +1385,7 @@ if ( sleep_time > 0 ) { - + true @@ -1683,7 +1447,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_share_request_with_customer action_time: " + action_time) +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_share_request_with_org action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -1696,11 +1460,11 @@ if ( sleep_time > 0 ) { - + 1 false 1 - ${perc_customer_share_request_with_org} + ${perc_customer_create_request} @@ -1719,53 +1483,18 @@ if ( sleep_time > 0 ) { - + false true - - - - - false - q - perf_org - = - true - - - - - - - - ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/search - GET - true - false - true - false - - - - - - - org_id_share_with - $..id - 0 - NOT_FOUND - - - - + true false - [{"name":"servicedesk.page.view.customerview.participants.add.opened","properties":{"sdVersion":"4.13.0","projectId":10008},"timeDelta":-4937}] + {"models":["user","organisations","sharedPortal","portal","helpCenterBranding","reqCreate","portalWebFragments"],"options":{"portalId":"${rt_service_desk_id}","portal":{"id":"${rt_service_desk_id}"},"reqCreate":{"id":"${rt_id}"},"portalWebFragments":{"portalPage":"CREATE_REQUEST"}}} = @@ -1774,7 +1503,7 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/analytics/1.0/publish/bulk + ${application.postfix}/rest/servicedesk/1/customer/models POST true false @@ -1787,6 +1516,10 @@ if ( sleep_time > 0 ) { + + Accept + */* + Content-Type application/json @@ -1796,19 +1529,48 @@ if ( sleep_time > 0 ) { - + false true - - true - + + - - false - {"usernames":[],"organisationIds":["${org_id_share_with}"],"emails":[]} + + true + sd-kb-article-viewed + false + = + true + + + true + summary + ${p_summary} + = + true + + + true + description + ${p_description} + = + true + + + true + pid + ${rt_project_id} + = + true + + + true + projectId + ${rt_project_id} = + true @@ -1816,8 +1578,8 @@ if ( sleep_time > 0 ) { - ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/share - PUT + ${application.postfix}/servicedesk/customer/portal/${rt_service_desk_id}/create/${rt_id} + POST true false true @@ -1835,35 +1597,69 @@ if ( sleep_time > 0 ) { Content-Type - application/json + application/x-www-form-urlencoded + + + X-Atlassian-Token + no-check - - - - false - true - - - - true - - - - false - {"organisationId":${org_id_share_with}} - = - - - - + + issue_key + $.issue.key + 1 + NOT_FOUND + + + + groovy + + + true + def generator = { String alphabet, int n -> + new Random().with { + (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() + } +} + +def comment = "Description - " + generator((('a'..'z') + ' ' * 10).join(), 50); + +// request +vars.put("p_description", comment.toString()) + + + + + groovy + + + true + def generator = { String alphabet, int n -> + new Random().with { + (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() + } +} + +def comment = "Summary - " + generator((('a'..'z') + ' ' * 10).join(), 10); + +// request +vars.put("p_summary", comment.toString()) + + + + + + + + + - ${application.postfix}/rest/servicedesk/1/customer/participants/${request_key}/removeOrganisation - PUT + ${application.postfix}/rest/servicedesk/project-ui/noeyeball/1/welcome-guide/item-completer/completeItem/create-request + POST true false true @@ -1879,21 +1675,23 @@ if ( sleep_time > 0 ) { Accept */* - - Content-Type - application/json - - + + + false + true + + + true false - {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${request_portal_id}","portal":{"id":"${request_portal_id}"},"reqDetails":{"key":"${request_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} + {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${rt_service_desk_id}","portal":{"id":"${rt_service_desk_id}"},"reqDetails":{"key":"${issue_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} = @@ -1949,7 +1747,7 @@ def start_time = Long.valueOf(vars.get("loop_start_time")) def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int def action_time = delay_between_transactions - sleep_time as int -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_share_request_with_org action_time: " + action_time) +log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_create_request action_time: " + action_time) if ( sleep_time > 0 ) { return sleep_time @@ -1962,11 +1760,11 @@ if ( sleep_time > 0 ) { - + 1 false 1 - ${perc_customer_create_request} + ${perc_customer_standalone_extension} @@ -1985,132 +1783,65 @@ if ( sleep_time > 0 ) { - - false - true - + - - true - + + + + app_specific_username + admin + = + + + app_specific_password + admin + = + + + + + + - + false - {"models":["user","organisations","sharedPortal","portal","helpCenterBranding","reqCreate","portalWebFragments"],"options":{"portalId":"${rt_service_desk_id}","portal":{"id":"${rt_service_desk_id}"},"reqCreate":{"id":"${rt_id}"},"portalWebFragments":{"portalPage":"CREATE_REQUEST"}}} + os_username + ${app_specific_username} = + true - - - - - - - ${application.postfix}/rest/servicedesk/1/customer/models - POST - true - false - true - false - - - - - - - - - Accept - */* - - - Content-Type - application/json - - - - - - - true - - - + false - [{"name":"servicedesk.customerview.smartportal.browse.popular.portals.portal.clicked","properties":{"index":0,"sdVersion":"4.13.0"},"timeDelta":-1193},{"name":"servicedesk.page.view.portal.global.title.announcement.view.none","properties":{"sdVersion":"4.13.0"},"timeDelta":-930},{"name":"servicedesk.page.view.customerview","properties":{"sdVersion":"4.13.0","projectId":10188},"timeDelta":-922},{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"297","isInitial":"true","journeyId":"1288b6b6-dc3c-495f-b444-f68ec3b32cb3","key":"servicedesk.cv.portal.landing","navigationType":"0","readyForUser":"5549014","redirectCount":"0","resourceLoadedEnd":"275","resourceLoadedStart":223.40000001713634,"threshold":"1000","unloadEventStart":"207","unloadEventEnd":"207","fetchStart":"2","domainLookupStart":"2","domainLookupEnd":"2","connectStart":"2","connectEnd":"2","requestStart":"5","responseStart":"198","responseEnd":"269","domLoading":"208","domInteractive":"276","domContentLoadedEventStart":"276","domContentLoadedEventEnd":"277","domComplete":"737","loadEventStart":"737","loadEventEnd":"739","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36","effectiveType":"4g","downlink":10,"rtt":50,"applicationHash":"8c68d8036d917652ef7564456d59d80184b5a77e","resourceTiming":"{\"˜ \":[\"2,67,67,,,67,,67,67,67\",\"2,67,b0,ax,6r,67,,67,67,67\",\"3,75,7n,76,76,75,,75,75,75\",\"3,75,di,cz,7p,75,,75,75,75\",\"4,7r,7r,,,7r,,7r,7r,7r\",\"5,8w,e6,e5,8x,8w,,8w,8w,8w\",\"3,ev,k6,k4,ex,ev,,ev,ev,ev\",\"5,ke,pq,pp,ki,ke,,ke,ke,ke\",\"5,ow,u7,u7,oy,ow,,ow,ow,ow\",\"5,2k3,2pa,2p9,2k9,2k3,,2k3,2k3,2k3\",\"2,2pd,2ug,2ue,2pe,2pd,,2pd,2pd,2pd\",\"3,2pd,393,2uf,2pf,2pd,,2pd,2pd,2pd\",\"5,3a1,3hj,3hi,3a3,3a1,,3a1,3a1,3a1\",\"4,3hw,3hw,,,3hw,,3hw,3hw,3hw\",\"5,4p7,4uh,4uh,4p8,4p7,,4p7,4p7,4p7\",\"5,zbw,zzm,zzm,zc2,zbw,,zbw,zbw,zbw\",\"5,zzt,105d,105c,100a,zzt,,zzt,zzt,zzt\",\"5,zzu,10e4,10b1,105n,105m,,105m,105m,105m,105k,zzu\",\"2,105g,10an,10al,105i,105g,,105g,105g,105g\",\"3,105h,10e0,109v,105j,105h,,105h,105h,105h\",\"5,10ee,10mk,10mj,10eh,10ee,,10ee,10ee,10ee\",\"4,10nf,10nf,,,10nf,,10nf,10nf,10nf\",\"4,10nh,10sn,10sl,10nj,10nh,,10nh,10nh,10nh\",\"5,13m7,13rb,13ra,13ma,13m7,,13m7,13m7,13m7\",\"5,25qf3,25r6m,25r6l,25qf8,25qf3,,25qf3,25qf3,25qf3\",\"4,25r6y,25r6y,,,25r6y,,25r6y,25r6y,25r6y\",\"5,25tpb,25ug7,25ug6,25tpj,25tpb,,25tpb,25tpb,25tpb\",\"4,25ugi,25ugi,,,25ugi,,25ugi,25ugi,25ugi\",\"5,25v1h,25v5n,25v5m,25v1j,25v1h,,25v1h,25v1h,25v1h\",\"4,25vby,25vby,,,25vby,,25vby,25vby,25vby\",\"5,260by,260zn,260zl,260c0,260by,,260by,260by,260by\",\"5,260zy,2622p,2619f,2614m,2614m,,2614m,2614m,2614m,2614k,260zy\",\"5,2610g,2618i,2618g,2610i,2610g,,2610g,2610g,2610g\",\"4,2619k,2619k,,,2619k,,2619k,2619k,2619k\",\"4,2619m,2619o,2619n,2619n,2619m,,2619m,2619m,2619m\",\"5,262vu,2630x,2630x,262vw,262vu,,262vu,262vu,262vu\",\"4,26t4u,26t4u,,,26t4u,,26t4u,26t4u,26t4u\",\"5,2xuud,2xv69,2xv68,2xuzn,2xuzn,,2xuuk,2xuuk,2xuuk\",\"-1,2xuul,2xv3s,2xv3q,2xuzq,2xuzq,,2xuuo,2xuuo,2xuuo\",\"4,2xv6p,2xv6p,,,2xv6p,,2xv6p,2xv6p,2xv6p\",\"5,2xx2e,2xx6j,2xx6j,2xx2f,2xx2e,,2xx2e,2xx2e,2xx2e\",\"5,2yw6f,2ywgd,2ywgc,2yw92,2yw6f,,2yw6f,2yw6f,2yw6f\",\"4,2ywgp,2ywgp,,,2ywgp,,2ywgp,2ywgp,2ywgp\",\"5,2yzsl,2yzxl,2yzxl,2yzsm,2yzsl,,2yzsl,2yzsl,2yzsl\",\"5,2z5gk,2z5uh,2z5ug,2z5gn,2z5gk,,2z5gk,2z5gk,2z5gk\",\"5,2z5up,2z6b5,2z662,2z60i,2z60h,,2z60h,2z60h,2z60h,2z60f,2z5up\",\"5,2z5uu,2z639,2z638,2z5vg,2z5uu,,2z5uu,2z5uu,2z5uu\",\"4,2z640,2z640,,,2z640,,2z640,2z640,2z640\",\"4,2z642,2z687,2z685,2z644,2z642,,2z642,2z642,2z642\",\"5,2z7o0,2z7sa,2z7s9,2z7o1,2z7o0,,2z7o0,2z7o0,2z7o0\",\"5,38l0q,38lbu,38lbt,38l5p,38l5p,,38l0u,38l0u,38l0u\",\"4,38lc5,38lc5,,,38lc5,,38lc5,38lc5,38lc5\",\"5,38m3t,38m7z,38m7y,38m3u,38m3t,,38m3t,38m3t,38m3t\",\"5,38pd7,38pht,38phr,38pde,38pd7,,38pd7,38pd7,38pd7\",\"2,38phw,38pm6,38pm4,38phy,38phw,,38phw,38phw,38phw\",\"3,38phx,38q9u,38ppl,38phy,38phx,,38phx,38phx,38phx\",\"5,38qa2,38qgx,38qgw,38qa4,38qa2,,38qa2,38qa2,38qa2\",\"4,38qhc,38qhc,,,38qhc,,38qhc,38qhc,38qhc\",\"5,38qhl,38qx8,38qx7,38qhn,38qhl,,38qhl,38qhl,38qhl\",\"5,38s0z,38s7i,38s7h,38s14,38s0z,,38s0z,38s0z,38s0z\",\"4,38s80,38s80,,,38s80,,38s80,38s80,38s80\",\"5,38tvc,38u26,38u25,38tvp,38tvc,,38tvc,38tvc,38tvc\",\"5,38txz,38u24,38u24,38ty0,38txz,,38txz,38txz,38txz\",\"4,38u2i,38u2i,,,38u2i,,38u2i,38u2i,38u2i\",\"5,38xrd,38xxu,38xxt,38xrq,38xrd,,38xrd,38xrd,38xrd\",\"5,38xx6,38y1c,38y1b,38xx7,38xx6,,38xx6,38xx6,38xx6\",\"4,38xy8,38xy8,,,38xy8,,38xy8,38xy8,38xy8\",\"5,38yxg,38z49,38z48,38yxk,38yxg,,38yxg,38yxg,38yxg\",\"5,38z52,38zjn,38zjm,38z54,38z52,,38z52,38z52,38z52\",\"4,38z54,38z54,,,38z54,,38z54,38z54,38z54\",\"5,391wg,3920m,3920m,391wi,391wg,,391wg,391wg,391wg\",\"5,39fu5,39g0i,39g0h,39fuf,39fu5,,39fu5,39fu5,39fu5\",\"4,39g12,39g12,,,39g12,,39g12,39g12,39g12\",\"5,39hh7,39hld,39hld,39hha,39hh7,,39hh7,39hh7,39hh7\",\"5,39k5e,39kc4,39kc3,39k5q,39k5e,,39k5e,39k5e,39k5e\",\"4,39kcl,39kcl,,,39kcl,,39kcl,39kcl,39kcl\",\"5,39lge,39lkl,39lkk,39lgh,39lge,,39lge,39lge,39lge\",\"5,39rpb,39s1s,39s1r,39rpe,39rpb,,39rpb,39rpb,39rpb\",\"5,39s20,39sdn,39sav,39s6f,39s6e,,39s6e,39s6e,39s6e,39s6c,39s20\",\"5,39s27,39sac,39sab,39s2i,39s27,,39s27,39s27,39s27\",\"4,39sb5,39sb5,,,39sb5,,39sb5,39sb5,39sb5\",\"4,39sb7,39sfd,39sfc,39sb9,39sb7,,39sb7,39sb7,39sb7\",\"5,39tai,39tep,39teo,39taj,39tai,,39tai,39tai,39tai\",\"5,3ans0,3anz7,3anz5,3ans9,3ans0,,3ans0,3ans0,3ans0\",\"4,3anzr,3anzr,,,3anzr,,3anzr,3anzr,3anzr\",\"5,3ao01,3aoep,3aoeo,3ao02,3ao01,,3ao01,3ao01,3ao01\",\"5,3aqi8,3aqmz,3aqmy,3aqia,3aqi8,,3aqi8,3aqi8,3aqi8\",\"5,3axfz,3axmn,3axmm,3axgh,3axfz,,3axfz,3axfz,3axfz\"]}","mark.@grammarly-extension:checkScriptInitStart":"[501]","mark.@grammarly-extension:checkScriptInitEnd":"[504]","mark.@grammarly-extension:callExecuteContentScript":"[6613]","mark.@grammarly-extension:initStart":"[6908]","mark.@grammarly-extension:initEnd":"[6930]","mark.@grammarly-extension:gButtonShow":"[7224,3637084,4992992,5455880,5490557]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[501],\"@grammarly-extension:checkScriptInitEnd\":[504],\"@grammarly-extension:callExecuteContentScript\":[6613],\"@grammarly-extension:initStart\":[6908],\"@grammarly-extension:initEnd\":[6930],\"@grammarly-extension:gButtonShow\":[7224,3637084,4992992,5455880,5490557]},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":50},"timeDelta":-913}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - Content-Type - application/json - - - - - - - - false - true - - - - - - - true - sd-kb-article-viewed - false + os_password + ${app_specific_password} = true - - true - summary - ${p_summary} + + false + os_destination + = true - - true - description - ${p_description} + + false + user_role + = true - - true - pid - ${rt_project_id} + + false + atl_token + = true - + true - projectId - ${rt_project_id} + login + Log In = true @@ -2119,8 +1850,8 @@ if ( sleep_time > 0 ) { - - ${application.postfix}/servicedesk/customer/portal/${rt_service_desk_id}/create/${rt_id} + UTF-8 + ${application.postfix}/login.jsp POST true false @@ -2129,70 +1860,99 @@ if ( sleep_time > 0 ) { + Detected the start of a redirect chain - + + + Accept-Language + en-US,en;q=0.5 + + + Pragma + no-cache + Accept - */* + text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 + + + Upgrade-Insecure-Requests + 1 Content-Type application/x-www-form-urlencoded - - X-Atlassian-Token - no-check + + Cache-Control + no-cache + + + Accept-Encoding + gzip, deflate - - issue_key - $.issue.key - 1 - NOT_FOUND - - - + groovy true - def generator = { String alphabet, int n -> - new Random().with { - (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() - } -} - -def comment = "Description - " + generator((('a'..'z') + ' ' * 10).join(), 50); - -// request -vars.put("p_description", comment.toString()) - - + vars.put("run_as_specific_user", "true") +prev.setIgnore() + - + + + + + + + + + + ${application.postfix}/rest/api/2/myself + GET + true + false + true + false + + + + + + groovy true - def generator = { String alphabet, int n -> - new Random().with { - (1..n).collect { alphabet[nextInt(alphabet.length())] }.join() - } -} + import groovy.json.JsonSlurper; -def comment = "Summary - " + generator((('a'..'z') + ' ' * 10).join(), 10); +def slurper = new JsonSlurper() +response_data = slurper.parseText(prev.getResponseDataAsString()) -// request -vars.put("p_summary", comment.toString()) +if (response_data.name != vars.get("app_specific_username")) { + prev.setSuccessful(false) + prev.setResponseMessage("Login Failed: Your app_specific_username: '" + vars.get("app_specific_username") + "' or password is incorrect. Also, check the CAPTCHA for '" + vars.get("app_specific_username") + "' user.") + prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) +} else { + prev.setIgnore() +} - + - + + + false + true + + + @@ -2200,8 +1960,8 @@ vars.put("p_summary", comment.toString()) - ${application.postfix}/rest/servicedesk/project-ui/noeyeball/1/welcome-guide/item-completer/completeItem/create-request - POST + ${application.postfix}/app/get_endpoint + GET true false true @@ -2211,30 +1971,51 @@ vars.put("p_summary", comment.toString()) - - - - Accept - */* - + + false + app_id + "id":"(.+?)" + $1$ + NOT FOUND + 1 + + + + false + app_token + "token":"(.+?)" + $1$ + NOT FOUND + 1 + + + + + asserttion string - + + Assertion.response_data + false + 16 + - - - false - true - - - - true - + + - + false - {"models":["user","organisations","sharedPortal","helpCenterBranding","portal","reqDetails","portalWebFragments"],"options":{"portalId":"${rt_service_desk_id}","portal":{"id":"${rt_service_desk_id}"},"reqDetails":{"key":"${issue_key}"},"portalWebFragments":{"portalPage":"VIEW_REQUEST"}}} + ${app_id} + = + true + id + + + false + ${app_token} = + true + token @@ -2242,7 +2023,7 @@ vars.put("p_summary", comment.toString()) - ${application.postfix}/rest/servicedesk/1/customer/models + ${application.postfix}/app/post_endpoint POST true false @@ -2253,109 +2034,38 @@ vars.put("p_summary", comment.toString()) - - - - Accept - */* - - - Content-Type - application/json - + + + assertion string - + + Assertion.response_data + false + 16 + - - 1 - 0 - 0 - - - - true - - - // concurrency -def concurrency = ctx.getThreadGroup().getNumThreads() - -// Delays between each action in milli-seconds -def delay_between_transactions = (1000 * 3600) / (vars.get("total_actions_per_hour_customers").toDouble() / concurrency.toDouble()) - -//Sets the pacing length based on the last requests response time. x is the time in ms -def start_time = Long.valueOf(vars.get("loop_start_time")) -def sleep_time = (delay_between_transactions - (System.currentTimeMillis() - start_time)) as int -def action_time = delay_between_transactions - sleep_time as int - -log.info("concurrency: " + concurrency + ", total_actions_per_hour: " + vars.get("total_actions_per_hour_customers") + ", delay_between_transactions: " + delay_between_transactions + ", thread_sleep: " + sleep_time + ", jmeter_customer_create_request action_time: " + action_time) - -if ( sleep_time > 0 ) { - return sleep_time -} else { - return 0 -} - - groovy - - - - - - 1 - false - 1 - ${perc_customer_standalone_extension} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - + + ${run_as_specific_user} + false + true + - - - - app_specific_username - admin - = - - - app_specific_password - admin - = - - - - - + false os_username - ${app_specific_username} + ${username} = true false os_password - ${app_specific_password} + ${password} = true @@ -2443,12 +2153,11 @@ if ( sleep_time > 0 ) { true - vars.put("run_as_specific_user", "true") -prev.setIgnore() + prev.setIgnore() - + @@ -2477,276 +2186,25 @@ prev.setIgnore() def slurper = new JsonSlurper() response_data = slurper.parseText(prev.getResponseDataAsString()) -if (response_data.name != vars.get("app_specific_username")) { +if (response_data.name != vars.get("username")) { prev.setSuccessful(false) - prev.setResponseMessage("Login Failed: Your app_specific_username: '" + vars.get("app_specific_username") + "' or password is incorrect. Also, check the CAPTCHA for '" + vars.get("app_specific_username") + "' user.") - prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) + prev.setResponseMessage("Re-login Failed: username: '" + vars.get("username") + "' failed to login. Check the CAPTCHA for '" + vars.get("username") + "' user.") + prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) } else { prev.setIgnore() } + + - - false - true - - - - - - - - - - - ${application.postfix}/app/get_endpoint - GET - true - false - true - false - - - - - - - false - app_id - "id":"(.+?)" - $1$ - NOT FOUND - 1 - - - - false - app_token - "token":"(.+?)" - $1$ - NOT FOUND - 1 - - - - - asserttion string - - - Assertion.response_data - false - 16 - - - - - - - - false - ${app_id} - = - true - id - - - false - ${app_token} - = - true - token - - - - - - - - ${application.postfix}/app/post_endpoint - POST - true - false - true - false - - - - - - - - assertion string - - - Assertion.response_data - false - 16 - - - - - - ${run_as_specific_user} - false - true - - - - - - - false - os_username - ${username} - = - true - - - false - os_password - ${password} - = - true - - - false - os_destination - - = - true - - - false - user_role - - = - true - - - false - atl_token - - = - true - - - true - login - Log In - = - true - - - - - - - UTF-8 - ${application.postfix}/login.jsp - POST - true - false - true - false - - - - Detected the start of a redirect chain - - - - - - Accept-Language - en-US,en;q=0.5 - - - Pragma - no-cache - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 - - - Upgrade-Insecure-Requests - 1 - - - Content-Type - application/x-www-form-urlencoded - - - Cache-Control - no-cache - - - Accept-Encoding - gzip, deflate - - - - - - groovy - - - true - prev.setIgnore() - - - - - - - - - - - - ${application.postfix}/rest/api/2/myself - GET - true - false - true - false - - - - - - - groovy - - - true - import groovy.json.JsonSlurper; - -def slurper = new JsonSlurper() -response_data = slurper.parseText(prev.getResponseDataAsString()) - -if (response_data.name != vars.get("username")) { - prev.setSuccessful(false) - prev.setResponseMessage("Re-login Failed: username: '" + vars.get("username") + "' failed to login. Check the CAPTCHA for '" + vars.get("username") + "' user.") - prev.setTestLogicalAction(org.apache.jmeter.threads.JMeterContext.TestLogicalAction.BREAK_CURRENT_LOOP) -} else { - prev.setIgnore() -} - - - - - - - - - 1 - 0 - 0 - + + 1 + 0 + 0 + true @@ -2774,143 +2232,53 @@ if ( sleep_time > 0 ) { groovy - - - - 1 - false - 1 - ${perc_customer_insight_view_request} - - - - 1 - 0 - 0 - - - - true - - - vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); - - groovy - - - - - Check if Insight enabled - ${__groovy("${insight}" == "True")} - false - true - - - - false - true - - - - - - - - - - - ${application.postfix}/servicedesk/customer/portal/${s_service_desk_id} - GET - true - false - true - false - - - - - - - - - Upgrade-Insecure-Requests - 1 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - - - - 0.0 - 0 - Recorded time was 0 milliseconds - - - - - true - - - - false - {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"servicedesk.page.view.customerview.session","properties":{"count":1,"path":"cv.shared.portal","sdVersion":"4.20.4"},"timeDelta":-579},{"name":"servicedesk.page.view.portal.global.title.announcement.view.none","properties":{"sdVersion":"4.20.4"},"timeDelta":-537},{"name":"servicedesk.page.view.customerview","properties":{"sdVersion":"4.20.4","projectId":10085},"timeDelta":-521}] - = - - + + + + 1 + false + 1 + ${perc_customer_insight_view_request} + + + + 1 + 0 + 0 + + + + true + + + vars.put("loop_start_time",String.valueOf(System.currentTimeMillis())); + + groovy + + + + + Check if Insight enabled + ${__groovy("${insight}" == "True")} + false + true + + + + false + true + + + + + - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST + ${application.postfix}/servicedesk/customer/portal/${s_service_desk_id} + GET true false true @@ -2922,60 +2290,22 @@ if ( sleep_time > 0 ) { - - Content-Type - application/json + + Upgrade-Insecure-Requests + 1 Accept - */* + text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:16"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - + + 0.0 + 0 + Recorded time was 0 milliseconds + @@ -3121,178 +2451,6 @@ if ( sleep_time > 0 ) { - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:298"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib","com.atlassian.servicedesk.frontend-webpack-plugin:16"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:196"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib","com.atlassian.servicedesk.frontend-webpack-plugin:16","com.atlassian.servicedesk.frontend-webpack-plugin:298"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - - - true - - - - false - [{"name":"browser.metrics.navigation","properties":{"fcp":375.10000002384186,"ttfb":171.30000001192093,"pageVisibility":"visible","key":"servicedesk.cv.portal.landing","isInitial":"true","threshold":"1000","userDeviceProcessors":8,"apdex":"0.5","firstPaint":"375","journeyId":"c579e7d3-7735-4d78-995f-3a692a2392df","navigationType":"0","readyForUser":"1394","redirectCount":"0","resourceLoadedEnd":"","resourceLoadedStart":"","unloadEventStart":"184","unloadEventEnd":"184","fetchStart":"9","domainLookupStart":"9","domainLookupEnd":"9","connectStart":"9","connectEnd":"9","requestStart":"15","responseStart":"171","responseEnd":"219","domLoading":"191","domInteractive":"321","domContentLoadedEventStart":"321","domContentLoadedEventEnd":"322","domComplete":"1709","loadEventStart":"1709","loadEventEnd":"1711","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36","effectiveType":"4g","downlink":10,"rtt":50,"applicationHash":"42b33f804c795808933ab726ed11383e751e0bd1","elementTimings":"[]","resourceTiming":"{\"☠\":[\"2,5f,e2,9y,5t,5f,,5f,5f,5f\",\"2,5f,a5,a4,62,5f,,5f,5f,5f\",\"3,8o,ie,e9,a5,8o,,8o,8o,8o\",\"3,8o,y2,dv,9t,9t,,8w,8w,8w\"]}","mark.@grammarly-extension:checkScriptInitStart":"[546]","mark.@grammarly-extension:checkScriptInitEnd":"[552]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[546],\"@grammarly-extension:checkScriptInitEnd\":[552]},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":50},"timeDelta":-5155},{"name":"servicedesk.customerview.smartportal.single.portal.first.action.browse.requesttype","properties":{"portalCardsViewFlagOn":true,"sdVersion":"4.20.4","projectId":10085},"timeDelta":-2507},{"name":"servicedesk.customerview.smartportal.single.portal.browse.request.type.clicked","properties":{"sdVersion":"4.20.4","projectId":10085},"timeDelta":-2507},{"name":"servicedesk.customerview.richeditor.rendered","properties":{"isWysiwygEditorEnabled":true,"sdVersion":"4.20.4","projectId":10085},"timeDelta":-1606},{"name":"servicedesk.page.view.customerview.createRequest","properties":{"sdVersion":"4.20.4","projectId":10085},"timeDelta":-1599},{"name":"browser.metrics.navigation","properties":{"pageVisibility":"visible","key":"servicedesk.cv.request.create","isInitial":"false","threshold":"1000","userDeviceProcessors":8,"apdex":"1","journeyId":"c579e7d3-7735-4d78-995f-3a692a2392df","readyForUser":"902","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36","effectiveType":"4g","downlink":10,"rtt":50,"applicationHash":"42b33f804c795808933ab726ed11383e751e0bd1","elementTimings":"[]","resourceTiming":"{\"☠\":[\"5,1,4i,4h,h,1,,1,1,1\",\"-1,d,4l,4k,m,d,,d,d,d\",\"5,3l,85,83,43,3l,,3l,3l,3l\",\"2,4k,cv,8o,4n,4k,,4k,4k,4k\",\"3,4l,hm,8r,4n,4l,,4l,4l,4l\",\"5,ii,nn,nm,il,ii,,ii,ii,ii\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]","connectionEffectiveType":"4g","connectionDownlink":10,"connectionRTT":50},"timeDelta":-1335}] - = - - - - - - - - ${application.postfix}/rest/analytics/1.0/publish/bulk - POST - true - false - true - false - - - - - - - - - Content-Type - application/json - - - Accept - */* - - - - - - - true - - - - false - {"r":[],"c":["com.atlassian.servicedesk.frontend-webpack-plugin:219"],"xc":["jira.webresources:almond","customerportal","com.atlassian.analytics.analytics-client:js-events","async-chunk-cv-landing-page","browser-metrics-plugin.contrib","com.atlassian.servicedesk.frontend-webpack-plugin:16","com.atlassian.servicedesk.frontend-webpack-plugin:298","com.atlassian.servicedesk.frontend-webpack-plugin:196"],"xr":[]} - = - - - - - - - - ${application.postfix}/rest/webResources/1.0/resources - POST - true - false - true - false - - - - - - - - - Accept - application/json, text/javascript, */*; q=0.01 - - - X-Requested-With - XMLHttpRequest - - - Content-Type - application/json - - - - - @@ -3337,7 +2495,7 @@ if ( sleep_time > 0 ) { - + false saveConfig diff --git a/app/jsm.yml b/app/jsm.yml index 2439e7c1d..9a14b50e1 100644 --- a/app/jsm.yml +++ b/app/jsm.yml @@ -21,7 +21,7 @@ settings: total_actions_per_hour_customers: 15000 insight: False # Set True to enable Insight specific tests WEBDRIVER_VISIBLE: False - JMETER_VERSION: 5.5 + JMETER_VERSION: 5.6 LANGUAGE: en_US.utf8 allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README. environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it. @@ -68,7 +68,7 @@ services: - python util/post_run/cleanup_results_dir.py - module: pip-install packages: - - selenium==4.18.1 + - selenium==4.21.0 execution: - scenario: ${load_executor}_agents executor: ${load_executor} @@ -151,27 +151,22 @@ modules: detect-plugins: true memory-xmx: 8G # allow JMeter to use up to 8G of memory plugins: - - bzm-parallel=0.4 - - bzm-random-csv=0.6 - - jpgc-casutg=2.9 + - jpgc-casutg=2.10 - jpgc-dummy=0.4 - jpgc-ffw=2.0 - jpgc-fifo=0.2 - - jpgc-functions=2.1 - - jpgc-json=2.6 + - jpgc-functions=2.2 + - jpgc-json=2.7 - jpgc-perfmon=2.1 - jpgc-prmctl=0.4 - - jpgc-tst=2.5 - - jpgc-wsc=0.3 - - tilln-sshmon=1.0 - - jpgc-synthesis=2.2 + - jpgc-tst=2.6 system-properties: server.rmi.ssl.disable: true java.rmi.server.hostname: localhost httpsampler.ignore_failed_embedded_resources: "true" selenium: chromedriver: - version: "125.0.6422.141" # Supports Chrome version 125. You can refer to https://googlechromelabs.github.io/chrome-for-testing + version: "126.0.6478.126" # Supports Chrome version 126. You can refer to https://googlechromelabs.github.io/chrome-for-testing reporting: - data-source: sample-labels module: junit-xml diff --git a/app/locustio/jira/http_actions.py b/app/locustio/jira/http_actions.py index a4de72341..ec5a3eb9e 100644 --- a/app/locustio/jira/http_actions.py +++ b/app/locustio/jira/http_actions.py @@ -36,30 +36,6 @@ def login_and_view_dashboard(locust): raise Exception('Please check server hostname in jira.yml file') content = r.content.decode('utf-8') - # 110 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("110"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 115 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("115"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 120 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("120"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 125 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("125"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 130 /plugins/servlet/gadgets/dashboard-diagnostics locust.post("/plugins/servlet/gadgets/dashboard-diagnostics", {"uri": f"{locust.client.base_url.lower()}/secure/Dashboard.jspa"}, @@ -67,17 +43,22 @@ def login_and_view_dashboard(locust): catch_response=True) # 135 /rest/activity-stream/1.0/preferences - locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', + catch_response=True) # 140 /rest/gadget/1.0/issueTable/jql - locust.get(f'/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard' - f'&addDefault=true&enableSorting=true&paging=true&showActions=true' - f'&jql=assignee+%3D+currentUser()+AND' - f'+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC' - f'&sortBy=&startIndex=0&_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard' + f'&addDefault=true&enableSorting=true&paging=true&showActions=true' + f'&jql=assignee+%3D+currentUser()+AND' + f'+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC' + f'&sortBy=&startIndex=0&_={timestamp_int()}', catch_response=True) # 145 /plugins/servlet/streams - locust.get(f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}', catch_response=True) + locust.get( + f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}', + catch_response=True) # Assertions token = fetch_by_re(params.atl_token_pattern, content) @@ -88,7 +69,8 @@ def login_and_view_dashboard(locust): locust.session_data_storage['username'] = user[0] locust.session_data_storage['password'] = user[1] locust.session_data_storage["token"] = token - logger.locust_info(f"{params.action_name}: User {user[0]} logged in with atl_token: {token}") + logger.locust_info( + f"{params.action_name}: User {user[0]} logged in with atl_token: {token}") @jira_measure('locust_view_issue') @@ -106,45 +88,19 @@ def view_issue(locust): project_avatar_id = fetch_by_re(params.project_avatar_id_pattern, content) edit_allowed = fetch_by_re(params.edit_allow_pattern, content, group_no=0) - # 405 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("405"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 410 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("410"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 415 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("415"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 420 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("420"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 425 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("425"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 430 /secure/projectavatar - locust.get(f'/secure/projectavatar?avatarId={project_avatar_id}', catch_response=True) + locust.get( + f'/secure/projectavatar?avatarId={project_avatar_id}', + catch_response=True) # Assertions if not (f'' in content): logger.error(f'Issue {issue_key} not found: {content}') assert f'' in content, 'Issue not found' - logger.locust_info(f"{params.action_name}: Issue {issue_key} is opened successfully") - logger.locust_info(f'{params.action_name}: Issue key - {issue_key}, issue_id - {issue_id}') + logger.locust_info( + f"{params.action_name}: Issue {issue_key} is opened successfully") + logger.locust_info( + f'{params.action_name}: Issue key - {issue_key}, issue_id - {issue_id}') # 435 /secure/AjaxIssueEditAction!default.jspa if edit_allowed: @@ -166,9 +122,12 @@ def create_issue(locust): def create_issue_open_quick_create(): raise_if_login_failed(locust) # 200 /secure/QuickCreateIssue!default.jspa?decorator=none - r = locust.post('/secure/QuickCreateIssue!default.jspa', - json={'atlassian.xsrf.token': locust.session_data_storage["token"]}, - headers=ADMIN_HEADERS, catch_response=True) + r = locust.post( + '/secure/QuickCreateIssue!default.jspa', + json={ + 'atlassian.xsrf.token': locust.session_data_storage["token"]}, + headers=ADMIN_HEADERS, + catch_response=True) content = r.content.decode('utf-8') atl_token = fetch_by_re(params.atl_token_pattern, content) @@ -176,16 +135,17 @@ def create_issue_open_quick_create(): issue_type = fetch_by_re(params.issue_type_pattern, content) resolution_done = fetch_by_re(params.resolution_done_pattern, content) fields_to_retain = re.findall(params.fields_to_retain_pattern, content) - custom_fields_to_retain = re.findall(params.custom_fields_to_retain_pattern, content) - - issue_body_params_dict = {'atl_token': atl_token, - 'form_token': form_token, - 'issue_type': issue_type, - 'project_id': project_id, - 'resolution_done': resolution_done, - 'fields_to_retain': fields_to_retain, - 'custom_fields_to_retain': custom_fields_to_retain - } + custom_fields_to_retain = re.findall( + params.custom_fields_to_retain_pattern, content) + + issue_body_params_dict = { + 'atl_token': atl_token, + 'form_token': form_token, + 'issue_type': issue_type, + 'project_id': project_id, + 'resolution_done': resolution_done, + 'fields_to_retain': fields_to_retain, + 'custom_fields_to_retain': custom_fields_to_retain} if not ('"id":"project","label":"Project"' in content): logger.error(f'{params.err_message_create_issue}: {content}') @@ -197,12 +157,6 @@ def create_issue_open_quick_create(): headers=RESOURCE_HEADERS, catch_response=True) - # 210 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("210"), - headers=RESOURCE_HEADERS, - catch_response=True) - locust.session_data_storage['issue_body_params_dict'] = issue_body_params_dict create_issue_open_quick_create() @@ -210,8 +164,9 @@ def create_issue_open_quick_create(): @jira_measure('locust_create_issue:fill_and_submit_issue_form') def create_issue_submit_form(): raise_if_login_failed(locust) - issue_body = params.prepare_issue_body(locust.session_data_storage['issue_body_params_dict'], - user=locust.session_data_storage["username"]) + issue_body = params.prepare_issue_body( + locust.session_data_storage['issue_body_params_dict'], + user=locust.session_data_storage["username"]) # 215 /secure/QuickCreateIssue.jspa?decorator=none r = locust.post('/secure/QuickCreateIssue.jspa?decorator=none', @@ -219,18 +174,13 @@ def create_issue_submit_form(): headers=ADMIN_HEADERS, catch_response=True) - # 220 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("220"), - headers=RESOURCE_HEADERS, - catch_response=True) - content = r.content.decode('utf-8') if '"id":"project","label":"Project"' not in content: logger.error(f'{params.err_message_create_issue}: {content}') assert '"id":"project","label":"Project"' in content, params.err_message_create_issue issue_key = fetch_by_re(params.create_issue_key_pattern, content) - logger.locust_info(f"{params.action_name}: Issue {issue_key} was successfully created") + logger.locust_info( + f"{params.action_name}: Issue {issue_key} was successfully created") create_issue_submit_form() @@ -244,39 +194,10 @@ def search_jql(locust): # 300 /issues locust.get(f'/issues/?jql={jql}', catch_response=True) - # 305 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("305"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 310 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("310"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 315 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("315"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 320 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("320"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 325 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("325"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 330 /rest/api/2/filter/favourite - locust.get(f'/rest/api/2/filter/favourite?expand=subscriptions[-5:]&_={timestamp_int()}', - catch_response=True) + locust.get( + f'/rest/api/2/filter/favourite?expand=subscriptions[-5:]&_={timestamp_int()}', + catch_response=True) # 335 /rest/issueNav/latest/preferredSearchLayout locust.post('/rest/issueNav/latest/preferredSearchLayout', @@ -332,8 +253,10 @@ def search_jql(locust): # 365 /secure/AjaxIssueEditAction!default.jspa if params.edit_allow_string in r.content.decode('utf-8'): - locust.get(f'/secure/AjaxIssueEditAction!default.jspa?' - f'decorator=none&issueId={issue_id}&_={timestamp_int()}', catch_response=True) + locust.get( + f'/secure/AjaxIssueEditAction!default.jspa?' + f'decorator=none&issueId={issue_id}&_={timestamp_int()}', + catch_response=True) @jira_measure('locust_view_project_summary') @@ -347,40 +270,22 @@ def view_project_summary(locust): r = locust.get(f'/projects/{project_key}/summary', catch_response=True) content = r.content.decode('utf-8') - logger.locust_info(f"{params.action_name}. View project {project_key}: {content}") + logger.locust_info( + f"{params.action_name}. View project {project_key}: {content}") - assert re.compile(f'.*project-key.*{project_key}').search(content), params.err_message - - # 505 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("505"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 510 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("510"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 515 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("515"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 520 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("520"), - headers=RESOURCE_HEADERS, - catch_response=True) + assert re.compile( + f'.*project-key.*{project_key}').search(content), params.err_message # 525 /rest/activity-stream/1.0/preferences - locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', + catch_response=True) # 530 /projects/ - locust.get(f'/projects/{project_key}?selectedItem=com.atlassian.jira.jira-projects-plugin:' - f'project-activity-summary&decorator=none&contentOnly=true&_={timestamp_int()}', catch_response=True) + locust.get( + f'/projects/{project_key}?selectedItem=com.atlassian.jira.jira-projects-plugin:' + f'project-activity-summary&decorator=none&contentOnly=true&_={timestamp_int()}', + catch_response=True) # 535 /rest/api/2/user/properties/lastViewedVignette locust.client.put(f'/rest/api/2/user/properties/lastViewedVignette?' @@ -402,48 +307,35 @@ def edit_issue_open_editor(): raise_if_login_failed(locust) # 700 /secure/EditIssue!default.jspa - r = locust.get(f'/secure/EditIssue!default.jspa?id={issue_id}', catch_response=True) + r = locust.get( + f'/secure/EditIssue!default.jspa?id={issue_id}', + catch_response=True) content = r.content.decode('utf-8') issue_type = fetch_by_re(params.issue_type_pattern, content) atl_token = fetch_by_re(params.atl_token_pattern, content) - priority = fetch_by_re(params.issue_priority_pattern, content, group_no=2) - assignee = fetch_by_re(params.issue_assigneee_reporter_pattern, content, group_no=2) + priority = fetch_by_re( + params.issue_priority_pattern, + content, + group_no=2) + assignee = fetch_by_re( + params.issue_assigneee_reporter_pattern, + content, + group_no=2) reporter = fetch_by_re(params.issue_reporter_pattern, content) if not (f' Edit Issue: [{issue_key}]' in content): - logger.error(f'{params.err_message_issue_not_found} - {issue_id}, {issue_key}: {content}') + logger.error( + f'{params.err_message_issue_not_found} - {issue_id}, {issue_key}: {content}') assert f' Edit Issue: [{issue_key}]' in content, \ params.err_message_issue_not_found logger.locust_info(f"{params.action_name}: Editing issue {issue_key}") - # 705 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("705"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 710 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("710"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 715 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("715"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 720 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("720"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 725 /rest/internal/2/user/mention/search - locust.get(f'/rest/internal/2/user/mention/search?issueKey={issue_key}' - f'&projectKey={project_key}&maxResults=10&_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/internal/2/user/mention/search?issueKey={issue_key}' + f'&projectKey={project_key}&maxResults=10&_={timestamp_int()}', + catch_response=True) edit_body = f'id={issue_id}&summary={generate_random_string(15)}&issueType={issue_type}&priority={priority}' \ f'&dueDate=""&assignee={assignee}&reporter={reporter}&environment=""' \ @@ -460,57 +352,33 @@ def edit_issue_save_edit(): raise_if_login_failed(locust) # 730 /secure/EditIssue.jspa - r = locust.post(f'/secure/EditIssue.jspa?atl_token={locust.session_data_storage["atl_token"]}', - params=locust.session_data_storage['edit_issue_body'], - headers=TEXT_HEADERS, - catch_response=True) + r = locust.post( + f'/secure/EditIssue.jspa?atl_token={locust.session_data_storage["atl_token"]}', + params=locust.session_data_storage['edit_issue_body'], + headers=TEXT_HEADERS, + catch_response=True) content = r.content.decode('utf-8') if not (f'[{issue_key}]' in content): logger.error(f'Could not save edited page: {content}') assert f'[{issue_key}]' in content, 'Could not save edited page' - # 735 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("735"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 740 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("740"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 745 /rest/bamboo/latest/deploy - locust.get(f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_{timestamp_int()}', catch_response=True) + locust.get( + f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_{timestamp_int()}', + catch_response=True) # 750 /secure/AjaxIssueEditAction!default.jspa - locust.get(f'/secure/AjaxIssueEditAction!default.jspa?decorator=none&issueId=' - f'{issue_id}&_={timestamp_int()}', catch_response=True) - - # 755 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("755"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 760 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("760"), - headers=RESOURCE_HEADERS, - catch_response=True) + locust.get( + f'/secure/AjaxIssueEditAction!default.jspa?decorator=none&issueId=' + f'{issue_id}&_={timestamp_int()}', + catch_response=True) # 765 /rest/projects/1.0/project/${issue_project_key}/lastVisited - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - params.last_visited_body, - catch_response=True) - - # 770 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("770"), - headers=RESOURCE_HEADERS, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.last_visited_body, + catch_response=True) edit_issue_save_edit() @@ -524,59 +392,33 @@ def view_dashboard(locust): r = locust.get('/secure/Dashboard.jspa', catch_response=True) content = r.content.decode('utf-8') - if not (f'title="loggedInUser" value="{locust.session_data_storage["username"]}">' in content): - logger.error(f'User {locust.session_data_storage["username"]} authentication failed: {content}') + if not ( + f'title="loggedInUser" value="{locust.session_data_storage["username"]}">' in content): + logger.error( + f'User {locust.session_data_storage["username"]} authentication failed: {content}') assert f'title="loggedInUser" value="{locust.session_data_storage["username"]}">' in content, \ 'User authentication failed' - # 605 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("605"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 610 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("610"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 615 /rest/gadget/1.0/issueTable/jql - locust.get('/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard&addDefault=true' - '&enableSorting=true&paging=true&showActions=true' - '&jql=assignee+%3D+currentUser()+AND+resolution+%3D+unresolved+ORDER+BY+priority+' - 'DESC%2C+created+ASC&sortBy=&startIndex=0&_=1588507042019', - catch_response=True) + locust.get( + '/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard&addDefault=true' + '&enableSorting=true&paging=true&showActions=true' + '&jql=assignee+%3D+currentUser()+AND+resolution+%3D+unresolved+ORDER+BY+priority+' + 'DESC%2C+created+ASC&sortBy=&startIndex=0&_=1588507042019', catch_response=True) # 620 /plugins/servlet/gadgets/dashboard-diagnostics - r = locust.post('/plugins/servlet/gadgets/dashboard-diagnostics', - params={'uri': f'{JIRA_SETTINGS.server_url.lower()}//secure/Dashboard.jspa'}, - headers=TEXT_HEADERS, - catch_response=True) + r = locust.post( + '/plugins/servlet/gadgets/dashboard-diagnostics', + params={ + 'uri': f'{JIRA_SETTINGS.server_url.lower()}//secure/Dashboard.jspa'}, + headers=TEXT_HEADERS, + catch_response=True) content = r.content.decode('utf-8') if not ('Dashboard Diagnostics: OK' in content): logger.error(f'view_dashboard dashboard-diagnostics failed: {content}') assert 'Dashboard Diagnostics: OK' in content, 'view_dashboard dashboard-diagnostics failed' - # 625 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("625"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 630 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("630"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 635 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("635"), - headers=RESOURCE_HEADERS, - catch_response=True) - def add_comment(locust): params = AddComment() @@ -590,79 +432,56 @@ def add_comment_open_comment(): raise_if_login_failed(locust) # 800 /secure/AddComment!default.jspa - r = locust.get(f'/secure/AddComment!default.jspa?id={issue_id}', catch_response=True) + r = locust.get( + f'/secure/AddComment!default.jspa?id={issue_id}', + catch_response=True) content = r.content.decode('utf-8') token = fetch_by_re(params.atl_token_pattern, content) form_token = fetch_by_re(params.form_token_pattern, content) if not (f'Add Comment: {issue_key}' in content): - logger.error(f'Could not open comment in the {issue_key} issue: {content}') + logger.error( + f'Could not open comment in the {issue_key} issue: {content}') assert f'Add Comment: {issue_key}' in content, 'Could not open comment in the issue' - # 805 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("805"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 810 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("810"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 815 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("815"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 820 /rest/internal/2/user/mention/search - locust.get(f'/rest/internal/2/user/mention/search?issueKey={issue_key}&projectKey={project_key}' - f'&maxResults=10&_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/internal/2/user/mention/search?issueKey={issue_key}&projectKey={project_key}' + f'&maxResults=10&_={timestamp_int()}', + catch_response=True) locust.session_data_storage['token'] = token locust.session_data_storage['form_token'] = form_token - # 825 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("825"), - headers=RESOURCE_HEADERS, - catch_response=True) - add_comment_open_comment() @jira_measure('locust_add_comment:save_comment') def add_comment_save_comment(): raise_if_login_failed(locust) - # 845 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("845"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 850 /secure/AddComment.jspa - r = locust.post(f'/secure/AddComment.jspa?atl_token={locust.session_data_storage["token"]}', - params={"id": {issue_id}, "formToken": locust.session_data_storage["form_token"], - "dnd-dropzone": None, "comment": generate_random_string(20), - "commentLevel": None, "atl_token": locust.session_data_storage["token"], - "Add": "Add"}, - headers=TEXT_HEADERS, - catch_response=True) + r = locust.post( + f'/secure/AddComment.jspa?atl_token={locust.session_data_storage["token"]}', + params={ + "id": {issue_id}, + "formToken": locust.session_data_storage["form_token"], + "dnd-dropzone": None, + "comment": generate_random_string(20), + "commentLevel": None, + "atl_token": locust.session_data_storage["token"], + "Add": "Add"}, + headers=TEXT_HEADERS, + catch_response=True) content = r.content.decode('utf-8') - if not (f'' in content): + if not ( + f'' in content): logger.error(f'Could not save comment: {content}') assert f'' in content, 'Could not save comment' - # 860 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("860"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 865 /rest/bamboo/latest/deploy/${issue_project_key}/{issue_key} - locust.get(f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_={timestamp_int()}', + catch_response=True) # 870 /secure/AjaxIssueEditAction!default.jspa locust.get(f'/secure/AjaxIssueEditAction!default.jspa?' @@ -670,22 +489,11 @@ def add_comment_save_comment(): f'&issueId={issue_id}' f'&_={timestamp_int()}', catch_response=True) - # 875 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("875"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 880 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("880"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 885 /rest/projects/1.0/project - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - params.browse_project_payload, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.browse_project_payload, + catch_response=True) add_comment_save_comment() @@ -698,32 +506,16 @@ def browse_projects(locust): page = random.randint(1, jira_dataset['pages']) # 900 /secure/BrowseProjects.jspa - r = locust.get(f'/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=all&page={page}', - catch_response=True) + r = locust.get( + f'/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=all&page={page}', + catch_response=True) content = r.content.decode('utf-8') - if not ('WRM._unparsedData["com.atlassian.jira.project.browse:projects"]="' in content): + if not ( + 'WRM._unparsedData["com.atlassian.jira.project.browse:projects"]="' in content): logger.error(f'Could not browse projects: {content}') assert 'WRM._unparsedData["com.atlassian.jira.project.browse:projects"]="' in content, 'Could not browse projects' - # 905 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("905"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 910 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("910"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 915 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("915"), - headers=RESOURCE_HEADERS, - catch_response=True) - @jira_measure('locust_view_kanban_board') def view_kanban_board(locust): @@ -754,26 +546,10 @@ def browse_boards(locust): # 1300 /secure/ManageRapidViews.jspa locust.get('/secure/ManageRapidViews.jspa', catch_response=True) - # 1305 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1305"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 1310 /rest/greenhopper/1.0/rapidviews/viewsData - locust.get(f'/rest/greenhopper/1.0/rapidviews/viewsData?_{timestamp_int()}', catch_response=True) - - # 1315 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1315"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1320 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1320"), - headers=RESOURCE_HEADERS, - catch_response=True) + locust.get( + f'/rest/greenhopper/1.0/rapidviews/viewsData?_{timestamp_int()}', + catch_response=True) def kanban_board(locust, board_id): @@ -786,58 +562,45 @@ def kanban_board(locust, board_id): content = r.content.decode('utf-8') project_key = fetch_by_re(params.project_key_pattern, content) project_id = fetch_by_re(params.project_id_pattern, content) - project_plan = fetch_by_re(params.project_plan_pattern, content, group_no=2) + project_plan = fetch_by_re( + params.project_plan_pattern, + content, + group_no=2) if project_plan: project_plan = project_plan.replace('\\', '') - logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") + logger.locust_info( + f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") - assert re.compile(f'currentViewConfig.*id.*{board_id}').search(content), f'Could not open board with id {board_id}' - - # 1005 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1005"), - headers=RESOURCE_HEADERS, - catch_response=True) + assert re.compile(f'currentViewConfig.*id.*{board_id}').search( + content), f'Could not open board with id {board_id}' # 1010 /rest/greenhopper/1.0/xboard/config.json locust.get(f'/rest/greenhopper/1.0/xboard/config.json?' f'returnDefaultBoard=true' f'&_={timestamp_int()}', catch_response=True) - # 1015 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1015"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1025 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1025"), - headers=RESOURCE_HEADERS, - catch_response=True) - if project_key: # 1030 /rest/api/2/project/${x_project_key} - locust.get(f'/rest/api/2/project/{project_key}?_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/api/2/project/{project_key}?_={timestamp_int()}', + catch_response=True) # 1035 /rest/projects/1.0/project/{project_key}/lastVisited - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, - catch_response=True) - - # 1040 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1040"), - headers=RESOURCE_HEADERS, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + { + "id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, + catch_response=True) else: # 1045 /rest/greenhopper/1.0/xboard/toolSections - locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?mode=work&rapidViewId={board_id}' - f'&_={timestamp_int()}', - catch_response=True) + locust.get( + f'/rest/greenhopper/1.0/xboard/toolSections?mode=work&rapidViewId={board_id}' + f'&_={timestamp_int()}', catch_response=True) # 1050 /rest/greenhopper/1.0/xboard/work/allData.json - locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?rapidViewId={board_id}', catch_response=True) + locust.get( + f'/rest/greenhopper/1.0/xboard/work/allData.json?rapidViewId={board_id}', + catch_response=True) if project_id: # 1055 /rest/greenhopper/1.0/xboard/work/transitions.json @@ -845,45 +608,36 @@ def kanban_board(locust, board_id): f'projectId={project_id}' f'&_={timestamp_int()}', catch_response=True) - # 1060 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1060"), - headers=RESOURCE_HEADERS, - catch_response=True) - if project_key: # 1065 /rest/projects/1.0/project/{project_key}/lastVisited - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + { + "id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, + catch_response=True) def scrum_board(locust, board_id): params = ViewBoard(action_name='view_scrum_board') # 1100 /secure/RapidBoard.jspa - r = locust.get(f'/secure/RapidBoard.jspa?rapidView={board_id}', catch_response=True) + r = locust.get( + f'/secure/RapidBoard.jspa?rapidView={board_id}', + catch_response=True) content = r.content.decode('utf-8') project_key = fetch_by_re(params.project_key_pattern, content) project_id = fetch_by_re(params.project_id_pattern, content) - project_plan = fetch_by_re(params.project_plan_pattern, content, group_no=2) + project_plan = fetch_by_re( + params.project_plan_pattern, + content, + group_no=2) if project_plan: project_plan = project_plan.replace('\\', '') - logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") - assert re.compile(f'currentViewConfig.*id.*{board_id}').search(content), f'Could not open board with id {board_id}' - - # 1110 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1110"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1115 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1115"), - headers=RESOURCE_HEADERS, - catch_response=True) + logger.locust_info( + f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") + assert re.compile(f'currentViewConfig.*id.*{board_id}').search( + content), f'Could not open board with id {board_id}' if project_key: # 1105 /rest/greenhopper/1.0/xboard/work/allData.json @@ -912,9 +666,11 @@ def scrum_board(locust, board_id): catch_response=True) # 1060 /rest/projects/1.0/project/{project_key}/lastVisited - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + { + "id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, + catch_response=True) if not project_key: # 1140 /rest/greenhopper/1.0/xboard/toolSections @@ -929,24 +685,6 @@ def scrum_board(locust, board_id): f'rapidViewId={board_id}', catch_response=True) - # 1150 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1150"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1155 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1155"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1165 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1165"), - headers=RESOURCE_HEADERS, - catch_response=True) - def backlog_board(locust, board_id): params = ViewBoard(action_name='view_backlog') @@ -960,24 +698,17 @@ def backlog_board(locust, board_id): content = r.content.decode('utf-8') project_key = fetch_by_re(params.project_key_pattern, content) project_id = fetch_by_re(params.project_id_pattern, content) - project_plan = fetch_by_re(params.project_plan_pattern, content, group_no=2) + project_plan = fetch_by_re( + params.project_plan_pattern, + content, + group_no=2) if project_plan: project_plan = project_plan.replace('\\', '') - logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") + logger.locust_info( + f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}") - assert re.compile(f'currentViewConfig.*id.*{board_id}').search(content), f'Could not open board with id {board_id}' - - # 1210 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1210"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1215 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1215"), - headers=RESOURCE_HEADERS, - catch_response=True) + assert re.compile(f'currentViewConfig.*id.*{board_id}').search( + content), f'Could not open board with id {board_id}' if project_key: # 1205 /rest/greenhopper/1.0/xboard/plan/backlog/data.json @@ -987,7 +718,9 @@ def backlog_board(locust, board_id): catch_response=True) # 1235 /rest/api/2/project/{project_key} - locust.get(f'/rest/api/2/project/{project_key}?_={timestamp_int()}', catch_response=True) + locust.get( + f'/rest/api/2/project/{project_key}?_={timestamp_int()}', + catch_response=True) # 1240 /rest/greenhopper/1.0/xboard/toolSections locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?' @@ -1010,28 +743,12 @@ def backlog_board(locust, board_id): f'&_={timestamp_int()}', catch_response=True) - # 1255 /rest/webResources/1.0/resources - locust.post('/rest/webResources/1.0/resources', - json=params.resources_body.get("1255"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1260 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1260"), - headers=RESOURCE_HEADERS, - catch_response=True) - - # 1265 /rest/analytics/1.0/publish/bulk - locust.post('/rest/analytics/1.0/publish/bulk', - json=params.resources_body.get("1265"), - headers=RESOURCE_HEADERS, - catch_response=True) - # 1285 /rest/projects/1.0/project/{project_key}/lastVisited - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', - {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + { + "id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"}, + catch_response=True) if not project_key: # 1270 /rest/greenhopper/1.0/xboard/toolSections diff --git a/app/locustio/jsm/agents/agents_http_actions.py b/app/locustio/jsm/agents/agents_http_actions.py index ed646292d..562010012 100644 --- a/app/locustio/jsm/agents/agents_http_actions.py +++ b/app/locustio/jsm/agents/agents_http_actions.py @@ -56,26 +56,16 @@ def agent_login_and_view_dashboard(locust, jsm_agent_dataset): if not r.content: raise Exception('Please check server hostname in jsm.yml file') content = r.content.decode('utf-8') - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("110"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.post("/plugins/servlet/gadgets/dashboard-diagnostics", {"uri": f"{locust.client.base_url.lower()}/secure/Dashboard.jspa"}, TEXT_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("120"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("125"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("130"), - headers=RESOURCE_HEADERS, catch_response=True) - - locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True) - locust.get(f'/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard' - f'&addDefault=true&enableSorting=true&paging=true&showActions=true' - f'&jql=assignee+%3D+currentUser()+AND' - f'+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC' - f'&sortBy=&startIndex=0&_={timestamp_int()}', catch_response=True) - locust.get(f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}', - catch_response=True) + locust.get( + f'/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard' + f'&addDefault=true&enableSorting=true&paging=true&showActions=true' + f'&jql=assignee+%3D+currentUser()+AND' + f'+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC' + f'&sortBy=&startIndex=0&_={timestamp_int()}', catch_response=True) # Assertions token = fetch_by_re(params.atl_token_pattern, content) if not (f'title="loggedInUser" value="{user[0]}">' in content): @@ -85,14 +75,17 @@ def agent_login_and_view_dashboard(locust, jsm_agent_dataset): locust.session_data_storage['username'] = user[0] locust.session_data_storage['password'] = user[1] locust.session_data_storage["token"] = token - logger.locust_info(f"{params.action_name}: User {user[0]} logged in with atl_token: {token}") + logger.locust_info( + f"{params.action_name}: User {user[0]} logged in with atl_token: {token}") @jsm_agent_measure('locust_agent_view_queues_small:all_open_queue') def agent_view_queue_all_open_small(locust): - view_project_queue(locust=locust, project_key=locust.session_data_storage['s_project_key'], - project_id=locust.session_data_storage['s_project_id'], - queue_id=locust.session_data_storage['s_project_all_open_queue_id']) + view_project_queue( + locust=locust, + project_key=locust.session_data_storage['s_project_key'], + project_id=locust.session_data_storage['s_project_id'], + queue_id=locust.session_data_storage['s_project_all_open_queue_id']) @jsm_agent_measure('locust_agent_view_queues_small:random_queue') @@ -106,9 +99,11 @@ def agent_view_queue_random_small(locust): @jsm_agent_measure('locust_agent_view_queues_medium:all_open_queue') def agent_view_queue_all_open_medium(locust): - view_project_queue(locust=locust, project_key=locust.session_data_storage['m_project_key'], - project_id=locust.session_data_storage['m_project_id'], - queue_id=locust.session_data_storage['m_project_all_open_queue_id']) + view_project_queue( + locust=locust, + project_key=locust.session_data_storage['m_project_key'], + project_id=locust.session_data_storage['m_project_id'], + queue_id=locust.session_data_storage['m_project_all_open_queue_id']) @jsm_agent_measure('locust_agent_view_queues_medium:random_queue') @@ -123,38 +118,17 @@ def agent_view_queue_random_medium(locust): @jsm_agent_measure('locust_agent_browse_projects') def agent_browse_projects(locust): params = BrowseProjects() - locust.get('/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=service_desk', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("272"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("274"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("276"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.get( + '/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=service_desk', + catch_response=True) @jsm_agent_measure('locust_agent_view_request') def agent_view_request(locust): params = ViewRequest() - locust.get(f'/browse/{locust.session_data_storage["request_key"]}', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("282"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("286"), - headers=RESOURCE_HEADERS, catch_response=True) - - analytics_bulk = params.resources_body.get("288") - analytics_bulk[0]['properties']['issueId'] = locust.session_data_storage["request_id"] - analytics_bulk[0]['properties']['projectId'] = locust.session_data_storage['request_project_id'] - locust.post('/rest/analytics/1.0/publish/bulk', json=analytics_bulk, - headers=RESOURCE_HEADERS, catch_response=True) - - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("290"), - headers=RESOURCE_HEADERS, catch_response=True) - - analytics_bulk = params.resources_body.get("292") - analytics_bulk[0]['properties']['issueId'] = locust.session_data_storage["request_id"] - analytics_bulk[0]['properties']['projectId'] = locust.session_data_storage['request_project_id'] - locust.post('/rest/analytics/1.0/publish/bulk', json=analytics_bulk, - headers=RESOURCE_HEADERS, catch_response=True) + locust.get( + f'/browse/{locust.session_data_storage["request_key"]}', + catch_response=True) def agent_add_comment(locust): @@ -162,53 +136,54 @@ def agent_add_comment(locust): @jsm_agent_measure('locust_agent_add_comment:open_request_comment') def agent_open_request_comment(locust): - locust.get(f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}?' - f'issueKey={locust.session_data_storage["request_key"]}&' - f'limitUsagesToUser=true&' - f'limit=5&' - f'daysSince=30&' - f'substitute=true&' - f'_{timestamp_int()}', catch_response=True) - locust.get(f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}?' - f'issueKey={locust.session_data_storage["request_key"]}&' - f'limit=5&' - f'substitute=true&' - f'_{timestamp_int()}', catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("304"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("306"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.get( + f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}?' + f'issueKey={locust.session_data_storage["request_key"]}&' + f'limitUsagesToUser=true&' + f'limit=5&' + f'daysSince=30&' + f'substitute=true&' + f'_{timestamp_int()}', + catch_response=True) + locust.get( + f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}?' + f'issueKey={locust.session_data_storage["request_key"]}&' + f'limit=5&' + f'substitute=true&' + f'_{timestamp_int()}', + catch_response=True) @jsm_agent_measure('locust_agent_add_comment:save_request_comment') def agent_save_request_comment(locust): comment = f'Locust comment {generate_random_string(10)}' - body = {"body": f"{comment}", "properties": [{"key": "sd.public.comment", "value": {"internal": True}}]} - locust.post(f'/rest/api/2/issue/{locust.session_data_storage["request_id"]}/comment', headers=RESOURCE_HEADERS, - json=body, catch_response=True) + body = {"body": f"{comment}", "properties": [ + {"key": "sd.public.comment", "value": {"internal": True}}]} + locust.post( + f'/rest/api/2/issue/{locust.session_data_storage["request_id"]}/comment', + headers=RESOURCE_HEADERS, + json=body, + catch_response=True) TEXT_HEADERS['X-SITEMESH-OFF'] = 'true' - locust.post('/secure/AjaxIssueAction!default.jspa', params={"decorator": None, - "issueKey": - locust.session_data_storage["request_id"], - "prefetch": False, - "shouldUpdateCurrentProject": True}, - headers=TEXT_HEADERS, catch_response=True) - - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("314"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}' - f'?issueKey={locust.session_data_storage["request_key"]}&' - f'limitUsagesToUser=true&limit=5&daysSince=30&substitute=true&_={timestamp_int()}', - catch_response=True) - locust.get(f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}' - f'?issueKey={locust.session_data_storage["request_key"]}&' - f'limit=5&substitute=true&_={timestamp_int()}', - catch_response=True) - analytics_bulk = params.resources_body.get("320") - analytics_bulk[1]['properties']['issueId'] = locust.session_data_storage["request_id"] - analytics_bulk[1]['properties']['projectId'] = locust.session_data_storage['request_project_id'] - locust.post('/rest/analytics/1.0/publish/bulk', json=analytics_bulk, - headers=RESOURCE_HEADERS, catch_response=True) + locust.post( + '/secure/AjaxIssueAction!default.jspa', + params={ + "decorator": None, + "issueKey": locust.session_data_storage["request_id"], + "prefetch": False, + "shouldUpdateCurrentProject": True}, + headers=TEXT_HEADERS, + catch_response=True) + + locust.get( + f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}' + f'?issueKey={locust.session_data_storage["request_key"]}&' + f'limitUsagesToUser=true&limit=5&daysSince=30&substitute=true&_={timestamp_int()}', + catch_response=True) + locust.get( + f'/rest/servicedesk/canned-responses/1/search/{locust.session_data_storage["request_project_key"]}' + f'?issueKey={locust.session_data_storage["request_key"]}&' + f'limit=5&substitute=true&_={timestamp_int()}', catch_response=True) agent_open_request_comment(locust) agent_save_request_comment(locust) @@ -218,30 +193,40 @@ def agent_save_request_comment(locust): def agent_view_report_workload_small(locust): small_project_id = locust.session_data_storage['s_project_id'] small_project_key = locust.session_data_storage['s_project_key'] - view_workload_report(locust=locust, project_id=small_project_id, project_key=small_project_key) + view_workload_report( + locust=locust, + project_id=small_project_id, + project_key=small_project_key) @jsm_agent_measure('locust_agent_view_report_workload_medium') def agent_view_report_workload_medium(locust): medium_project_id = locust.session_data_storage['m_project_id'] medium_project_key = locust.session_data_storage['m_project_key'] - view_workload_report(locust=locust, project_id=medium_project_id, project_key=medium_project_key) + view_workload_report( + locust=locust, + project_id=medium_project_id, + project_key=medium_project_key) @jsm_agent_measure('locust_agent_view_report_created_vs_resolved_small') def agent_view_report_created_vs_resolved_small(locust): created_vs_resolved_id = locust.session_data_storage['s_created_vs_resolved_queue_id'] small_project_key = locust.session_data_storage['s_project_key'] - view_created_vs_resolved_report(locust=locust, project_key=small_project_key, - created_vs_resolved_id=created_vs_resolved_id) + view_created_vs_resolved_report( + locust=locust, + project_key=small_project_key, + created_vs_resolved_id=created_vs_resolved_id) @jsm_agent_measure('locust_agent_view_report_created_vs_resolved_medium') def agent_view_report_created_vs_resolved_medium(locust): created_vs_resolved_id = locust.session_data_storage['m_created_vs_resolved_queue_id'] medium_project_key = locust.session_data_storage['m_project_key'] - view_created_vs_resolved_report(locust=locust, project_key=medium_project_key, - created_vs_resolved_id=created_vs_resolved_id) + view_created_vs_resolved_report( + locust=locust, + project_key=medium_project_key, + created_vs_resolved_id=created_vs_resolved_id) @jsm_agent_measure('locust_agent_view_customers') @@ -249,41 +234,38 @@ def agent_view_customers(locust): params = ViewCustomers() small_project_key = locust.session_data_storage['s_project_key'] locust.get(f'/projects/{small_project_key}/customers', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("472"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("474"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("476"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("478"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("480"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.client.put(f'/rest/projects/1.0/project/{small_project_key}/lastVisited', params.last_visited_body, - catch_response=True) - locust.get(f'/rest/servicedesk/1/pages/people/customers/pagination/{small_project_key}', catch_response=True) - locust.get(f'/rest/servicedesk/1/pages/people/customers/pagination/{small_project_key}/search?query=&page=1', - catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{small_project_key}/lastVisited', + params.last_visited_body, + catch_response=True) + locust.get( + f'/rest/servicedesk/1/pages/people/customers/pagination/{small_project_key}', + catch_response=True) + locust.get( + f'/rest/servicedesk/1/pages/people/customers/pagination/{small_project_key}/search?query=&page=1', + catch_response=True) def view_project_queue(locust, project_key, project_id, queue_id): params = AllOpenQueue() - locust.get(f'/projects/{project_key}/queues/custom/{queue_id}', catch_response=True) - analytics_bulk_body = params.resources_body.get("208") - analytics_bulk_body[0]['properties']['projectId'] = project_id - locust.post('/rest/analytics/1.0/publish/bulk', json=analytics_bulk_body, - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("210"), - headers=RESOURCE_HEADERS, catch_response=True) - - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.last_visited_project_body, - catch_response=True) + locust.get( + f'/projects/{project_key}/queues/custom/{queue_id}', + catch_response=True) + + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.last_visited_project_body, + catch_response=True) locust.get(f'/rest/projects/1.0/subnav/sd-queues-nav?_={timestamp_int()}', catch_response=True) - r = locust.post(f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.' - f'queues,servicedesk.agent.queues.ungrouped', headers=RESOURCE_HEADERS, - json={"projectKey": f"{project_key}"}, catch_response=True) + r = locust.post( + f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.' + f'queues,servicedesk.agent.queues.ungrouped', + headers=RESOURCE_HEADERS, + json={ + "projectKey": f"{project_key}"}, + catch_response=True) queues_info = json.loads(r.content) queues_ids = [] @@ -292,131 +274,131 @@ def view_project_queue(locust, project_key, project_id, queue_id): for item in items: if item: for queue in item: - if queue['label'] not in ['All open', 'Recently resolved', 'Resolved past 7 days'] \ - and queue['params']['count'] != '0': + if queue['label'] not in [ + 'All open', + 'Recently resolved', + 'Resolved past 7 days'] and queue['params']['count'] != '0': queues_ids.append(queue['key']) # Set small project random queue id for action 'view_queue_random' - locust.session_data_storage[f'{project_key}_random_queue_id'] = random.choice(queues_ids) - - locust.client.put('/rest/projects/1.0/subnav/sd-queues-nav/pin', headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("220"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("222"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/1/servicedesk/{project_key}/queues/page?_={timestamp_int()}', - catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("226"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/1/servicedesk/{project_key}/queues/queues-limit?_={timestamp_int()}', - catch_response=True) - - locust.get(f"/rest/servicedesk/1/servicedesk/{project_key}/issuelist?asc=false&excludeLinkedToMajorIncidents=" - f"false&startIndex=0&columnNames=duedate&jql=project+%3D+{project_key}+AND+resolution+%3D+Unresolved+" - f"ORDER+BY+%22Time+to+resolution%22+ASC&issuesPerPage=50&orderBy=", catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("234"), - headers=RESOURCE_HEADERS, catch_response=True) - - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("240"), - headers=RESOURCE_HEADERS, catch_response=True) - - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("242"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/1/servicedesk/{project_key}/queues/poll?projectStateHash=undefined?_' - f'={timestamp_int()}', catch_response=True) - - locust.post(f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.' - f'queues,servicedesk.agent.queues.ungrouped', headers=RESOURCE_HEADERS, - json={"projectKey": f"{project_key}"}, catch_response=True) - locust.get(f"/rest/servicedesk/1/servicedesk/{project_key}/issuelist/updated?asc=false" - f"&excludeLinkedToMajorIncidents=false¤tIssueHash=f28505024e00a8d3cc3a408bffacba4d44803233" - f"&startIndex=0&columnNames=duedate" - f"&jql=project+%3D+{project_key}+AND+resolution+%3D+Unresolved+" - f"ORDER+BY+%22Time+to+resolution%22+ASC&issuesPerPage=50&orderBy=", catch_response=True) - locust.client.put('/rest/projects/1.0/subnav/sd-queues-nav/pin', headers=RESOURCE_HEADERS, catch_response=True) + locust.session_data_storage[f'{project_key}_random_queue_id'] = random.choice( + queues_ids) + + locust.client.put( + '/rest/projects/1.0/subnav/sd-queues-nav/pin', + headers=RESOURCE_HEADERS, + catch_response=True) + locust.get( + f'/rest/servicedesk/1/servicedesk/{project_key}/queues/page?_={timestamp_int()}', + catch_response=True) + locust.get( + f'/rest/servicedesk/1/servicedesk/{project_key}/queues/queues-limit?_={timestamp_int()}', + catch_response=True) + + locust.get( + f"/rest/servicedesk/1/servicedesk/{project_key}/issuelist?asc=false&excludeLinkedToMajorIncidents=" + f"false&startIndex=0&columnNames=duedate&jql=project+%3D+{project_key}+AND+resolution+%3D+Unresolved+" + f"ORDER+BY+%22Time+to+resolution%22+ASC&issuesPerPage=50&orderBy=", catch_response=True) + + locust.get( + f'/rest/servicedesk/1/servicedesk/{project_key}/queues/poll?projectStateHash=undefined?_' + f'={timestamp_int()}', + catch_response=True) + + locust.post( + f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-queues-nav,servicedesk.agent.' + f'queues,servicedesk.agent.queues.ungrouped', + headers=RESOURCE_HEADERS, + json={ + "projectKey": f"{project_key}"}, + catch_response=True) + locust.get( + f"/rest/servicedesk/1/servicedesk/{project_key}/issuelist/updated?asc=false" + f"&excludeLinkedToMajorIncidents=false¤tIssueHash=f28505024e00a8d3cc3a408bffacba4d44803233" + f"&startIndex=0&columnNames=duedate" + f"&jql=project+%3D+{project_key}+AND+resolution+%3D+Unresolved+" + f"ORDER+BY+%22Time+to+resolution%22+ASC&issuesPerPage=50&orderBy=", + catch_response=True) + locust.client.put( + '/rest/projects/1.0/subnav/sd-queues-nav/pin', + headers=RESOURCE_HEADERS, + catch_response=True) def view_workload_report(locust, project_key, project_id): params = ViewWorkloadReport() - locust.get(f'/projects/{project_key}/reports/workload', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("324"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/1/servicedesk/{project_key}/precondition?_{timestamp_int()}', catch_response=True) - locust.get(f'/rest/servicedesk/1/servicedesk/{project_key}/warnings?_{timestamp_int()}', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("330"), - headers=RESOURCE_HEADERS, catch_response=True) - analytics_bulk = params.resources_body.get("332") - analytics_bulk[0]['properties']['projectId'] = project_id - locust.post('/rest/analytics/1.0/publish/bulk', json=analytics_bulk, - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("334"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.last_visited_project_body, - catch_response=True) - locust.get(f'/rest/projects/1.0/subnav/sd-reports-nav?_={timestamp_int()}', - catch_response=True) - locust.post(f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,' - f'servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', - json={"projectKey": project_key}, catch_response=True) - locust.client.put('/rest/projects/1.0/subnav/sd-reports-nav/pin', headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("344"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/1/pages/people/agents/{project_key}/search?_query=&_={timestamp_int()}', - catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("348"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.get( + f'/projects/{project_key}/reports/workload', + catch_response=True) + + locust.get( + f'/rest/servicedesk/1/servicedesk/{project_key}/precondition?_{timestamp_int()}', + catch_response=True) + locust.get( + f'/rest/servicedesk/1/servicedesk/{project_key}/warnings?_{timestamp_int()}', + catch_response=True) + + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.last_visited_project_body, + catch_response=True) + + locust.post( + f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,' + f'servicedesk.agent.reports,servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', + json={ + "projectKey": project_key}, + catch_response=True) + + locust.get( + f'/rest/servicedesk/1/pages/people/agents/{project_key}/search?_query=&_={timestamp_int()}', + catch_response=True) def view_time_to_resolution_report(locust, project_key, time_to_resolution_id): params = ViewTimeToResolutionReport() - locust.get(f'/projects/{project_key}/reports/custom/{time_to_resolution_id}/timescale/2', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("352"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("354"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("356"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("358"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.last_visited_body, - catch_response=True) + locust.get( + f'/projects/{project_key}/reports/custom/{time_to_resolution_id}/timescale/2', + catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.last_visited_body, + catch_response=True) locust.get(f'/rest/projects/1.0/subnav/sd-reports-nav?_={timestamp_int()}', catch_response=True) - locust.post(f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,' - f'servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', json={"projectKey": project_key}, - catch_response=True) - locust.client.put('/rest/projects/1.0/subnav/sd-queues-nav/pin', headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("368"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/reports/1/servicedesk/{project_key}/report/{time_to_resolution_id}?' - f'timescaleId=2&_={timestamp_int()}', catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("372"), - headers=RESOURCE_HEADERS, catch_response=True) - - -def view_created_vs_resolved_report(locust, project_key, created_vs_resolved_id): + locust.post( + f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,' + f'servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', + json={ + "projectKey": project_key}, + catch_response=True) + locust.get( + f'/rest/servicedesk/reports/1/servicedesk/{project_key}/report/{time_to_resolution_id}?' + f'timescaleId=2&_={timestamp_int()}', + catch_response=True) + + +def view_created_vs_resolved_report( + locust, + project_key, + created_vs_resolved_id): params = ViewReportCreatedVsResolved() - locust.get(f'/projects/{project_key}/reports/custom/{created_vs_resolved_id}/timescale/2', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("382"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("384"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("386"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("388"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.last_visited_body, - catch_response=True) + locust.get( + f'/projects/{project_key}/reports/custom/{created_vs_resolved_id}/timescale/2', + catch_response=True) + locust.client.put( + f'/rest/projects/1.0/project/{project_key}/lastVisited', + params.last_visited_body, + catch_response=True) locust.get(f'/rest/projects/1.0/subnav/sd-reports-nav?_={timestamp_int()}', catch_response=True) - locust.post(f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,' - f'servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', json={"projectKey": project_key}, - catch_response=True) - locust.client.put('/rest/projects/1.0/subnav/sd-queues-nav/pin', headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("398"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.get(f'/rest/servicedesk/reports/1/servicedesk/{project_key}/report/{created_vs_resolved_id}', - catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("402"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.post( + f'/rest/servicedesk/1/{project_key}/webfragments/sections/sd-reports-nav,servicedesk.agent.reports,' + f'servicedesk.agent.reports.ungrouped,sd-reports-nav-custom-section', + json={ + "projectKey": project_key}, + catch_response=True) + locust.get( + f'/rest/servicedesk/reports/1/servicedesk/{project_key}/report/{created_vs_resolved_id}', + catch_response=True) diff --git a/app/locustio/jsm/customers/customers_http_actions.py b/app/locustio/jsm/customers/customers_http_actions.py index 62dc65caf..3e249e492 100644 --- a/app/locustio/jsm/customers/customers_http_actions.py +++ b/app/locustio/jsm/customers/customers_http_actions.py @@ -25,7 +25,8 @@ def customer_login_and_view_portals(locust): user = random.choice(jsm_customer_dataset["customers"]) customer_requests = user[2:] - customer_requests_chunks = [customer_requests[x:x + 3] for x in range(0, len(customer_requests), 3)] + customer_requests_chunks = [customer_requests[x:x + 3] + for x in range(0, len(customer_requests), 3)] customer_request = random.choice(customer_requests_chunks) locust.session_data_storage['request_portal_id'] = customer_request[0] @@ -46,16 +47,22 @@ def customer_login_and_view_portals(locust): locust.session_data_storage['username'] = user[0] locust.session_data_storage['password'] = user[1] - r = locust.post('/servicedesk/customer/user/login', body, TEXT_HEADERS, catch_response=True) + r = locust.post( + '/servicedesk/customer/user/login', + body, + TEXT_HEADERS, + catch_response=True) locust.get('/servicedesk/customer/portals', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("110"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/servicedesk/1/customer/models', json=params.resources_body.get("115"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("120"), - headers=RESOURCE_HEADERS, catch_response=True) - assert '"loginSucceeded":true' in r.content.decode('utf-8'), 'Customer login is failed' + + locust.post( + '/rest/servicedesk/1/customer/models', + json=params.resources_body.get("115"), + headers=RESOURCE_HEADERS, + catch_response=True) + + assert '"loginSucceeded":true' in r.content.decode( + 'utf-8'), 'Customer login is failed' @jsm_customer_measure('locust_customer_view_portal') @@ -63,11 +70,9 @@ def customer_view_portal(locust): params = ViewPortal() s_service_desk_id = locust.session_data_storage['s_service_desk_id'] - locust.get(f'/servicedesk/customer/portal/{s_service_desk_id}', catch_response=True) - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("205"), - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("210"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.get( + f'/servicedesk/customer/portal/{s_service_desk_id}', + catch_response=True) def customer_view_requests(locust): @@ -76,48 +81,93 @@ def customer_view_requests(locust): @jsm_customer_measure('locust_customer_view_requests:my_requests') def customer_view_my_requests(locust): - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("250"), - headers=RESOURCE_HEADERS, catch_response=True) - customer_models = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "announcement", - "allReqFilter", "portalWebFragments", "organisations"], - "options": - {"portalId": s_service_desk_id, "allReqFilter": - {"reporter": "", "status": "open", "portalId": "", "requestTypeId": "", "filter": "", - "selectedPage": 1}, - "portalWebFragments": {"portalPage": "MY_REQUESTS"}}} - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, headers=RESOURCE_HEADERS, - catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("260"), - headers=RESOURCE_HEADERS, catch_response=True) + + customer_models = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "announcement", + "allReqFilter", + "portalWebFragments", + "organisations"], + "options": { + "portalId": s_service_desk_id, + "allReqFilter": { + "reporter": "", + "status": "open", + "portalId": "", + "requestTypeId": "", + "filter": "", + "selectedPage": 1}, + "portalWebFragments": { + "portalPage": "MY_REQUESTS"}}} + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) @jsm_customer_measure('locust_customer_view_requests:all_requests') def customer_view_all_requests(locust): - locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("300"), - headers=RESOURCE_HEADERS, catch_response=True) - customer_models = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "announcement", - "allReqFilter", "portalWebFragments", "organisations"], - "options": {"portalId": s_service_desk_id, - "allReqFilter": {"reporter": "all", "status": "open", "portalId": "", - "requestTypeId": "", - "filter": "", "selectedPage": 1}, "portalWebFragments": - {"portalPage": "MY_REQUESTS"}}} - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, headers=RESOURCE_HEADERS, - catch_response=True) + + customer_models = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "announcement", + "allReqFilter", + "portalWebFragments", + "organisations"], + "options": { + "portalId": s_service_desk_id, + "allReqFilter": { + "reporter": "all", + "status": "open", + "portalId": "", + "requestTypeId": "", + "filter": "", + "selectedPage": 1}, + "portalWebFragments": { + "portalPage": "MY_REQUESTS"}}} + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) @jsm_customer_measure('locust_customer_view_requests:with_filter_requests') def customer_view_all_requests_with_filter(locust): portal_request_filter = f'*{generate_random_string(1, only_letters=True)}' \ f'*{generate_random_string(1, only_letters=True)}*' - customer_models = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "announcement", - "allReqFilter", "portalWebFragments", "organisations"], - "options": {"allReqFilter": {"reporter": "all", "status": "open", "portalId": "", - "requestTypeId": "", "filter": f"{portal_request_filter}", - "selectedPage": 1}, "portalWebFragments": - {"portalPage": "MY_REQUESTS"}}} - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, headers=RESOURCE_HEADERS, - catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("325"), - headers=RESOURCE_HEADERS, catch_response=True) + customer_models = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "announcement", + "allReqFilter", + "portalWebFragments", + "organisations"], + "options": { + "allReqFilter": { + "reporter": "all", + "status": "open", + "portalId": "", + "requestTypeId": "", + "filter": f"{portal_request_filter}", + "selectedPage": 1}, + "portalWebFragments": { + "portalPage": "MY_REQUESTS"}}} + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) customer_view_my_requests(locust) customer_view_all_requests(locust) @@ -129,17 +179,29 @@ def customer_view_request(locust): params = ViewRequest() request_portal_id = locust.session_data_storage['request_portal_id'] request_key = locust.session_data_storage['request_key'] - customer_models = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "portal", "reqDetails", - "portalWebFragments"], - "options": {"portalId": f"{request_portal_id}", - "portal": {"id": f"{request_portal_id}"}, - "reqDetails": {"key": f"{request_key}"}, - "portalWebFragments": {"portalPage": "VIEW_REQUEST"}}} - - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, headers=RESOURCE_HEADERS, - catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("355"), - headers=RESOURCE_HEADERS, catch_response=True) + customer_models = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "portal", + "reqDetails", + "portalWebFragments"], + "options": { + "portalId": f"{request_portal_id}", + "portal": { + "id": f"{request_portal_id}"}, + "reqDetails": { + "key": f"{request_key}"}, + "portalWebFragments": { + "portalPage": "VIEW_REQUEST"}}} + + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) @jsm_customer_measure('locust_customer_add_comment') @@ -147,11 +209,14 @@ def customer_add_comment(locust): params = AddComment() p_comment = f'Locust comment {generate_random_string(10)}' request_id = locust.session_data_storage['request_id'] - locust.post('/rest/servicedesk/1/servicedesk/customer/comment', json={"fileIds": [], "comment": f"{p_comment}", - "issueId": f"{request_id}"}, - headers=RESOURCE_HEADERS, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("365"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.post( + '/rest/servicedesk/1/servicedesk/customer/comment', + json={ + "fileIds": [], + "comment": f"{p_comment}", + "issueId": f"{request_id}"}, + headers=RESOURCE_HEADERS, + catch_response=True) def customer_share_request_with_customer(locust): @@ -160,8 +225,9 @@ def customer_share_request_with_customer(locust): @jsm_customer_measure('locust_customer_share_request_with_customer:search_customer') def customer_search_customer_for_share_with(locust): - r = locust.get(f'/rest/servicedesk/1/customer/participants/{request_key}/search?q=performance_c', - catch_response=True) + r = locust.get( + f'/rest/servicedesk/1/customer/participants/{request_key}/search?q=performance_c', + catch_response=True) text_response = json.loads(r.content) # If at least one user was found @@ -170,29 +236,36 @@ def customer_search_customer_for_share_with(locust): locust.session_data_storage['customer_id_share_with'] = user_to_share_with['id'] locust.session_data_storage['customer_key_share_with'] = user_to_share_with['userKey'] - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("410"), - headers=RESOURCE_HEADERS, catch_response=True) - @jsm_customer_measure('locust_customer_share_request_with_customer:add_customer') def customer_add_customer(locust): if locust.session_data_storage['customer_id_share_with']: - locust.client.put(f'/rest/servicedesk/1/customer/participants/{request_key}/share', - json={"usernames": [f"{locust.session_data_storage['customer_id_share_with']}"], - "organisationIds": [], "emails": []}, - headers=RESOURCE_HEADERS, catch_response=True) + locust.client.put( + f'/rest/servicedesk/1/customer/participants/{request_key}/share', + json={ + "usernames": [f"{locust.session_data_storage['customer_id_share_with']}"], + "organisationIds": [], + "emails": []}, + headers=RESOURCE_HEADERS, + catch_response=True) @jsm_customer_measure('locust_customer_share_request_with_customer:remove_customer') def customer_remove_customer(locust): if locust.session_data_storage['customer_id_share_with']: - locust.post(f'/rest/servicedesk/1/servicedesk/customer/participant/removeParticipant/{request_key}', - json={"userKey": f"{locust.session_data_storage['customer_key_share_with']}"}, - headers=RESOURCE_HEADERS, catch_response=True) + locust.post( + f'/rest/servicedesk/1/servicedesk/customer/participant/removeParticipant/{request_key}', + json={ + "userKey": f"{locust.session_data_storage['customer_key_share_with']}"}, + headers=RESOURCE_HEADERS, + catch_response=True) customer_models = params.resources_body.get('460') customer_models['options']['portalId'] = locust.session_data_storage['request_portal_id'] customer_models['options']['portal']['id'] = locust.session_data_storage['request_portal_id'] customer_models['options']['reqDetails']['key'] = locust.session_data_storage['request_key'] - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, headers=RESOURCE_HEADERS, - catch_response=True) + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) customer_search_customer_for_share_with(locust) customer_add_customer(locust) @@ -205,36 +278,50 @@ def customer_share_request_with_org(locust): @jsm_customer_measure('locust_customer_share_request_with_org:search_org') def customer_search_org_for_share_with(locust): - r = locust.get(f'/rest/servicedesk/1/customer/participants/{request_key}/search?q=perf_org', - catch_response=True) + r = locust.get( + f'/rest/servicedesk/1/customer/participants/{request_key}/search?q=perf_org', + catch_response=True) content = json.loads(r.content) if content: - locust.session_data_storage['org_id_share_with'] = random.choice(content)['id'] - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("510"), - headers=RESOURCE_HEADERS, catch_response=True) + locust.session_data_storage['org_id_share_with'] = random.choice(content)[ + 'id'] @jsm_customer_measure('locust_customer_share_request_with_org:add_org') def customer_add_org(locust): if 'org_id_share_with' in locust.session_data_storage: - locust.client.put(f'/rest/servicedesk/1/customer/participants/{request_key}/share', - json={"usernames": [], "organisationIds": - [f"{locust.session_data_storage['org_id_share_with']}"], - "emails": []}, - catch_response=True) + locust.client.put( + f'/rest/servicedesk/1/customer/participants/{request_key}/share', + json={ + "usernames": [], + "organisationIds": [f"{locust.session_data_storage['org_id_share_with']}"], + "emails": []}, + catch_response=True) @jsm_customer_measure('locust_customer_share_request_with_org:remove_org') def customer_remove_org(locust): if 'org_id_share_with' in locust.session_data_storage: - locust.client.put(f'/rest/servicedesk/1/customer/participants/{request_key}/removeOrganisation', - json={"organisationId": locust.session_data_storage['org_id_share_with']}, - catch_response=True) - customer_model = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "portal", - "reqDetails", "portalWebFragments"], - "options": - {"portalId": f"{locust.session_data_storage['request_portal_id']}", - "portal": {"id": f"{locust.session_data_storage['request_portal_id']}"}, - "reqDetails": {"key": f"{request_key}"}, "portalWebFragments": - {"portalPage": "VIEW_REQUEST"}}} + locust.client.put( + f'/rest/servicedesk/1/customer/participants/{request_key}/removeOrganisation', + json={ + "organisationId": locust.session_data_storage['org_id_share_with']}, + catch_response=True) + customer_model = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "portal", + "reqDetails", + "portalWebFragments"], + "options": { + "portalId": f"{locust.session_data_storage['request_portal_id']}", + "portal": { + "id": f"{locust.session_data_storage['request_portal_id']}"}, + "reqDetails": { + "key": f"{request_key}"}, + "portalWebFragments": { + "portalPage": "VIEW_REQUEST"}}} locust.post('/rest/servicedesk/1/customer/models', json=customer_model, headers=RESOURCE_HEADERS, catch_response=True) @@ -251,44 +338,82 @@ def customer_create_request(locust): @jsm_customer_measure('locust_customer_create_request:open_create_request_view') def customer_open_create_request_view(locust): - customer_model = {"models": - ["user", "organisations", "sharedPortal", "portal", "helpCenterBranding", "reqCreate", - "portalWebFragments"], "options": {"portalId": f"{rt_service_desk_id}", - "portal": {"id": f"{rt_service_desk_id}"}, - "reqCreate": {"id": f"{rt_id}"}, - "portalWebFragments": {"portalPage": "CREATE_REQUEST"}}} - locust.post('/rest/servicedesk/1/customer/models', json=customer_model, - headers={"Accept": "*/*", "Content-Type": "application/json"}, catch_response=True) - locust.post('/rest/analytics/1.0/publish/bulk', json=params.resources_body.get("602"), - headers=RESOURCE_HEADERS, catch_response=True) + customer_model = { + "models": [ + "user", + "organisations", + "sharedPortal", + "portal", + "helpCenterBranding", + "reqCreate", + "portalWebFragments"], + "options": { + "portalId": f"{rt_service_desk_id}", + "portal": { + "id": f"{rt_service_desk_id}"}, + "reqCreate": { + "id": f"{rt_id}"}, + "portalWebFragments": { + "portalPage": "CREATE_REQUEST"}}} + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_model, + headers={ + "Accept": "*/*", + "Content-Type": "application/json"}, + catch_response=True) @jsm_customer_measure('locust_customer_create_request:create_request') def customer_create_request(locust): p_summary = f'Locust summary {generate_random_string(10, only_letters=True)}' p_description = f'Locust description {generate_random_string(10)}' - params_create_issue = {"sd-kb-article-viewed": "false", "summary": p_summary, "description": p_description, - "pid": rt_project_id, "projectId": rt_project_id} + params_create_issue = { + "sd-kb-article-viewed": "false", + "summary": p_summary, + "description": p_description, + "pid": rt_project_id, + "projectId": rt_project_id} TEXT_HEADERS['X-Atlassian-Token'] = 'no-check' - r = locust.post(f'/servicedesk/customer/portal/{rt_service_desk_id}/create/{rt_id}', params=params_create_issue, - headers=TEXT_HEADERS, catch_response=True) + r = locust.post( + f'/servicedesk/customer/portal/{rt_service_desk_id}/create/{rt_id}', + params=params_create_issue, + headers=TEXT_HEADERS, + catch_response=True) content = json.loads(r.content) locust.session_data_storage['create_issue_key'] = content['issue']['key'] - locust.post('/rest/servicedesk/project-ui/noeyeball/1/welcome-guide/item-completer/completeItem/' - 'create-request', - headers={"Accept": "*/*"}, catch_response=True) + locust.post( + '/rest/servicedesk/project-ui/noeyeball/1/welcome-guide/item-completer/completeItem/' + 'create-request', + headers={ + "Accept": "*/*"}, + catch_response=True) @jsm_customer_measure('locust_customer_create_request:view_request_after_creation') def customer_view_request_after_creation(locust): - customer_models = {"models": ["user", "organisations", "sharedPortal", "helpCenterBranding", "portal", - "reqDetails", "portalWebFragments"], - "options": {"portalId": f"{rt_service_desk_id}", - "portal": {"id": f"{rt_service_desk_id}"}, - "reqDetails": {"key": f"{locust.session_data_storage['create_issue_key']}"}, - "portalWebFragments": {"portalPage": "VIEW_REQUEST"}}} - locust.post('/rest/servicedesk/1/customer/models', json=customer_models, - headers=RESOURCE_HEADERS, catch_response=True) + customer_models = { + "models": [ + "user", + "organisations", + "sharedPortal", + "helpCenterBranding", + "portal", + "reqDetails", + "portalWebFragments"], + "options": { + "portalId": f"{rt_service_desk_id}", + "portal": { + "id": f"{rt_service_desk_id}"}, + "reqDetails": { + "key": f"{locust.session_data_storage['create_issue_key']}"}, + "portalWebFragments": { + "portalPage": "VIEW_REQUEST"}}} + locust.post( + '/rest/servicedesk/1/customer/models', + json=customer_models, + headers=RESOURCE_HEADERS, + catch_response=True) customer_open_create_request_view(locust) customer_create_request(locust) diff --git a/app/reports_generation/bamboo_profile.yml b/app/reports_generation/bamboo_profile.yml index 288080238..26ffbdb97 100644 --- a/app/reports_generation/bamboo_profile.yml +++ b/app/reports_generation/bamboo_profile.yml @@ -19,4 +19,3 @@ title: "DCAPT Performance Testing for Bamboo" image_height_px: 1000 image_width_px: 1600 check_actions_count: false -judge: false diff --git a/app/reports_generation/constants.py b/app/reports_generation/constants.py deleted file mode 100644 index 743cc3dff..000000000 --- a/app/reports_generation/constants.py +++ /dev/null @@ -1,8 +0,0 @@ -class DCAPTRunType: - baseline = 'baseline' - experiment = 'experiment' - - -DEFAULT_TOLERANCE = 0.05 - -SUPPORTED_TEST_ATLASSIAN_PRODUCTS = ("bamboo", "bitbucket", "confluence", "crowd", "jira", "jsm", ) diff --git a/app/reports_generation/csv_chart_generator.py b/app/reports_generation/csv_chart_generator.py index be6ad8c46..481e95d09 100644 --- a/app/reports_generation/csv_chart_generator.py +++ b/app/reports_generation/csv_chart_generator.py @@ -2,7 +2,7 @@ from pathlib import Path from scripts import (config_provider, csv_aggregator, chart_generator, - summary_aggregator, results_archivator, judgement) + summary_aggregator, results_archivator) def main(): @@ -16,11 +16,6 @@ def main(): chart_generator.perform_chart_creation(chart_generator_config, results_dir, scenario_status) results_archivator.archive_results(config, results_dir) - if config['judge']: - judgement_kwargs = judgement.__get_judgement_kwargs(config) - judgement_kwargs["output_dir"] = results_dir - judgement.judge(**judgement_kwargs) - def __get_results_dir(config, product_name) -> Path: path = (Path(__file__).absolute().parents[1] / "results" / "reports" / diff --git a/app/reports_generation/performance_profile.yml b/app/reports_generation/performance_profile.yml index d050e58ca..07d01e528 100644 --- a/app/reports_generation/performance_profile.yml +++ b/app/reports_generation/performance_profile.yml @@ -15,5 +15,4 @@ index_col: "Action" title: "DCAPT Performance Testing" image_height_px: 1000 image_width_px: 1600 -judge: false check_actions_count: false diff --git a/app/reports_generation/scale_profile.yml b/app/reports_generation/scale_profile.yml index 5f7ab7477..14b53419f 100644 --- a/app/reports_generation/scale_profile.yml +++ b/app/reports_generation/scale_profile.yml @@ -18,4 +18,3 @@ index_col: "Action" title: "DCAPT Scale Testing" image_height_px: 1000 image_width_px: 1600 -judge: false diff --git a/app/reports_generation/scripts/dataframe_converter.py b/app/reports_generation/scripts/dataframe_converter.py deleted file mode 100644 index 88e2870ce..000000000 --- a/app/reports_generation/scripts/dataframe_converter.py +++ /dev/null @@ -1,82 +0,0 @@ -import typing -from decimal import Decimal, getcontext -import glob -import json -import os - -import pandas -import pandas as pd - -JSON_FILE_FORMATS = ('json', 'jpt',) -CSV_FILE_FORMATS = ('csv',) - - -def cast_to_decimal(value): - getcontext().prec = 20 - return Decimal(value) - - -def jpt_to_python(input_file) -> list: - data = [] - with open(input_file) as f: - for line in f: - row = json.loads(line.strip()) - # time format in jpt files is PT1.543S - if 'duration' in row: - row['duration'] = float(row['duration'].strip('PTS')) * 1000 - if 'duration_millis' in row: - row['duration'] = float(row['duration_millis']) - - data.append(row) - return data - - -def file_to_dataframe(input_file): - # TODO: think about iterative reading when have huge data - fileformat = os.path.splitext(input_file)[-1].strip('.') - - if fileformat in ('csv', 'jtl'): - dataframe = pandas.read_csv(input_file) - elif fileformat == 'json': - dataframe = pandas.read_json(input_file) - elif fileformat == 'jpt': - data = jpt_to_python(input_file) - dataframe = pandas.DataFrame(data) - else: - raise NotImplementedError( - f"File format {fileformat} is not supported yet") - - return dataframe - - -def files_to_dataframe(path, fields: typing.Optional[list] = None): - # TODO: think about iterative reading when have huge data - files = glob.glob(path) - if not files: - raise FileNotFoundError(f"Files at path {path} are not found") - dataframes = [] - for filename in files: - dataframe = file_to_dataframe(filename) - if fields is not None: - dataframe = dataframe[list(fields)] - - dataframes.append(dataframe) - - return pd.concat(dataframes) - - -def concatenate_dataframes_from_multiple_paths(paths: list, fields: typing.Optional[list] = None): - dataframes = [] - for path in paths: - dataframes.append(files_to_dataframe(path, fields)) - return pd.concat(dataframes) - - -def group_data_by_column(dataframe, columns=('label',)): - """ - Transform any dataframe to dataframe with groupped data by given fields - :param dataframe: pandas dataframe - :param columns: fields to group by - :return: - """ - return dataframe.groupby(list(columns)) diff --git a/app/reports_generation/scripts/judgement.py b/app/reports_generation/scripts/judgement.py deleted file mode 100644 index ae99f1a34..000000000 --- a/app/reports_generation/scripts/judgement.py +++ /dev/null @@ -1,190 +0,0 @@ -import decimal -import os -from dataclasses import dataclass -from decimal import Decimal, getcontext -from statistics import median -import typing -import warnings - -import pandas -from prettytable import PrettyTable -from scipy.stats import mannwhitneyu - -import constants -from scripts.dataframe_converter import (concatenate_dataframes_from_multiple_paths, - group_data_by_column) -from scripts.utils import save_results -from tolerances import get_tolerances, ActionTolerance - - -getcontext().prec = 20 - - -@dataclass -class JudgementResult: - action: str - passed: bool - baseline_size: int - tested_size: int - tolerance: float - p_value: typing.Optional[float] - failure_reason: str = None - - def head(self): - return ["Action", "Judgement passed", - "Failure reason", "p_value", "Tolerance", - "Baseline size", "Tested size"] - - def values(self): - return [self.action, self.passed, self.failure_reason, - self.p_value, self.tolerance, self.baseline_size, - self.tested_size] - - -class SampleObject: - def __init__(self, values, cast_type='float64'): - pandas.set_option("display.precision", 20) - self.values = values.astype(cast_type) - - def shift(self, shift_value): - self.values = self.values.add( - pandas.to_numeric(shift_value, downcast='float')) - - def median(self): - return median(self.values) - - -def mannwhitney_test(base_sample, tested_sample, tolerance=Decimal(0.03)): - baseline_sample = SampleObject(base_sample) - # First we shift tested sample a little bit back likely closer to baseline. - # This will be acceptance ratio: if tested one is slower at less or equal than 3% - we do accept this - mu = - tolerance * Decimal(base_sample.median()) - - tested_shifted_sample = SampleObject(tested_sample) - tested_shifted_sample.shift(mu) - - # TODO: 2/ check the hypothesis in comments of question - # TODO: https://stats.stackexchange.com/questions/439611/am-i-doing-it-right-conducting-mann-whitney-test-in-scipy - # TODO: play with mannwhitney, or wilcoxon signed rank test - - u_statistic_less, pvalue_sided_less = mannwhitneyu( - baseline_sample.values, - tested_shifted_sample.values, - alternative='less', use_continuity=False) - - mw_alpha = Decimal(0.05) # critical value for mann whitney test (significance level) - - # NOTE: if p_value less than critical value, - # then algorithm can reject hypothesis 'tested result is slower than baseline' - # in opposite, if p_value is more or equal, there is not enough evidence to reject tested sample - hypothesis_rejected = pvalue_sided_less < mw_alpha - test_passed = not hypothesis_rejected - return test_passed, pvalue_sided_less - - -def judgement_test_measuring(dataframe_baseline: pandas.DataFrame, dataframe_tested: pandas.DataFrame, - measurement_by_column: str, tolerances: ActionTolerance): - judgement_results = [] - - for group in sorted(dataframe_baseline.groups): - tolerance = tolerances.get_tolerance_range(action=group) - if tolerance is None: - continue - tolerance = Decimal(tolerance) - - sample_base = dataframe_baseline.get_group(group)[measurement_by_column] - try: - sample_tested = dataframe_tested.get_group(group)[measurement_by_column] - except KeyError as e: - judgement_results.append( - JudgementResult(action=group, passed=False, - failure_reason=f"No action in experiment dataframe: {e}", p_value=None, - baseline_size=len(sample_base), tested_size=0, - tolerance=float(round(tolerance, 2))) - ) - warnings.warn(f"There is no action in experiment run. Error {e}") - continue - - try: - test_passed, p_value = mannwhitney_test(sample_base, sample_tested, tolerance) - # TODO: later we may define many failure reasons - failure_reason = 'Results deviation is not accepted' if not test_passed else None - judgement_results.append( - JudgementResult(action=group, passed=test_passed, failure_reason=failure_reason, p_value=p_value, - baseline_size=len(sample_base), tested_size=len(sample_tested), - tolerance=float(round(tolerance, 2))) - ) - except decimal.InvalidOperation as e: - judgement_results.append(JudgementResult( - action=group, passed=False, baseline_size=len(sample_base), tested_size=len(sample_tested), - failure_reason=f'Failed to evaluate results by Mann Whitney: Error: {e}.' - f'Check results for this group.', - p_value=None, tolerance=float(tolerances.get_tolerance_range(action=group))) - ) - print(f"No tolerance found for action {group}. Action timelines is {sample_base.values}") - - absent_actions_in_baseline = set(dataframe_tested.groups) - set(dataframe_baseline.groups) - if absent_actions_in_baseline: - warnings.warn(f"There are also actions absent in baseline run, but present in experiment: " - f"{absent_actions_in_baseline}.") - return judgement_results - - -def group_dataframe_by_action(filepaths: list, fields=None): - raw_dataframe = concatenate_dataframes_from_multiple_paths(filepaths, fields=fields) - # Map timelines to each of action appropriately - return group_data_by_column(raw_dataframe, columns=('label',)) - - -def save_judgement_results(results, output_dir, baseline_dirname, tested_dirname): - results_representation = [judgement_result.values() for judgement_result in results] - judgement_table = PrettyTable(results[0].head()) - judgement_table.add_rows(results_representation) - print("Results of judgement") - print(judgement_table) - # saving results - judgement_filename = os.path.join( - output_dir, - f'judged_baseline_{baseline_dirname}_experiment_{tested_dirname}.csv') - save_results([results[0].head()] + results_representation, - filepath=os.path.join(output_dir, judgement_filename)) - - -def judge_baseline_and_tested(baseline_result_dir: str, tested_result_dir: str, output_dir: str): - action_tolerances = get_tolerances(tested_result_dir) - fields = ('label', 'elapsed', ) - # gather all needed dataframes with specific fields - df_baseline = group_dataframe_by_action([os.path.join(baseline_result_dir, 'kpi*.jtl'), - os.path.join(baseline_result_dir, 'selenium*.jtl')], fields) - df_tested = group_dataframe_by_action([os.path.join(tested_result_dir, 'kpi*.jtl'), - os.path.join(tested_result_dir, 'selenium*.jtl')], fields) - results = judgement_test_measuring(df_baseline, df_tested, - measurement_by_column='elapsed', - tolerances=action_tolerances) - success_status = all(result.passed for result in results) - - save_judgement_results(results, output_dir, - baseline_dirname=os.path.basename(baseline_result_dir), - tested_dirname=os.path.basename(tested_result_dir)) - return success_status - - -def judge(baseline_dir, tested_dirs, output_dir): - judgement_succeeded = True - for directory in tested_dirs: - success = judge_baseline_and_tested(baseline_dir, directory, output_dir=output_dir) - if not success: - judgement_succeeded = False - if not judgement_succeeded: - raise SystemExit("Judgement has failed. Check judgement table above.") - - -def __get_judgement_kwargs(config): - baseline_result_dir = next((run for run in config['runs'] - if run['runType'] == constants.DCAPTRunType.baseline))['relativePath'] - tested_result_dirs = [run['relativePath'] for run in config['runs'] - if run['runType'] == constants.DCAPTRunType.experiment] - - return { - 'baseline_dir': baseline_result_dir, - 'tested_dirs': tested_result_dirs} diff --git a/app/reports_generation/scripts/summary_aggregator.py b/app/reports_generation/scripts/summary_aggregator.py index a47265bc7..a31b6dd60 100644 --- a/app/reports_generation/scripts/summary_aggregator.py +++ b/app/reports_generation/scripts/summary_aggregator.py @@ -1,9 +1,9 @@ from pathlib import Path from typing import List -from constants import SUPPORTED_TEST_ATLASSIAN_PRODUCTS from scripts.utils import validate_file_exists, resolve_relative_path, validate_config +SUPPORTED_TEST_ATLASSIAN_PRODUCTS = ("bamboo", "bitbucket", "confluence", "crowd", "jira", "jsm", ) SUMMARY_FILE_NAME = "results_summary.log" DELIMITER = ('\n================================================================================' '========================================\n') diff --git a/app/reports_generation/scripts/utils.py b/app/reports_generation/scripts/utils.py index c6cf9ccab..c1c3d870e 100644 --- a/app/reports_generation/scripts/utils.py +++ b/app/reports_generation/scripts/utils.py @@ -1,11 +1,7 @@ -import json +import csv import numbers -from pathlib import Path -import typing from distutils import util -import csv - -import yaml +from pathlib import Path def resolve_relative_path(str_path: str) -> Path: @@ -80,19 +76,3 @@ def clean_str(string: str): string = string.replace(" ", "_") # Return alphanumeric characters from a string, except "_" return ''.join(e for e in string if e.isalnum() or e == "_") - - -def save_results(results: typing.List[typing.List], filepath: str): - with open(filepath, 'w') as f: - writer = csv.writer(f) - writer.writerows(results) - - -def read_json(filepath: str): - with open(filepath) as f: - return json.load(f) - - -def read_yaml(filepath: str): - with open(filepath) as f: - return yaml.safe_load(f) diff --git a/app/reports_generation/tolerances.py b/app/reports_generation/tolerances.py deleted file mode 100644 index c62d21518..000000000 --- a/app/reports_generation/tolerances.py +++ /dev/null @@ -1,47 +0,0 @@ -import glob -from pathlib import Path -import os -import warnings - -from constants import DEFAULT_TOLERANCE, SUPPORTED_TEST_ATLASSIAN_PRODUCTS -from scripts.utils import read_yaml - - -class ActionTolerance(dict): - def __init__(self, tolerances_file_location, tolerance_application_group): - tolerances = read_yaml(tolerances_file_location) - tolerances = tolerances.get(tolerance_application_group) - if not tolerances: - warnings.warn(f"There are no tolerances for tolerance application group " - f"{tolerance_application_group}." - f"Using default {0.05} for judgement calculation") - tolerances = {} - - super(ActionTolerance, self).__init__(tolerances) - - def get_tolerance_range(self, action): - tolerance = self.get(action) - if not tolerance: - warnings.warn(f"There is no tolerance for action {action}. " - f"Using default {0.05} for judgement calculation") - return DEFAULT_TOLERANCE - return tolerance - - def set_tolerance_range(self, action, tolerance): - setattr(self, action, tolerance) - - -def get_tolerances(result_dir): - result_dir_content = os.path.join(result_dir, '*.yml') - application_name = next((Path(path).stem for path in glob.glob(result_dir_content) - if Path(path).stem in SUPPORTED_TEST_ATLASSIAN_PRODUCTS)) - if not application_name: - raise Exception(f"Application {application_name} is not in supported list") - application_action_tolerances = ActionTolerance(tolerances_file_location=__get_tolerance_file(), - tolerance_application_group=application_name) - return application_action_tolerances - - -def __get_tolerance_file(): - # TODO: make it configurable to enable custom tolerances for vendors - return os.path.join(os.path.dirname(os.path.abspath(__file__)), "tolerances.yml") diff --git a/app/reports_generation/tolerances.yml b/app/reports_generation/tolerances.yml deleted file mode 100644 index 9e9b47ce9..000000000 --- a/app/reports_generation/tolerances.yml +++ /dev/null @@ -1,143 +0,0 @@ -confluence: - confluence.blogpost.view-view_blog-1: 0.01 - confluence.blogpost.view-view_blog-3: 0.07 - confluence.blogpost.view-view_blog-6: 0.03 - confluence.dashboard.view: 0.04 - confluence.page.create.collaborative.view: 0.05 - confluence.page.create.collaborative.view.connected: 0.01 - confluence.page.edit.collaborative.view: 0.05 - confluence.page.edit.collaborative.view.connected: 0.01 - confluence.page.view: 0.01 - confluence.page.view-create_page: 0.07 - confluence.page.view-edit_page-big_attachments_1: 0.01 - confluence.page.view-edit_page-medium_text_16: 0.06 - confluence.page.view-edit_page-small_attachments_3: 0.03 - confluence.page.view-edit_page-small_text_7: 0.07 - confluence.page.view-edit_page-text_formatting_21: 0.07 - confluence.page.view-view_page-big_attachments_1: 0.02 - confluence.page.view-view_page-medium_text_16: 0.06 - confluence.page.view-view_page-small_attachments_3: 0.02 - confluence.page.view-view_page-small_text_7: 0.03 - confluence.page.view-view_page-text_formatting_21: 0.07 - - jmeter_comment_page: 0.02 - jmeter_create_and_edit_page:create_page: 0.02 - jmeter_create_and_edit_page:create_page_editor: 0.01 - jmeter_create_and_edit_page:edit_page: 0.01 - jmeter_create_and_edit_page:open_editor: 0.01 - jmeter_create_blog:blog_editor: 0.03 - jmeter_create_blog:feel_and_publish: 0.01 - jmeter_like_page: 0.03 - jmeter_login_and_view_dashboard: 0.01 - jmeter_search_cql:recently_viewed: 0.01 - jmeter_search_cql:search_results: 0.03 - jmeter_upload_attachment: 0.04 - jmeter_view_attachment: 0.03 - jmeter_view_blog: 0.03 - jmeter_view_dashboard: 0.03 - jmeter_view_page:open_page: 0.02 - - selenium_create_comment: 0.04 - selenium_create_comment:save_comment: 0.05 - selenium_create_comment:write_comment: 0.01 - selenium_create_page:open_create_page_editor: 0.07 - selenium_create_page:save_created_page: 0.05 - selenium_edit_page:open_create_page_editor-big_attachments_1: 0.01 - selenium_edit_page:open_create_page_editor-medium_text_16: 0.02 - selenium_edit_page:open_create_page_editor-small_attachments_3: 0.01 - selenium_edit_page:open_create_page_editor-small_text_7: 0.03 - selenium_edit_page:open_create_page_editor-text_formatting_21: 0.02 - selenium_edit_page:save_edited_page-big_attachments_1: 0.01 - selenium_edit_page:save_edited_page-medium_text_16: 0.03 - selenium_edit_page:save_edited_page-small_attachments_3: 0.01 - selenium_edit_page:save_edited_page-small_text_7: 0.01 - selenium_edit_page:save_edited_page-text_formatting_21: 0.02 - selenium_edit_page_by_url:open_create_page_editor-big_attachments_1: 0.01 - selenium_edit_page_by_url:open_create_page_editor-medium_text_16: 0.04 - selenium_edit_page_by_url:open_create_page_editor-small_attachments_3: 0.03 - selenium_edit_page_by_url:open_create_page_editor-small_text_7: 0.06 - selenium_edit_page_by_url:open_create_page_editor-text_formatting_21: 0.07 - selenium_edit_page_by_url:save_edited_page-big_attachments_1: 0.01 - selenium_edit_page_by_url:save_edited_page-medium_text_16: 0.03 - selenium_edit_page_by_url:save_edited_page-small_attachments_3: 0.01 - selenium_edit_page_by_url:save_edited_page-small_text_7: 0.05 - selenium_edit_page_by_url:save_edited_page-text_formatting_21: 0.05 - selenium_edit_page_click:open_create_page_editor-big_attachments_1: 0.03 - selenium_edit_page_click:open_create_page_editor-medium_text_16: 0.01 - selenium_edit_page_click:open_create_page_editor-small_attachments_3: 0.01 - selenium_edit_page_click:open_create_page_editor-small_text_7: 0.01 - selenium_edit_page_click:open_create_page_editor-text_formatting_21: 0.01 - selenium_edit_page_click:save_edited_page-big_attachments_1: 0.01 - selenium_edit_page_click:save_edited_page-medium_text_16: 0.01 - selenium_edit_page_click:save_edited_page-small_attachments_3: 0.01 - selenium_edit_page_click:save_edited_page-small_text_7: 0.01 - selenium_edit_page_click:save_edited_page-text_formatting_21: 0.01 - selenium_log_out: 0.05 - selenium_login:login_and_view_dashboard: 0.03 - selenium_login:open_login_page: 0.05 - selenium_quick_edit_page_click:open_create_page_editor-big_attachments_1: 0.01 - selenium_quick_edit_page_click:open_create_page_editor-medium_text_16: 0.03 - selenium_quick_edit_page_click:open_create_page_editor-small_attachments_3: 0.01 - selenium_quick_edit_page_click:open_create_page_editor-small_text_7: 0.06 - selenium_quick_edit_page_click:open_create_page_editor-text_formatting_21: 0.06 - selenium_quick_edit_page_click:save_edited_page-big_attachments_1: 0.01 - selenium_quick_edit_page_click:save_edited_page-medium_text_16: 0.05 - selenium_quick_edit_page_click:save_edited_page-small_attachments_3: 0.01 - selenium_quick_edit_page_click:save_edited_page-small_text_7: 0.06 - selenium_quick_edit_page_click:save_edited_page-text_formatting_21: 0.04 - selenium_view_blog-1: 0.07 - selenium_view_blog-3: 0.07 - selenium_view_blog-6: 0.09 - selenium_view_dashboard: 0.02 - selenium_view_page-big_attachments_1: 0.08 - selenium_view_page-medium_text_16: 0.07 - selenium_view_page-small_attachments_3: 0.03 - selenium_view_page-small_text_7: 0.01 - selenium_view_page-text_formatting_21: 0.01 - selenium_view_page_from_cache-big_attachments_1: 0.04 - selenium_view_page_from_cache-medium_text_16: 0.05 - selenium_view_page_from_cache-small_attachments_3: 0.01 - selenium_view_page_from_cache-small_text_7: 0.04 - selenium_view_page_from_cache-text_formatting_21: 0.08 - -jira: - jmeter_add_comment:open_comment: 0.09 - jmeter_add_comment:save_comment: 0.4 - jmeter_browse_boards: 0.2 - jmeter_browse_projects: 0.04 - jmeter_create_issue:fill_and_submit_issue_form: 0.72 - jmeter_create_issue:open_quick_create: 0.15 - jmeter_edit_issue:open_editor: 0.15 - jmeter_edit_issue:save_edit: 0.3 - jmeter_login_and_view_dashboard: 0.2 - jmeter_search_jql: 0.09 - jmeter_view_backlog: 0.15 - jmeter_view_dashboard: 0.05 - jmeter_view_issue: 0.2 - jmeter_view_kanban_board: 0.15 - jmeter_view_project_summary: 0.1 - jmeter_view_scrum_board: 0.1 - - selenium_browse_boards_list: 0.04 - selenium_browse_projects_list: 0.09 - selenium_create_issue: 0.09 - selenium_create_issue:fill_and_submit_issue_form: 0.09 - selenium_create_issue:fill_and_submit_issue_form:submit_issue_form: 0.03 - selenium_create_issue:open_quick_create: 0.09 - selenium_edit_issue: 0.1 - selenium_edit_issue:open_edit_issue_form: 0.15 - selenium_edit_issue:save_edit_issue_form: 0.08 - selenium_log_out: 0.5 - selenium_login: 0.1 - selenium_login:login_and_view_dashboard: 0.1 - selenium_login:open_login_page: 0.5 - selenium_project_summary: 0.09 - selenium_save_comment: 0.09 - selenium_save_comment:open_comment_form: 0.1 - selenium_save_comment:submit_form: 0.16 - selenium_search_jql: 0.1 - selenium_view_dashboard: 0.15 - selenium_view_issue: 0.15 - selenium_view_kanban_board: 0.05 - selenium_view_scrum_board: 0.04 - selenium_view_scrum_board_backlog: 0.05 diff --git a/app/selenium_ui/base_page.py b/app/selenium_ui/base_page.py index 5f6d7a64c..9878e6d3a 100644 --- a/app/selenium_ui/base_page.py +++ b/app/selenium_ui/base_page.py @@ -168,6 +168,9 @@ def action_chains(self): def delete_all_cookies(self): self.driver.delete_all_cookies() + def scroll_down_till_bottom(self): + self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") + class AnyEc: """ Use with WebDriverWait to combine expected_conditions diff --git a/app/selenium_ui/bitbucket/modules.py b/app/selenium_ui/bitbucket/modules.py index 68d0ba121..5827bcd64 100644 --- a/app/selenium_ui/bitbucket/modules.py +++ b/app/selenium_ui/bitbucket/modules.py @@ -24,7 +24,6 @@ def setup_run_data(datasets): def generate_debug_session_info(webdriver, datasets): debug_data = datasets['current_session'] - debug_data['current_url'] = webdriver.current_url return debug_data @@ -55,6 +54,8 @@ def sub_measure(): def sub_measure(): login_page.submit_login() get_started_page = GetStarted(webdriver) + PopupManager(webdriver).dismiss_default_popup() + get_started_page.close_whats_new_window() get_started_page.wait_for_page_loaded() webdriver.node_id = login_page.get_node_id() print(f"node_id:{webdriver.node_id}") @@ -111,10 +112,14 @@ def view_list_pull_requests(webdriver, datasets): repo_pull_requests_page = RepoPullRequests(webdriver, project_key=datasets['current_session']['project_key'], repo_slug=datasets['current_session']['repo_slug']) + pull_request_page = PullRequest(webdriver, project_key=datasets['current_session']['project_key'], + repo_slug=datasets['current_session']['repo_slug'], + pull_request_key=datasets['current_session']['pull_request_id']) @print_timing("selenium_view_list_pull_requests") def measure(): repo_pull_requests_page.go_to() + pull_request_page.dismiss_updates_info_popup() repo_pull_requests_page.wait_for_page_loaded() measure() @@ -127,6 +132,7 @@ def view_pull_request_overview_tab(webdriver, datasets): @print_timing("selenium_view_pull_request_overview") def measure(): pull_request_page.go_to_overview() + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_overview_tab() PopupManager(webdriver).dismiss_default_popup() measure() @@ -140,6 +146,7 @@ def view_pull_request_diff_tab(webdriver, datasets): @print_timing("selenium_view_pull_request_diff") def measure(): pull_request_page.go_to_diff() + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_diff_tab() PopupManager(webdriver).dismiss_default_popup() measure() @@ -153,6 +160,7 @@ def view_pull_request_commits_tab(webdriver, datasets): @print_timing("selenium_view_pull_request_commits") def measure(): pull_request_page.go_to_commits() + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_commits_tab() PopupManager(webdriver).dismiss_default_popup() measure() @@ -163,15 +171,20 @@ def comment_pull_request_diff(webdriver, datasets): repo_slug=datasets['current_session']['repo_slug'], pull_request_key=datasets['current_session']['pull_request_id']) pull_request_page.go_to_diff() + pull_request_page.dismiss_updates_info_popup() @print_timing("selenium_comment_pull_request_file") def measure(): PopupManager(webdriver).dismiss_default_popup() + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_diff_tab() PopupManager(webdriver).dismiss_default_popup() + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_code_diff() PopupManager(webdriver).dismiss_default_popup() + pull_request_page.dismiss_updates_info_popup() pull_request_page.click_inline_comment_button_js() + pull_request_page.dismiss_updates_info_popup() pull_request_page.add_code_comment() measure() @@ -213,6 +226,7 @@ def create_pull_request(webdriver, datasets): repository_branches_page = RepositoryBranches(webdriver, repo_slug=repository_page.repo_slug, project_key=repository_page.project_key) navigation_panel = RepoNavigationPanel(webdriver) + pull_request_page = PullRequest(webdriver) PopupManager(webdriver).dismiss_default_popup() @print_timing("selenium_create_pull_request") @@ -230,13 +244,14 @@ def sub_measure(): datasets['pull_request_fork_branch_to'] = fork_branch_to navigation_panel.wait_for_navigation_panel() repo_pull_requests_page.create_new_pull_request(from_branch=fork_branch_from, to_branch=fork_branch_to) + pull_request_page.dismiss_updates_info_popup() PopupManager(webdriver).dismiss_default_popup() sub_measure() @print_timing("selenium_create_pull_request:merge_pull_request") def sub_measure(): PopupManager(webdriver).dismiss_default_popup() - pull_request_page = PullRequest(webdriver) + pull_request_page.dismiss_updates_info_popup() pull_request_page.wait_for_overview_tab() PopupManager(webdriver).dismiss_default_popup() pull_request_page.merge_pull_request() diff --git a/app/selenium_ui/bitbucket/pages/pages.py b/app/selenium_ui/bitbucket/pages/pages.py index 45c84233a..61dc89bb0 100644 --- a/app/selenium_ui/bitbucket/pages/pages.py +++ b/app/selenium_ui/bitbucket/pages/pages.py @@ -39,6 +39,12 @@ class GetStarted(BasePage): page_url = GetStartedLocators.get_started_url page_loaded_selector = GetStartedLocators.user_profile_icon + def close_whats_new_window(self): + popup_window = self.get_elements(GetStartedLocators.whats_new_window_close_button) + if popup_window: + self.wait_until_visible(GetStartedLocators.whats_new_window_close_button).click() + self.wait_until_invisible(GetStartedLocators.whats_new_window_close_button) + class Dashboard(BasePage): page_url = DashboardLocators.dashboard_url @@ -72,7 +78,7 @@ class PopupManager(BasePage): def dismiss_default_popup(self): return self.dismiss_popup(PopupLocators.default_popup, PopupLocators.popup_1, PopupLocators.popup_2, PopupLocators.popup_3, PopupLocators.popup_4, PopupLocators.popup_5, - PopupLocators.popup_6) + PopupLocators.popup_6, PopupLocators.popup_7) class Repository(BasePage): @@ -108,6 +114,11 @@ def submit_pull_request(self): title.send_keys('Selenium test pull request') self.wait_until_visible(self.get_selector(RepoLocators.pr_submit_button)).click() self.wait_until_visible(PullRequestLocator.pull_request_activity_content) + updates_banners = self.get_elements(PullRequestLocator.updates_info_banner) + while updates_banners: + updates_banners[0].click() + self.driver.refresh() + updates_banners = self.get_elements(PullRequestLocator.updates_info_banner) self.wait_until_clickable(PullRequestLocator.pull_request_page_merge_button) @@ -175,6 +186,12 @@ def merge_pull_request(self): self.wait_until_clickable(PullRequestLocator.pull_request_modal_merge_button).click() self.wait_until_invisible(PullRequestLocator.del_branch_checkbox_selector) + def dismiss_updates_info_popup(self): + updates_banners = self.get_elements(PullRequestLocator.updates_info_banner) + while updates_banners: + updates_banners[0].click() + self.driver.refresh() + updates_banners = self.get_elements(PullRequestLocator.updates_info_banner) class RepositoryBranches(BasePage): page_loaded_selector = BranchesLocator.branches_name diff --git a/app/selenium_ui/bitbucket/pages/selectors.py b/app/selenium_ui/bitbucket/pages/selectors.py index c3e69b230..1c9a7e6a4 100644 --- a/app/selenium_ui/bitbucket/pages/selectors.py +++ b/app/selenium_ui/bitbucket/pages/selectors.py @@ -82,6 +82,7 @@ class PopupLocators: popup_4 = '.css-1dqf51u' popup_5 = '.css-1kflcxk' popup_6 = '.css-1gh2dqy' + popup_7 = "[data-testid='whats-new-modal'] button[aria-label='Close modal'] > span > span[aria-hidden='true']" class LoginPageLocators: @@ -99,6 +100,7 @@ class LogoutPageLocators: class GetStartedLocators: get_started_url = UrlManager().get_started_url() user_profile_icon = (By.ID, 'current-user') + whats_new_window_close_button = (By.CSS_SELECTOR, "[data-testid='whats-new-modal'] button[aria-label='Close modal'] > span > span[aria-hidden='true']") class DashboardLocators: @@ -154,6 +156,7 @@ class PullRequestLocator: pull_request_modal_merge_button = (By.CSS_SELECTOR, ".merge-dialog button[type='submit']") del_branch_checkbox_selector = (By.NAME, 'deleteSourceRef') delete_branch_per_merge_checkbox = (By.CSS_SELECTOR, "input[type='checkbox']") + updates_info_banner = (By.CSS_SELECTOR, ".pull-request-onboarding>footer>button") class BranchesLocator: diff --git a/app/selenium_ui/bitbucket_ui.py b/app/selenium_ui/bitbucket_ui.py index 69d7a0ff9..6e1b55491 100644 --- a/app/selenium_ui/bitbucket_ui.py +++ b/app/selenium_ui/bitbucket_ui.py @@ -7,26 +7,6 @@ def test_0_selenium_a_login(bitbucket_webdriver, bitbucket_datasets, bitbucket_s modules.login(bitbucket_webdriver, bitbucket_datasets) -def test_1_selenium_view_dashboard(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): - modules.view_dashboard(bitbucket_webdriver, bitbucket_datasets) - - -def test_1_selenium_create_pull_request(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): - modules.create_pull_request(bitbucket_webdriver, bitbucket_datasets) - - -def test_1_selenium_view_projects(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): - modules.view_projects(bitbucket_webdriver, bitbucket_datasets) - - -def test_1_selenium_view_project_repositories(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): - modules.view_project_repos(bitbucket_webdriver, bitbucket_datasets) - - -def test_1_selenium_view_repo(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): - modules.view_repo(bitbucket_webdriver, bitbucket_datasets) - - def test_1_selenium_view_list_pull_requests(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): modules.view_list_pull_requests(bitbucket_webdriver, bitbucket_datasets) @@ -51,6 +31,26 @@ def test_1_selenium_comment_pull_request_overview(bitbucket_webdriver, bitbucket modules.comment_pull_request_overview(bitbucket_webdriver, bitbucket_datasets) +def test_1_selenium_view_dashboard(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): + modules.view_dashboard(bitbucket_webdriver, bitbucket_datasets) + + +def test_1_selenium_create_pull_request(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): + modules.create_pull_request(bitbucket_webdriver, bitbucket_datasets) + + +def test_1_selenium_view_projects(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): + modules.view_projects(bitbucket_webdriver, bitbucket_datasets) + + +def test_1_selenium_view_project_repositories(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): + modules.view_project_repos(bitbucket_webdriver, bitbucket_datasets) + + +def test_1_selenium_view_repo(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): + modules.view_repo(bitbucket_webdriver, bitbucket_datasets) + + def test_1_selenium_view_branches(bitbucket_webdriver, bitbucket_datasets, bitbucket_screen_shots): modules.view_branches(bitbucket_webdriver, bitbucket_datasets) diff --git a/app/selenium_ui/confluence/modules.py b/app/selenium_ui/confluence/modules.py index dd9c06e05..4a5e9d764 100644 --- a/app/selenium_ui/confluence/modules.py +++ b/app/selenium_ui/confluence/modules.py @@ -298,7 +298,7 @@ def cql_search(webdriver, datasets): @print_timing("selenium_cql_search") def measure(): page.get_element(PageLocators.search_box).send_keys(random_cql) - page.wait_until_visible(PageLocators.search_results) + page.wait_until_any_ec_presented((PageLocators.empty_search_results, PageLocators.search_results)) page.get_element(PageLocators.close_search_button).click() measure() diff --git a/app/selenium_ui/confluence/pages/selectors.py b/app/selenium_ui/confluence/pages/selectors.py index 2bb706c0a..198e66e92 100644 --- a/app/selenium_ui/confluence/pages/selectors.py +++ b/app/selenium_ui/confluence/pages/selectors.py @@ -68,6 +68,7 @@ class PageLocators: search_box = (By.ID, "quick-search-query") search_results = (By.ID, "search-result-container") close_search_button = (By.ID, "search-drawer-close") + empty_search_results = (By.CLASS_NAME, "captioned-image-component") class DashboardLocators: diff --git a/app/selenium_ui/jira/modules.py b/app/selenium_ui/jira/modules.py index 826aaa0cc..35811ce43 100644 --- a/app/selenium_ui/jira/modules.py +++ b/app/selenium_ui/jira/modules.py @@ -124,6 +124,7 @@ def measure(): def create_issue(webdriver, dataset): issue_modal = Issue(webdriver) + webdriver.refresh() # page refresh is needed for small dataset run stability @print_timing("selenium_create_issue") def measure(): @@ -178,13 +179,16 @@ def sub_measure(): sub_measure() + issue_page.set_epic_name() # Set epic name if any + issue_page.set_resolution() # Set resolution if there is such field issue_page.fill_summary_edit() # edit summary issue_page.fill_description_edit(rte_status) # edit description @print_timing("selenium_edit_issue:save_edit_issue_form") def sub_measure(): + issue_page.scroll_down_till_bottom() issue_page.edit_issue_submit() # submit edit issue - issue_page.wait_for_issue_title() + issue_page.wait_for_issue_loaded() sub_measure() diff --git a/app/selenium_ui/jira/pages/pages.py b/app/selenium_ui/jira/pages/pages.py index 2bbeeede3..6db876d47 100644 --- a/app/selenium_ui/jira/pages/pages.py +++ b/app/selenium_ui/jira/pages/pages.py @@ -88,8 +88,8 @@ def __init__(self, driver, issue_key=None, issue_id=None): self.page_url_edit_issue = url_manager_edit_page.edit_issue_url() self.page_url_edit_comment = url_manager_edit_page.edit_comments_url() - def wait_for_issue_title(self): - self.wait_until_visible(IssueLocators.issue_title) + def wait_for_issue_loaded(self): + self.wait_until_visible(IssueLocators.issue_edit_button) def go_to_edit_issue(self): self.go_to_url(self.page_url_edit_issue) @@ -101,6 +101,7 @@ def go_to_edit_comment(self): def fill_summary_edit(self): text_summary = f"Edit summary form selenium - {self.generate_random_string(10)}" + self.get_element(IssueLocators.issue_summary_field).clear() self.get_element(IssueLocators.issue_summary_field).send_keys(text_summary) def __fill_rich_editor_textfield(self, text, selector): @@ -194,6 +195,11 @@ def edit_comment_submit(self): self.get_element(IssueLocators.edit_comment_add_comment_button).click() self.wait_until_visible(IssueLocators.issue_title) + def set_epic_name(self): + if self.get_elements(IssueLocators.issue_epic_name): + epic_name = f"Epic name created date {time.time()}" + self.wait_until_clickable(IssueLocators.issue_epic_name).send_keys(epic_name) + class Project(BasePage): page_loaded_selector = ProjectLocators.project_summary_property_column diff --git a/app/selenium_ui/jira/pages/selectors.py b/app/selenium_ui/jira/pages/selectors.py index f6462e38d..43fb8bde8 100644 --- a/app/selenium_ui/jira/pages/selectors.py +++ b/app/selenium_ui/jira/pages/selectors.py @@ -95,6 +95,7 @@ class IssueLocators: issue_title = (By.ID, "summary-val") create_issue_button = (By.ID, "create_link") + issue_edit_button = (By.ID, "edit-issue") # Issue create modal form issue_modal = (By.ID, "create-issue-dialog") issue_summary_field = (By.ID, "summary") @@ -108,6 +109,7 @@ class IssueLocators: issue_type_dropdown_elements = (By.CLASS_NAME, "aui-list-item") issue_ready_to_save_spinner = (By.CSS_SELECTOR, ".buttons>.throbber") issue_submit_button = (By.ID, "create-issue-submit") + issue_epic_name = (By.ID, "customfield_10104") # Epic Name custom field # Edit Issue page edit_issue_page = (By.ID, "issue-edit") diff --git a/app/util/bamboo/bamboo_dataset_generator/pom.xml b/app/util/bamboo/bamboo_dataset_generator/pom.xml index e6bbe0908..3b7c619a2 100644 --- a/app/util/bamboo/bamboo_dataset_generator/pom.xml +++ b/app/util/bamboo/bamboo_dataset_generator/pom.xml @@ -5,7 +5,7 @@ com.atlassian.bamboo bamboo-specs-parent - 9.6.1 + 9.6.2 @@ -18,7 +18,7 @@ org.codehaus.mojo exec-maven-plugin - 3.2.0 + 3.3.0 @@ -62,17 +62,17 @@ com.google.guava guava - 33.1.0-jre + 33.2.0-jre com.fasterxml.jackson.core jackson-core - 2.17.0 + 2.17.1 com.fasterxml.jackson.core jackson-databind - 2.17.0 + 2.17.1 com.jayway.jsonpath @@ -92,7 +92,7 @@ commons-codec commons-codec - 1.16.1 + 1.17.0 org.apache.logging.log4j diff --git a/app/util/conf.py b/app/util/conf.py index bb1abb088..64cc3491f 100644 --- a/app/util/conf.py +++ b/app/util/conf.py @@ -2,8 +2,8 @@ from util.project_paths import JIRA_YML, CONFLUENCE_YML, BITBUCKET_YML, JSM_YML, CROWD_YML, BAMBOO_YML -TOOLKIT_VERSION = '8.2.2' -UNSUPPORTED_VERSION = '7.5.0' +TOOLKIT_VERSION = '8.3.0' +UNSUPPORTED_VERSION = '8.0.0' def read_yml_file(file): diff --git a/app/util/jmeter/start_jmeter_ui.py b/app/util/jmeter/start_jmeter_ui.py index fa1ddefe5..db40cc443 100644 --- a/app/util/jmeter/start_jmeter_ui.py +++ b/app/util/jmeter/start_jmeter_ui.py @@ -6,14 +6,14 @@ import yaml -SUPPORTED_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11"] +SUPPORTED_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12"] python_full_version = '.'.join(map(str, version_info[0:3])) python_short_version = '.'.join(map(str, version_info[0:2])) -print("Python version: {}".format(python_full_version)) +print(f"Python version: {python_full_version}") if python_short_version not in SUPPORTED_PYTHON_VERSIONS: - raise SystemExit("Python version {} is not supported. " - "Supported versions: {}.".format(python_full_version, SUPPORTED_PYTHON_VERSIONS)) + raise SystemExit(f"ERROR: Python version {python_full_version} is not supported.\n" + f"Supported versions: {SUPPORTED_PYTHON_VERSIONS}.") JIRA = "jira" CONFLUENCE = "confluence" @@ -56,6 +56,7 @@ def __init__(self): parser = argparse.ArgumentParser(description='Edit yml config') parser.add_argument('--app', type=str, help='e.g. --app jira/confluence/bitbucket/jsm/bamboo') parser.add_argument('--type', type=str, help='jsm specific flag e.g. --type agents/customers') + parser.add_argument('--skip-check', action='store_true', help='skip hostname check') self.args = parser.parse_args() if not self.args.app: raise SystemExit('Application type is not specified. e.g. --app jira/confluence/bitbucket/jsm/bamboo') @@ -109,9 +110,10 @@ def get_settings(self): obj = self.read_yml_file(self.yml) self.env_settings = obj['settings']['env'] hostname = self.env_settings['application_hostname'] - if hostname in DEFAULT_HOSTNAMES: - raise SystemExit("ERROR: Check 'application_hostname' correctness in {}.yml file.\nCurrent value: {}.". - format(self.args.app, hostname)) + if hostname in DEFAULT_HOSTNAMES and not self.args.skip_check: + raise SystemExit(f"ERROR: Check 'application_hostname' correctness in " + f"{self.args.app}.yml file.\nCurrent value: {hostname}.\n" + f"Or skip hostname validation with --skip-check flag.") if self.args.app == JSM: self.jmeter_properties = obj['scenarios'][f'jmeter_{self.args.type}']['properties'] else: @@ -126,21 +128,21 @@ def get_settings(self): else: v = value if v is None: - settings.append("{}=\n".format(setting)) + settings.append(f"{setting}=\n") else: - settings.append("{}={}\n".format(setting, v)) + settings.append(f"{setting}={v}\n") return settings def print_settings(self, settings): - print("Get JMeter settings from {} file:".format(self.yml)) + print(f"Get JMeter settings from {self.yml} file:") for setting in settings: print(setting.replace('\n', '')) def launch_jmeter_ui(self): jmeter_path = JMETER_HOME / str(self.env_settings['JMETER_VERSION']) / 'bin' / 'jmeter' command = [str(jmeter_path), "-p", str(PROPERTIES), "-t", str(self.jmx)] - print("JMeter start command: {}".format(' '.join(command))) - print("Working dir: {}".format(APP_DIR)) + print(f"JMeter start command: {' '.join(command)}") + print(f"Working dir: {APP_DIR}") shell = False if system() == WINDOWS: shell = True diff --git a/app/util/k8s/dcapt-small.tfvars b/app/util/k8s/dcapt-small.tfvars index d0cfed4e3..64115940a 100644 --- a/app/util/k8s/dcapt-small.tfvars +++ b/app/util/k8s/dcapt-small.tfvars @@ -11,6 +11,7 @@ # Unique name of your small-scale test cluster. # This value can not be altered after the configuration has been applied. +# Only lowercase letters, numbers, dashes, and dots are allowed. # ! REQUIRED ! environment_name = "dcapt-product-small" @@ -88,10 +89,10 @@ jira_image_repository = "atlassian/jira-software" # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions # Jira version. -jira_version_tag = "9.12.4" +jira_version_tag = "9.12.8" # JSM version # ! REQUIRED for JSM ! -# jira_version_tag = "5.12.4" +# jira_version_tag = "5.12.8" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large jira_dataset_size = "small" @@ -132,7 +133,7 @@ jira_shared_home_size = "20Gi" # Documentation can be found via: # https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html # https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS -jira_db_major_engine_version = "12" +jira_db_major_engine_version = "14" jira_db_instance_class = "db.t3.medium" jira_db_allocated_storage = 200 jira_db_iops = 1000 @@ -160,7 +161,7 @@ jira_additional_jvm_args = ["-Dupm.plugin.upload.enabled=true"] ################################################################################ # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions -confluence_version_tag = "8.5.6" +confluence_version_tag = "8.5.9" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large confluence_dataset_size = "small" @@ -236,7 +237,7 @@ confluence_collaborative_editing_enabled = true ################################################################################ # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions -bitbucket_version_tag = "8.9.10" +bitbucket_version_tag = "8.9.14" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large bitbucket_dataset_size = "small" @@ -291,13 +292,14 @@ bitbucket_nfs_requests_memory = "4Gi" bitbucket_nfs_limits_cpu = "1.5" bitbucket_nfs_limits_memory = "6Gi" -# Elasticsearch resource configuration for Bitbucket -bitbucket_elasticsearch_requests_cpu = "1" -bitbucket_elasticsearch_requests_memory = "4Gi" -bitbucket_elasticsearch_limits_cpu = "1.5" -bitbucket_elasticsearch_limits_memory = "6Gi" -bitbucket_elasticsearch_storage = "100" -bitbucket_elasticsearch_replicas = "2" +# Opensearch resource configuration for Bitbucket +bitbucket_opensearch_requests_cpu = "1" +bitbucket_opensearch_requests_memory = "4Gi" +bitbucket_opensearch_limits_cpu = "1.5" +bitbucket_opensearch_limits_memory = "6Gi" +bitbucket_opensearch_storage = "100" +bitbucket_opensearch_replicas = "2" + # RDS instance configurable attributes. Note that the allowed value of allocated storage and iops may vary based on instance type. # You may want to adjust these values according to your needs. diff --git a/app/util/k8s/dcapt-snapshots.json b/app/util/k8s/dcapt-snapshots.json index a350b70bd..3218bef15 100644 --- a/app/util/k8s/dcapt-snapshots.json +++ b/app/util/k8s/dcapt-snapshots.json @@ -2,15 +2,15 @@ "jira": { "versions": [ { - "version": "9.12.4", + "version": "9.12.8", "data": [ { "type": "local-home", "size": "large", "snapshots": [ { - "us-east-2": "snap-01942e6924d6094d3", - "us-east-1": "snap-0b77a63ff601d4480" + "us-east-2": "snap-051fd66ef030198a5", + "us-east-1": "snap-043527b245bf2db91" } ] }, @@ -19,8 +19,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "snap-0800247b9bad8a16d", - "us-east-1": "snap-018690e2d4e8a8393" + "us-east-2": "snap-06e6b3625907ef40f", + "us-east-1": "snap-00c4d3e86f49a50ae" } ] }, @@ -29,8 +29,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-9-12-4", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-9-12-4" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-9-12-8", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-9-12-8" } ] }, @@ -39,8 +39,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-0b103b4d0d75384f5", - "us-east-1": "snap-0ff264d124d02af3a" + "us-east-2": "snap-0a6568ae761e93d5c", + "us-east-1": "snap-06008c47c2d5cbd70" } ] }, @@ -49,23 +49,23 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-small-9-12-4", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-small-9-12-4" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-small-9-12-8", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-small-9-12-8" } ] } ] }, { - "version": "9.4.17", + "version": "9.4.22", "data": [ { "type": "local-home", "size": "large", "snapshots": [ { - "us-east-2": "snap-01ebb87caac609507", - "us-east-1": "snap-04ba555d376baa19a" + "us-east-2": "snap-0548a582912286c64", + "us-east-1": "snap-0aab7a3309f8e7229" } ] }, @@ -74,8 +74,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "snap-05655fde5263939cb", - "us-east-1": "snap-01e52802d576b3243" + "us-east-2": "snap-07d26a4a8ad14fdaa", + "us-east-1": "snap-0f868af59e30df0ac" } ] }, @@ -84,8 +84,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-9-4-17", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-9-4-17" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-9-4-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-9-4-22" } ] }, @@ -94,8 +94,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-0e9f7412296d3cb5c", - "us-east-1": "snap-0c22d9c03f3f7b075" + "us-east-2": "snap-0c99bf246ecbd7738", + "us-east-1": "snap-061ff31c1bf905c39" } ] }, @@ -104,8 +104,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-small-9-4-17", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-small-9-4-17" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jira-small-9-4-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jira-small-9-4-22" } ] } @@ -116,15 +116,15 @@ "jsm": { "versions": [ { - "version": "5.12.4", + "version": "5.12.8", "data": [ { "type": "local-home", "size": "large", "snapshots": [ { - "us-east-2": "snap-01f8e5dda7e44c94b", - "us-east-1": "snap-084c8edeae71b8dfd" + "us-east-2": "snap-0c8b1385e38129bf3", + "us-east-1": "snap-02d3ad2d2a373c330" } ] }, @@ -133,8 +133,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "snap-0098dceccb1e60b46", - "us-east-1": "snap-02f1c88e526bca8a2" + "us-east-2": "snap-03261fda699fe845f", + "us-east-1": "snap-0a64c05b6854a15e9" } ] }, @@ -143,8 +143,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-5-12-4", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-5-12-4" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-5-12-8", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-5-12-8" } ] }, @@ -153,8 +153,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-0d36a36efae6704c7", - "us-east-1": "snap-0052678aa291f0c0b" + "us-east-2": "snap-01416b487532f4dd8", + "us-east-1": "snap-02ebb11dab2c370f2" } ] }, @@ -163,23 +163,23 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-small-5-12-4", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-small-5-12-4" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-small-5-12-8", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-small-5-12-8" } ] } ] }, { - "version": "5.4.17", + "version": "5.4.22", "data": [ { "type": "local-home", "size": "large", "snapshots": [ { - "us-east-2": "snap-0b0914139687f8fd3", - "us-east-1": "snap-0d12a2fddf1f54173" + "us-east-2": "snap-0333d62ab3cbae6cb", + "us-east-1": "snap-0aec17f537e32dc0b" } ] }, @@ -188,8 +188,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "snap-0fe2f2d7fe239f9fd", - "us-east-1": "snap-0a764e69e95c35f38" + "us-east-2": "snap-03b5a3a9b27083e36", + "us-east-1": "snap-06f0a720296fc68f2" } ] }, @@ -198,8 +198,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-5-4-17", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-5-4-17" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-5-4-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-5-4-22" } ] }, @@ -208,8 +208,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-0eafdaae32b290fa9", - "us-east-1": "snap-026b0562c39192007" + "us-east-2": "snap-0c74b3819cb65506b", + "us-east-1": "snap-05f62e3a2a87c16c1" } ] }, @@ -218,8 +218,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-small-5-4-17", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-small-5-4-17" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-jsm-small-5-4-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-jsm-small-5-4-22" } ] } @@ -230,15 +230,15 @@ "confluence": { "versions": [ { - "version": "7.19.19", + "version": "8.5.9", "data": [ { - "type": "local-home", - "size": "large", + "type": "rds", + "size": "small", "snapshots": [ { - "us-east-2": "snap-051ca1f3060f748a9", - "us-east-1": "snap-05e7f0f83a095335b" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-small-8-5-9", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-small-8-5-9" } ] }, @@ -247,114 +247,114 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-019e918febb9e96ff", - "us-east-1": "snap-01ba6c04e19e3b53a" + "us-east-2": "snap-0f50f2ea319c45d51", + "us-east-1": "snap-04e7e96e4150c9334" } ] }, { - "type": "rds", - "size": "small", + "type": "ebs", + "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-small-7-19-19", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-small-7-19-19" + "us-east-2": "snap-095d5bda17be963d8", + "us-east-1": "snap-0705c82ce05bcdb9f" } ] }, { - "type": "ebs", + "type": "rds", "size": "large", "snapshots": [ { - "us-east-2": "snap-00a8fab739b46f2b7", - "us-east-1": "snap-09ad5c22668c501b5" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-8-5-9", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-8-5-9" } ] }, { - "type": "rds", + "type": "local-home", "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-7-19-19", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-7-19-19" + "us-east-2": "snap-04f9268e11ae1edbe", + "us-east-1": "snap-087fffaf5e3d0bcbb" } ] } ], - "build_number": "8804" + "build_number": "9012" }, { - "version": "8.5.6", + "version": "7.19.22", "data": [ { - "type": "local-home", - "size": "large", + "type": "ebs", + "size": "small", "snapshots": [ { - "us-east-2": "snap-0e4f68027cc6d5252", - "us-east-1": "snap-03adba820e61eafcd" + "us-east-2": "snap-0aca26e5070d87a5c", + "us-east-1": "snap-090f090fb6c143d34" } ] }, { - "type": "ebs", - "size": "large", + "type": "rds", + "size": "small", "snapshots": [ { - "us-east-2": "snap-0df1efecadbd5efe5", - "us-east-1": "snap-0cdf264bb30754151" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-small-7-19-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-small-7-19-22" } ] }, { - "type": "rds", + "type": "ebs", "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-8-5-6", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-8-5-6" + "us-east-2": "snap-07e3f2817de852bf5", + "us-east-1": "snap-062d86bad23771488" } ] }, { - "type": "ebs", - "size": "small", + "type": "rds", + "size": "large", "snapshots": [ { - "us-east-2": "snap-00f8b2e81378f57b4", - "us-east-1": "snap-097851c90fadc39d9" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-7-19-22", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-7-19-22" } ] }, { - "type": "rds", - "size": "small", + "type": "local-home", + "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-confluence-small-8-5-6", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-confluence-small-8-5-6" + "us-east-2": "snap-01b7d52aebfc5aad8", + "us-east-1": "snap-073f351d088ddeb61" } ] } ], - "build_number": "9012" + "build_number": "8804" } ] }, "bitbucket": { "versions": [ { - "version": "7.21.22", + "version": "8.9.14", "data": [ { "type": "ebs", "size": "large", "snapshots": [ { - "us-east-2": "snap-019e03768c88ea9d2", - "us-east-1": "snap-034148029deb1efda" + "us-east-2": "snap-062665f3d72db0cda", + "us-east-1": "snap-0a986ac2391e4f9bc" } ] }, @@ -363,8 +363,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-7-21-22", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-7-21-22" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-8-9-14", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-8-9-14" } ] }, @@ -373,8 +373,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-00a0e6b2e113a4a1c", - "us-east-1": "snap-0f6ca67e95425659c" + "us-east-2": "snap-0cdb2acd1339d5285", + "us-east-1": "snap-062ca53c21e52a36e" } ] }, @@ -383,23 +383,23 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-small-7-21-22", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-small-7-21-22" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-small-8-9-14", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-small-8-9-14" } ] } ] }, { - "version": "8.9.10", + "version": "8.19.4", "data": [ { "type": "ebs", "size": "large", "snapshots": [ { - "us-east-2": "snap-0d577b3651ca9d903", - "us-east-1": "snap-0866a52c1f7d22c37" + "us-east-2": "snap-0e00e90c9c58b4e93", + "us-east-1": "snap-0499a15b59bccdc43" } ] }, @@ -408,8 +408,8 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-8-9-10", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-8-9-10" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-8-19-4", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-8-19-4" } ] }, @@ -418,8 +418,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "snap-0f0340834c14ce8b7", - "us-east-1": "snap-098baaef0883d6831" + "us-east-2": "snap-0e91bbe8ae07948f4", + "us-east-1": "snap-079d4c5f2e28b0f09" } ] }, @@ -428,8 +428,8 @@ "size": "small", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-small-8-9-10", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-small-8-9-10" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-bitbucket-small-8-19-4", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-bitbucket-small-8-19-4" } ] } @@ -440,15 +440,15 @@ "crowd": { "versions": [ { - "version": "5.2.3", + "version": "5.3.1", "data": [ { "type": "ebs", "size": "large", "snapshots": [ { - "us-east-2": "snap-0824995529fb96ba3", - "us-east-1": "snap-02205f6bb80eb7d0e" + "us-east-2": "snap-07e61f580e12766bf", + "us-east-1": "snap-0f6702592c8e5071d" } ] }, @@ -457,13 +457,13 @@ "size": "large", "snapshots": [ { - "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-crowd-5-2-3", - "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-crowd-5-2-3" + "us-east-2": "arn:aws:rds:us-east-2:585036043680:snapshot:dcapt-crowd-5-3-1", + "us-east-1": "arn:aws:rds:us-east-1:585036043680:snapshot:dcapt-crowd-5-3-1" } ] } ], - "build_number": "1944" + "build_number": "1992" } ] } diff --git a/app/util/k8s/dcapt.tfvars b/app/util/k8s/dcapt.tfvars index 0efea4724..591437a5e 100644 --- a/app/util/k8s/dcapt.tfvars +++ b/app/util/k8s/dcapt.tfvars @@ -9,6 +9,7 @@ # Unique name of your enterprise-scale test cluster. # This value can not be altered after the configuration has been applied. +# Only lowercase letters, numbers, dashes, and dots are allowed. # ! REQUIRED ! environment_name = "dcapt-product" @@ -72,7 +73,7 @@ instance_disk_size = 200 # Cluster-autoscaler is installed in the EKS cluster that will manage the requested capacity # and increase/decrease the number of nodes accordingly. This ensures there is always enough resources for the workloads # and removes the need to change this value. -min_cluster_capacity = 2 +min_cluster_capacity = 1 max_cluster_capacity = 6 # By default, Ingress controller listens on 443 and 80. You can enable only http port 80 by @@ -109,11 +110,11 @@ jira_image_repository = "atlassian/jira-software" # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions # Jira version -jira_version_tag = "9.12.4" +jira_version_tag = "9.12.8" # JSM version # ! REQUIRED for JSM ! -# jira_version_tag = "5.12.4" +# jira_version_tag = "5.12.8" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large. jira_dataset_size = "large" @@ -143,7 +144,7 @@ jira_shared_home_size = "200Gi" # Documentation can be found via: # https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html # https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS -jira_db_major_engine_version = "12" +jira_db_major_engine_version = "14" jira_db_instance_class = "db.m5.xlarge" jira_db_allocated_storage = 200 jira_db_iops = 1000 @@ -171,7 +172,7 @@ jira_additional_jvm_args = ["-Dupm.plugin.upload.enabled=true"] ################################################################################ # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions -confluence_version_tag = "8.5.6" +confluence_version_tag = "8.5.9" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large confluence_dataset_size = "large" @@ -197,6 +198,12 @@ synchrony_min_heap = "1024m" synchrony_max_heap = "2048m" synchrony_stack_size = "2048k" +# Confluence NFS instance resource configuration +confluence_nfs_requests_cpu = "1" +confluence_nfs_requests_memory = "1Gi" +confluence_nfs_limits_cpu = "1.5" +confluence_nfs_limits_memory = "2Gi" + # Storage confluence_local_home_size = "200Gi" confluence_shared_home_size = "200Gi" @@ -239,7 +246,7 @@ confluence_collaborative_editing_enabled = true ################################################################################ # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions -bitbucket_version_tag = "8.9.10" +bitbucket_version_tag = "8.9.14" # Dataset size. Used only when snapshots_json_file_path is defined. Defaults to large bitbucket_dataset_size = "large" @@ -286,13 +293,14 @@ bitbucket_nfs_requests_memory = "8Gi" bitbucket_nfs_limits_cpu = "3" bitbucket_nfs_limits_memory = "10Gi" -# Elasticsearch resource configuration for Bitbucket -bitbucket_elasticsearch_requests_cpu = "1.5" -bitbucket_elasticsearch_requests_memory = "4Gi" -bitbucket_elasticsearch_limits_cpu = "2" -bitbucket_elasticsearch_limits_memory = "5Gi" -bitbucket_elasticsearch_storage = "1000" -bitbucket_elasticsearch_replicas = "2" +# Opensearch resource configuration for Bitbucket +bitbucket_opensearch_requests_cpu = "1.5" +bitbucket_opensearch_requests_memory = "4Gi" +bitbucket_opensearch_limits_cpu = "2" +bitbucket_opensearch_limits_memory = "5Gi" +bitbucket_opensearch_storage = "1000" +bitbucket_opensearch_replicas = "2" + # RDS instance configurable attributes. Note that the allowed value of allocated storage and iops may vary based on instance type. # You may want to adjust these values according to your needs. @@ -326,7 +334,7 @@ bitbucket_additional_jvm_args = ["-Dupm.plugin.upload.enabled=true"] ################################################################################ # Supported versions by DCAPT: https://github.com/atlassian/dc-app-performance-toolkit#supported-versions -crowd_version_tag = "5.2.3" +crowd_version_tag = "5.3.1" # Helm chart version of Crowd and Crowd agent instances. By default the latest version is installed. # crowd_helm_chart_version = "" @@ -389,8 +397,8 @@ crowd_db_master_password = "Password1!" # By default, latest supported by DCAPT version is set. # https://hub.docker.com/r/atlassian/bamboo/tags # https://hub.docker.com/r/atlassian/bamboo-agent-base/tags -bamboo_version_tag = "9.6.1" -bamboo_agent_version_tag = "9.6.1" +bamboo_version_tag = "9.6.2" +bamboo_agent_version_tag = "9.6.2" # Helm chart version of Bamboo and Bamboo agent instances # bamboo_helm_chart_version = "" diff --git a/app/util/k8s/terminate_cluster.py b/app/util/k8s/terminate_cluster.py index 5bd9453ea..020c1cb9a 100644 --- a/app/util/k8s/terminate_cluster.py +++ b/app/util/k8s/terminate_cluster.py @@ -627,9 +627,9 @@ def retrieve_ebs_volumes(aws_region, cluster_name): # Check for 'dynamic-pvc' or 'nfs-shared-home' in the name name = next((tag["Value"] for tag in volume.tags if tag["Key"] == "Name"), None) - if "dynamic-pvc" in name or "nfs-shared-home" in name: + if "dynamic-pvc" in name or "nfs-shared-home" in name or "local-home" in name: logging.info(f"Volume {volume.id} is not in use and " - f"has 'dynamic-pvc' or 'nfs-shared-home' in name: deleting...") + f"has 'dynamic-pvc', 'nfs-shared-home' or 'local-home' in name: deleting...") volumes.append(volume.id) print(f"Found volumes: {volumes}") diff --git a/app/util/pre_run/environment_checker.py b/app/util/pre_run/environment_checker.py index 9d0c987aa..70d5a49da 100644 --- a/app/util/pre_run/environment_checker.py +++ b/app/util/pre_run/environment_checker.py @@ -1,6 +1,6 @@ from sys import version_info -SUPPORTED_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11"] +SUPPORTED_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12"] python_full_version = '.'.join(map(str, version_info[0:3])) python_short_version = '.'.join(map(str, version_info[0:2])) diff --git a/app/util/pre_run/environment_compliance_check.py b/app/util/pre_run/environment_compliance_check.py index 6014413be..4485688dc 100644 --- a/app/util/pre_run/environment_compliance_check.py +++ b/app/util/pre_run/environment_compliance_check.py @@ -19,7 +19,7 @@ "CROWD": CROWD_SETTINGS, } -SUPPORTED_JAVA_VERSIONS = [11, 17] +SUPPORTED_JAVA_VERSIONS = [17, 21] def check_dcapt_version(): diff --git a/docs/dc-apps-performance-toolkit-user-guide-bamboo.md b/docs/dc-apps-performance-toolkit-user-guide-bamboo.md index 4faf70777..8b6c6abae 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-bamboo.md +++ b/docs/dc-apps-performance-toolkit-user-guide-bamboo.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Bamboo @@ -30,10 +30,10 @@ test results for the Marketplace approval process. Preferably, use the below rec {{% warning %}} The installation of DC environment and execution pod requires at least **24** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 30. {{% /warning %}} diff --git a/docs/dc-apps-performance-toolkit-user-guide-bitbucket.md b/docs/dc-apps-performance-toolkit-user-guide-bitbucket.md index c101428b4..f7e53cdf5 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-bitbucket.md +++ b/docs/dc-apps-performance-toolkit-user-guide-bitbucket.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Bitbucket @@ -124,8 +124,8 @@ Make sure **English** language is selected as a default language on the **![cog bzt bitbucket.yml ``` -1. Review the resulting table in the console log. All JMeter and Selenium actions should have 95+% success rate. -In case some actions does not have 95+% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/bitbucket/YY-MM-DD-hh-mm-ss` folder: +1. Review the resulting table in the console log. All JMeter and Selenium actions should have 0+% success rate. +In case some actions have 0% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/bitbucket/YY-MM-DD-hh-mm-ss` folder: - `results_summary.log`: detailed run summary - `results.csv`: aggregated .csv file with all actions and timings @@ -134,7 +134,11 @@ In case some actions does not have 95+% success rate refer to the following logs - `pytest.*`: logs of Pytest-Selenium execution {{% warning %}} -Do not proceed with the next step until you have all actions 95+% success rate. Ask [support](#support) if above logs analysis did not help. +On the local run with development environment default tests may be flaky due to limited resources of the development cluster and local network. + +The only purpose of the development cluster is to [develop app-specific actions](#devappaction). + +Do not proceed with the next step if any action has 0% success rate. Ask [support](#support) if above logs analysis did not help. {{% /warning %}} --- @@ -185,10 +189,10 @@ In case of any problems with uninstall use [Force terminate command](https://git {{% warning %}} The installation of 4-pods DC environment and execution pod requires at least **40** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 50. {{% /warning %}} @@ -415,7 +419,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 4 (~1 hour) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} @@ -453,7 +457,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 5 (~1 hour) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} diff --git a/docs/dc-apps-performance-toolkit-user-guide-confluence.md b/docs/dc-apps-performance-toolkit-user-guide-confluence.md index b2aad065b..2e5faeea5 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-confluence.md +++ b/docs/dc-apps-performance-toolkit-user-guide-confluence.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Confluence @@ -127,8 +127,8 @@ Make sure **Remote API** is enabled on the **![cog icon](/platform/marketplace/i bzt confluence.yml ``` -1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 95+% success rate. -In case some actions does not have 95+% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/confluence/YY-MM-DD-hh-mm-ss` folder: +1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 0+% success rate. +In case some actions have 0% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/confluence/YY-MM-DD-hh-mm-ss` folder: - `results_summary.log`: detailed run summary - `results.csv`: aggregated .csv file with all actions and timings @@ -138,7 +138,11 @@ In case some actions does not have 95+% success rate refer to the following logs - `pytest.*`: logs of Pytest-Selenium execution {{% warning %}} -Do not proceed with the next step until you have all actions 95+% success rate. Ask [support](#support) if above logs analysis did not help. +On the local run with development environment default tests may be flaky due to limited resources of the development cluster and local network. + +The only purpose of the development cluster is to [develop app-specific actions](#devappaction). + +Do not proceed with the next step if any action has 0% success rate. Ask [support](#support) if above logs analysis did not help. {{% /warning %}} --- @@ -264,10 +268,10 @@ After adding your custom app-specific actions, you should now be ready to run th {{% warning %}} The installation of 4-pods DC environment and execution pod requires at least **40** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 50. {{% /warning %}} @@ -505,7 +509,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 4 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} @@ -543,7 +547,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 5 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} diff --git a/docs/dc-apps-performance-toolkit-user-guide-crowd.md b/docs/dc-apps-performance-toolkit-user-guide-crowd.md index ce1ac0b18..0b93735d6 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-crowd.md +++ b/docs/dc-apps-performance-toolkit-user-guide-crowd.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Crowd @@ -12,7 +12,7 @@ This document walks you through the process of testing your app on Crowd using t In this document, we cover the use of the Data Center App Performance Toolkit on Enterprise-scale environment. -**Enterprise-scale environment**: Crowd Data Center environment used to generate Data Center App Performance Toolkit test results for the Marketplace approval process. Preferably, use the [AWS Quick Start for Crowd Data Center](https://aws.amazon.com/quickstart/architecture/atlassian-crowd) with the parameters prescribed below. These parameters provision larger, more powerful infrastructure for your Crowd Data Center. +**Enterprise-scale environment**: Crowd Data Center environment used to generate Data Center App Performance Toolkit test results for the Marketplace approval process. Preferably, use the parameters prescribed below. 1. [Set up an enterprise-scale environment Crowd Data Center on AWS](#instancesetup). 2. [App-specific actions development](#appspecificaction). @@ -27,10 +27,10 @@ In this document, we cover the use of the Data Center App Performance Toolkit on {{% warning %}} The installation of 4-pods DC environment and execution pod requires at least **24** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 30. {{% /warning %}} @@ -275,7 +275,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 4 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 30. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} @@ -327,7 +327,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 5 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 30. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} diff --git a/docs/dc-apps-performance-toolkit-user-guide-jira.md b/docs/dc-apps-performance-toolkit-user-guide-jira.md index 6359e2eff..f35141f95 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-jira.md +++ b/docs/dc-apps-performance-toolkit-user-guide-jira.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Jira @@ -136,8 +136,8 @@ Make sure **English (United States)** language is selected as a default language bzt jira.yml ``` -1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 95+% success rate. -In case some actions does not have 95+% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/jira/YY-MM-DD-hh-mm-ss` folder: +1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 0+% success rate. +In case some actions have 0% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/jira/YY-MM-DD-hh-mm-ss` folder: - `results_summary.log`: detailed run summary - `results.csv`: aggregated .csv file with all actions and timings @@ -147,7 +147,11 @@ In case some actions does not have 95+% success rate refer to the following logs - `pytest.*`: logs of Pytest-Selenium execution {{% warning %}} -Do not proceed with the next step until you have all actions 95+% success rate. Ask [support](#support) if above logs analysis did not help. +On the local run with development environment default tests may be flaky due to limited resources of the development cluster and local network. + +The only purpose of the development cluster is to [develop app-specific actions](#devappaction). + +Do not proceed with the next step if any action has 0% success rate. Ask [support](#support) if above logs analysis did not help. {{% /warning %}} --- @@ -275,10 +279,10 @@ After adding your custom app-specific actions, you should now be ready to run th {{% warning %}} The installation of 4-pods DC environment and execution pod requires at least **40** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 50. {{% /warning %}} @@ -555,7 +559,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 4 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} @@ -593,7 +597,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 5 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} diff --git a/docs/dc-apps-performance-toolkit-user-guide-jsm.md b/docs/dc-apps-performance-toolkit-user-guide-jsm.md index bf4fb015e..42fb0290c 100644 --- a/docs/dc-apps-performance-toolkit-user-guide-jsm.md +++ b/docs/dc-apps-performance-toolkit-user-guide-jsm.md @@ -4,7 +4,7 @@ platform: platform product: marketplace category: devguide subcategory: build -date: "2024-04-29" +date: "2024-06-24" --- # Data Center App Performance Toolkit User Guide For Jira Service Management @@ -143,8 +143,8 @@ Make sure **English (United States)** language is selected as a default language bzt jsm.yml ``` -1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 95+% success rate. -In case some actions does not have 95+% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/jsm/YY-MM-DD-hh-mm-ss` folder: +1. Review the resulting table in the console log. All JMeter/Locust and Selenium actions should have 0+% success rate. +In case some actions have 0% success rate refer to the following logs in `dc-app-performance-toolkit/app/results/jsm/YY-MM-DD-hh-mm-ss` folder: - `results_summary.log`: detailed run summary - `results.csv`: aggregated .csv file with all actions and timings @@ -154,7 +154,11 @@ In case some actions does not have 95+% success rate refer to the following logs - `pytest.*`: logs of Pytest-Selenium execution {{% warning %}} -Do not proceed with the next step until you have all actions 95+% success rate. Ask [support](#support) if above logs analysis did not help. +On the local run with development environment default tests may be flaky due to limited resources of the development cluster and local network. + +The only purpose of the development cluster is to [develop app-specific actions](#devappaction). + +Do not proceed with the next step if any action has 0% success rate. Ask [support](#support) if above logs analysis did not help. {{% /warning %}} --- @@ -315,10 +319,10 @@ After adding your custom app-specific actions, you should now be ready to run th {{% warning %}} The installation of 4-pods DC environment and execution pod requires at least **40** vCPU Cores. Newly created AWS account often has vCPU limit set to low numbers like 5 vCPU per region. -Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) page. +Check your account current vCPU limit for On-Demand Standard instances by visiting [AWS Service Quotas](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) page. **Applied quota value** is the current CPU limit in the specific region. -Make that current limit is large enough to deploy new cluster. +Make that current region limit is large enough to deploy new cluster. The limit can be increased by using **Request increase at account-level** button: choose a region, set a quota value which equals a required number of CPU Cores for the installation and press **Request** button. Recommended limit is 50. {{% /warning %}} @@ -598,7 +602,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 4 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jsm/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} @@ -636,7 +640,7 @@ Review `results_summary.log` file under artifacts dir location. Make sure that o ##### Run 5 (~50 min) {{% note %}} Before scaling your DC make sure that AWS vCPU limit is not lower than needed number. Minimum recommended value is 50. -Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) to see current limit. +Use [AWS Service Quotas service](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A?region=us-east-2) to see current limit for `us-east-2` region. [EC2 CPU Limit](https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jsm/#ec2-cpu-limit) section has instructions on how to increase limit if needed. {{% /note %}} diff --git a/requirements.txt b/requirements.txt index 513d5cee2..5863a0b7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,11 @@ -matplotlib==3.8.3 -pandas==2.2.1 -numpy==1.26.4 -scipy==1.12.0 -pytest==8.0.2 -locust==2.24.0 -selenium==4.18.1 -filelock==3.13.1 -packaging==23.2 +matplotlib==3.9.0 +pandas==2.2.2 +pytest==8.2.2 +locust==2.28.0 +selenium==4.21.0 +filelock==3.15.4 +packaging==24.1 prettytable==3.10.0 -bzt==1.16.29 -boto3==1.34.58 +bzt==1.16.31 +boto3==1.34.117 retry==0.9.2