This is an automated email from the ASF dual-hosted git repository.
zrlw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git
The following commit(s) were added to refs/heads/master by this push:
new b0778b5c6 Add sleep processing for jacoco agent to finish writing exec
file, and for ConsumerMetricsIT to finish all metrics data collection (#1253)
b0778b5c6 is described below
commit b0778b5c63b8c8362d2bdf9829412dadb720e9a9
Author: zrlw <[email protected]>
AuthorDate: Sat Sep 20 08:39:02 2025 +0800
Add sleep processing for jacoco agent to finish writing exec file, and for
ConsumerMetricsIT to finish all metrics data collection (#1253)
* wait 5 seconds for jacoco agent to finish writing its exec file
* retry 3 times and wait 1 second at each retry for ConsumerMetricsIT to
collect all metrics data
---
.../prometheus/consumer/ConsumerMetricsIT.java | 25 ++++++++++++++--------
.../src/main/resources/scenario.sh | 3 +++
2 files changed, 19 insertions(+), 9 deletions(-)
diff --git
a/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/src/test/java/org/apache/dubbo/samples/metrics/prometheus/consumer/ConsumerMetricsIT.java
b/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/src/test/java/org/apache/dubbo/samples/metrics/prometheus/consumer/ConsumerMetricsIT.java
index 98b51bfcd..3257c213a 100644
---
a/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/src/test/java/org/apache/dubbo/samples/metrics/prometheus/consumer/ConsumerMetricsIT.java
+++
b/4-governance/dubbo-samples-metrics-prometheus/dubbo-samples-metrics-prometheus-consumer/src/test/java/org/apache/dubbo/samples/metrics/prometheus/consumer/ConsumerMetricsIT.java
@@ -123,17 +123,24 @@ public class ConsumerMetricsIT {
ClassPathXmlApplicationContext context = new
ClassPathXmlApplicationContext("dubbo-demo-consumer.xml");
List<String> notExistedList = new ArrayList<>();
+ HttpGet request = new HttpGet("http://localhost:" + port + "/metrics");
try (CloseableHttpClient client = HttpClients.createDefault()) {
- HttpGet request = new HttpGet("http://localhost:" + port +
"/metrics");
- CloseableHttpResponse response = client.execute(request);
- InputStream inputStream = response.getEntity().getContent();
- String text = new BufferedReader(new
InputStreamReader(inputStream, StandardCharsets.UTF_8))
- .lines().collect(Collectors.joining("\n"));
- for (int i = 0; i < metricKeys.size(); i++) {
- String metricKey = metricKeys.get(i);
- if (!text.contains(metricKey)) {
- notExistedList.add(metricKey);
+ // retry 3 times as all metrics data are not collected immediately.
+ for (int retryTime = 0; retryTime < 3; retryTime++) {
+ notExistedList.clear();
+ CloseableHttpResponse response = client.execute(request);
+ InputStream inputStream = response.getEntity().getContent();
+ String text = new BufferedReader(new
InputStreamReader(inputStream, StandardCharsets.UTF_8)).lines()
+ .collect(Collectors.joining("\n"));
+ for (String metricKey : metricKeys) {
+ if (!text.contains(metricKey)) {
+ notExistedList.add(metricKey);
+ }
}
+ if (notExistedList.isEmpty()) {
+ break;
+ }
+ Thread.sleep(1000);
}
} catch (Exception e) {
Assert.fail(e.getMessage());
diff --git a/test/dubbo-scenario-builder/src/main/resources/scenario.sh
b/test/dubbo-scenario-builder/src/main/resources/scenario.sh
index d02249e9c..89496b62c 100644
--- a/test/dubbo-scenario-builder/src/main/resources/scenario.sh
+++ b/test/dubbo-scenario-builder/src/main/resources/scenario.sh
@@ -207,6 +207,9 @@ sleep 5
read -r -d '' _ </dev/tty
fi
+ echo "[$scenario_name] Waiting 5 seconds for jacoco agent to finish
writing its exec file .." | tee -a $scenario_log
+ sleep 5
+
echo "[$scenario_name] Stopping containers .." | tee -a $scenario_log
docker compose -p ${project_name} -f ${compose_file} kill 2>&1 | tee -a
$scenario_log > /dev/null
#fi
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]