Skip to content

Commit 637ee42

Browse files
authored
Merge pull request #226999 from ntrogh/alt-freshness-2
[Azure Load Testing] Content freshness - February 2023
2 parents 1462f03 + 16ea4d9 commit 637ee42

25 files changed

+259
-99
lines changed

articles/load-testing/.openpublishing.redirection.azure-load-testing.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
"source_path_from_root": "/articles/load-testing/tutorial-cicd-github-actions.md",
1515
"redirect_url": "/azure/load-testing/tutorial-identify-performance-regression-with-cicd",
1616
"redirect_document_id": false
17+
},
18+
{
19+
"source_path_from_root": "/articles/load-testing/how-to-find-download-logs.md",
20+
"redirect_url": "/azure/load-testing/how-to-troubleshoot-failing-test",
21+
"redirect_document_id": true
1722
}
1823
]
1924
}

articles/load-testing/concept-load-testing-concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ A test engine is computing infrastructure, managed by Microsoft that runs the Ap
9696

9797
The test engines are hosted in the same location as your Azure Load Testing resource. You can configure the Azure region when you create the Azure load testing resource.
9898

99-
While the test script runs, Azure Load Testing collects and aggregates the Apache JMeter worker logs from all test engine instances. You can [download the logs for analyzing errors during the load test](./how-to-find-download-logs.md).
99+
While the test script runs, Azure Load Testing collects and aggregates the Apache JMeter worker logs from all test engine instances. You can [download the logs for analyzing errors during the load test](./how-to-troubleshoot-failing-test.md).
100100

101101
### Test run
102102

articles/load-testing/how-to-compare-multiple-test-runs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,5 @@ When there's a performance issue, you can use the server-side metrics to analyze
102102
## Next steps
103103

104104
- Learn more about [exporting the load test results for reporting](./how-to-export-test-results.md).
105-
- Learn more about [troubleshooting load test execution errors](./how-to-find-download-logs.md).
105+
- Learn more about [troubleshooting load test execution errors](./how-to-troubleshoot-failing-test.md).
106106
- Learn more about [configuring automated performance testing with CI/CD](./tutorial-identify-performance-regression-with-cicd.md).

articles/load-testing/how-to-configure-user-properties.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ Alternately, you also specify properties in the JMeter user interface. The follo
124124

125125
:::image type="content" source="media/how-to-configure-user-properties/jmeter-user-properties.png" alt-text="Screenshot that shows how to reference user properties in the JMeter user interface.":::
126126

127-
You can [download the JMeter errors logs](./how-to-find-download-logs.md) to troubleshoot errors during the load test.
127+
You can [download the JMeter errors logs](./how-to-troubleshoot-failing-test.md) to troubleshoot errors during the load test.
128128

129129
## Next steps
130130

131131
- Learn more about [JMeter properties that Azure Load Testing overrides](./resource-jmeter-property-overrides.md).
132132
- Learn more about [parameterizing a load test by using environment variables and secrets](./how-to-parameterize-load-tests.md).
133-
- Learn more about [troubleshooting load test execution errors](./how-to-find-download-logs.md).
133+
- Learn more about [troubleshooting load test execution errors](./how-to-troubleshoot-failing-test.md).

articles/load-testing/how-to-export-test-results.md

Lines changed: 84 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,15 @@ services: load-testing
66
ms.service: load-testing
77
ms.author: nicktrog
88
author: ntrogh
9-
ms.date: 03/31/2022
9+
ms.date: 02/10/2023
1010
ms.topic: how-to
1111

1212
---
1313
# Export test results from Azure Load Testing for use in third-party tools
1414

15-
In this article, you'll learn how to download the test results from Azure Load Testing in the Azure portal. You might use these results for reporting in third-party tools.
15+
In this article, you learn how to download the test results from Azure Load Testing in the Azure portal. You might use these results for reporting in third-party tools or for diagnosing test failures. Azure Load Testing generates the test results in comma-separated values (CSV) file format, and provides details of each application request for the load test.
1616

