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]

Reply via email to