You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2019/10/16 09:51:03 UTC

[karaf-decanter] branch master updated: [KARAF-6455] Improve SOAP collector by adding request response time

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf-decanter.git


The following commit(s) were added to refs/heads/master by this push:
     new 5d57761  [KARAF-6455] Improve SOAP collector by adding request response time
     new d821fd6  Merge pull request #100 from fpapon/KARAF-6455
5d57761 is described below

commit 5d57761ff08d1e905faf420516a646555b3c8585
Author: Francois Papon <fr...@openobject.fr>
AuthorDate: Wed Oct 16 10:42:31 2019 +0200

    [KARAF-6455] Improve SOAP collector by adding request response time
---
 .../decanter/collector/soap/SoapCollector.java     | 26 +++++++++++-----------
 .../decanter/collector/soap/SoapCollectorTest.java |  1 +
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/collector/soap/src/main/java/org/apache/karaf/decanter/collector/soap/SoapCollector.java b/collector/soap/src/main/java/org/apache/karaf/decanter/collector/soap/SoapCollector.java
index 738b978..faefd4d 100644
--- a/collector/soap/src/main/java/org/apache/karaf/decanter/collector/soap/SoapCollector.java
+++ b/collector/soap/src/main/java/org/apache/karaf/decanter/collector/soap/SoapCollector.java
@@ -16,29 +16,26 @@
  */
 package org.apache.karaf.decanter.collector.soap;
 
-import org.apache.karaf.decanter.collector.utils.PropertiesPreparator;
-import org.osgi.service.component.ComponentContext;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventAdmin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
-import java.io.OutputStream;
 import java.io.OutputStreamWriter;
-import java.io.StringWriter;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.net.URLConnection;
+import java.time.Instant;
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.karaf.decanter.collector.utils.PropertiesPreparator;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventAdmin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Component(
         service = Runnable.class,
@@ -112,11 +109,14 @@ public class SoapCollector implements Runnable {
             connection.setDoInput(true);
             connection.setRequestProperty("Content-Type", "text/xml");
             connection.setRequestProperty("Accept", "text/xml");
+            Instant startTime = Instant.now();
             try (OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream())) {
+                Instant responseTime = Instant.now().minusMillis(startTime.toEpochMilli());
                 writer.write(soapRequest);
                 writer.flush();
                 data.put("http.response.code", connection.getResponseCode());
                 data.put("http.response.message", connection.getResponseMessage());
+                data.put("http.response.time", responseTime.toEpochMilli());
                 try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
                     StringBuffer buffer = new StringBuffer();
                     String line;
diff --git a/collector/soap/src/test/java/org/apache/karaf/decanter/collector/soap/SoapCollectorTest.java b/collector/soap/src/test/java/org/apache/karaf/decanter/collector/soap/SoapCollectorTest.java
index b4267f0..0ddeef1 100644
--- a/collector/soap/src/test/java/org/apache/karaf/decanter/collector/soap/SoapCollectorTest.java
+++ b/collector/soap/src/test/java/org/apache/karaf/decanter/collector/soap/SoapCollectorTest.java
@@ -124,6 +124,7 @@ public class SoapCollectorTest {
         Assert.assertNull(event.getProperty("error"));
         Assert.assertEquals(200, event.getProperty("http.response.code"));
         Assert.assertEquals("OK", event.getProperty("http.response.message"));
+        Assert.assertTrue(Long.class.cast(event.getProperty("http.response.time")) > 0L);
         Assert.assertTrue(((String) event.getProperty("soap.response")).contains("hello This is a test"));
     }