17-
The test results contain comma-separated values (CSV) file(s) with details of each application request. See [Apache JMeter CSV log format](https://jmeter.apache.org/usermanual/listeners.html#csvlogformat) and the [Apache JMeter Glossary](https://jmeter.apache.org/usermanual/glossary.html) for details about the different fields.
18-
19-
You can also use the test results to diagnose errors during a load test. The `responseCode` and `responseMessage` fields give you more information about failed requests. For more information about investigating errors, see [Troubleshoot test execution errors](./how-to-find-download-logs.md).
17+
You can also use the test results to diagnose errors during a load test. The `responseCode` and `responseMessage` fields give you more information about failed requests. For more information about investigating errors, see [Troubleshoot test execution errors](./how-to-troubleshoot-failing-test.md).
2018

2119
You can generate the Apache JMeter dashboard from the CSV log file following the steps mentioned [here](https://jmeter.apache.org/usermanual/generating-dashboard.html#report).
2220

@@ -25,9 +23,26 @@ You can generate the Apache JMeter dashboard from the CSV log file following the
2523
- An Azure account with an active subscription. If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
2624
- An Azure Load Testing resource that has a completed test run. If you need to create an Azure Load Testing resource, see [Create and run a load test](./quickstart-create-and-run-load-test.md).
2725

26+
## Test results file
27+
28+
Azure Load Testing generates a test results CSV file for each [test engine instance](./concept-load-testing-concepts.md#test-engine). Learn how you can [scale out your load test](./how-to-high-scale-load.md).
29+
30+
Azure Load Testing uses the [Apache JMeter CSV log format](https://jmeter.apache.org/usermanual/listeners.html#csvlogformat). For more information about the different fields, see the [JMeter Glossary in the Apache JMeter documentation](https://jmeter.apache.org/usermanual/glossary.html).
31+
32+
You can find the details of each application request for the load test run in the test results file. The following snippet shows a sample test result:
33+
34+
```output
35+
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
36+
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
37+
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
38+
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94
39+
```
40+
2841
## Access and download load test results
2942

30-
In this section, you'll retrieve and download the Azure Load Testing results file from the Azure portal.
43+
# [Azure portal](#tab/portal)
44+
45+
To download the test results for a test run in the Azure portal:
3146

3247
1. In the [Azure portal](https://portal.azure.com), go to your Azure Load Testing resource.
3348

@@ -57,8 +72,70 @@ In this section, you'll retrieve and download the Azure Load Testing results fil
5772

5873
The folder contains a separate CSV file for every test engine and contains details of requests that the test engine executed during the load test.
5974

75+
# [GitHub Actions](#tab/github)
76+
77+
When you run a load test as part of your CI/CD pipeline, Azure Load Testing generates a test results file. Follow these steps to publish these test results and attach them to your CI/CD pipeline run:
78+
79+
1. Go to your GitHub repository, and select **Code**.
80+
81+
1. In the **Code** window, select your GitHub Actions workflow YAML file in the `.github/workflow` folder.
82+
83+
:::image type="content" source="./media/how-to-export-test-results/github-repository-workflow-definition-file.png" alt-text="Screenshot that shows the folder that contains the GitHub Actions workflow definition file." lightbox="./media/how-to-export-test-results/github-repository-workflow-definition-file.png":::
84+
85+
1. Edit the workflow file and add the `actions/upload-artifact` action after the `azure/load-testing` action in the workflow file.
86+
87+
Azure Load Testing places the test results in the `loadTest` folder of the GitHub Actions workspace.
88+
89+
```yml
90+
- name: 'Azure Load Testing'
91+
uses: azure/load-testing@v1
92+
with:
93+
loadTestConfigFile: 'SampleApp.yaml'
94+
loadTestResource: ${{ env.LOAD_TEST_RESOURCE }}
95+
resourceGroup: ${{ env.LOAD_TEST_RESOURCE_GROUP }}
96+
97+
- uses: actions/upload-artifact@v2
98+
with:
99+
name: loadTestResults
100+
path: ${{ github.workspace }}/loadTest
101+
```
102+
103+
1. After your GitHub Actions workflow completes, you can select the test results from the **Artifacts** section on the **Summary** page of the workflow run.
104+
105+
:::image type="content" source="./media/how-to-export-test-results/github-actions-run-summary.png" alt-text="Screenshot that shows the GitHub Actions workflow summary page, highlighting the test results in the Artifacts section." lightbox="./media/how-to-export-test-results/github-actions-run-summary.png":::
106+
107+
# [Azure Pipelines](#tab/pipelines)
108+
109+
When you run a load test as part of your CI/CD pipeline, Azure Load Testing generates a test results file. Follow these steps to publish these test results and attach them to your CI/CD pipeline run:
110+
111+
1. In your Azure DevOps project, select **Pipelines** in the left navigation, and select your pipeline from the list.
112+
113+
1. On the pipeline details page, select **Edit** to edit the workflow definition.
114+
115+
1. Edit the workflow file and add the `publish` task after the `AzureLoadTest` task in the workflow file.
116+
117+
Azure Load Testing places the test results in the `loadTest` folder of the Azure Pipelines default working directory.
118+
119+
```yml
120+
- task: AzureLoadTest@1
121+
inputs:
122+
azureSubscription: $(serviceConnection)
123+
loadTestConfigFile: 'SampleApp.yaml'
124+
resourceGroup: $(loadTestResourceGroup)
125+
loadTestResource: $(loadTestResource)
126+
127+
- publish: $(System.DefaultWorkingDirectory)/loadTest
128+
artifact: results
129+
```
130+
1. After your Azure Pipelines workflow completes, you can select the test results from the **Stages** section on the **Summary** page of the workflow run.
131+
132+
You can find and download the test results in the **Results** folder.
133+
134+
:::image type="content" source="./media/how-to-export-test-results/azure-pipelines-run-summary.png" alt-text="Screenshot that shows the Azure Pipelines workflow summary page, highlighting the test results in the Stages section." lightbox="./media/how-to-export-test-results/azure-pipelines-run-summary.png":::
135+
---
136+
60137
## Next steps
61138

62-
- Learn more about [Troubleshooting test execution errors](./how-to-find-download-logs.md).
139+
- Learn more about [Troubleshooting test execution errors](./how-to-troubleshoot-failing-test.md).
63140
- For information about comparing test results, see [Compare multiple test results](./how-to-compare-multiple-test-runs.md).
64141
- To learn about performance test automation, see [Configure automated performance testing](./tutorial-identify-performance-regression-with-cicd.md).

articles/load-testing/how-to-find-download-logs.md

Lines changed: 0 additions & 82 deletions
This file was deleted.

articles/load-testing/how-to-high-scale-load.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ For example, if application latency is 20 milliseconds (0.02 second), and you're
3434
To achieve a target number of requests per second, configure the total number of virtual users for your load test.
3535

3636
> [!NOTE]
37-
> Apache JMeter only reports requests that made it to the server and back, either successful or not. If Apache JMeter is unable to connect to your application, the actual number of requests per second will be lower than the maximum value. Possible causes might be that the server is too busy to handle the request, or that an TLS/SSL certificate is missing. To diagnose connection problems, you can check the **Errors** chart in the load testing dashboard and [download the load test log files](./how-to-find-download-logs.md).
37+
> Apache JMeter only reports requests that made it to the server and back, either successful or not. If Apache JMeter is unable to connect to your application, the actual number of requests per second will be lower than the maximum value. Possible causes might be that the server is too busy to handle the request, or that an TLS/SSL certificate is missing. To diagnose connection problems, you can check the **Errors** chart in the load testing dashboard and [download the load test log files](./how-to-troubleshoot-failing-test.md).
3838
3939
## Test engine instances and virtual users
4040

articles/load-testing/how-to-parameterize-load-tests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: load-testing
66
ms.service: load-testing
77
ms.author: ninallam
88
author: ninallam
9-
ms.date: 03/22/2022
9+
ms.date: 01/15/2023
1010
ms.topic: how-to
1111
---
1212

0 commit comments

Comments
 (0)