Coverage Report - kg.apc.jmeter.perfmon.NewAgentConnector
 
Classes in this File Line Coverage Branch Coverage Complexity
NewAgentConnector
73%
19/26
25%
1/4
1.8
 
 1  
 package kg.apc.jmeter.perfmon;
 2  
 
 3  
 import java.io.IOException;
 4  
 import java.util.ArrayList;
 5  
 import java.util.HashMap;
 6  
 import java.util.Map;
 7  
 import kg.apc.perfmon.PerfMonMetricGetter;
 8  
 import kg.apc.perfmon.client.Transport;
 9  
 import org.apache.jorphan.logging.LoggingManager;
 10  
 import org.apache.log.Logger;
 11  
 
 12  6
 public class NewAgentConnector implements PerfMonAgentConnector {
 13  
 
 14  1
     private static final Logger log = LoggingManager.getLoggerForClass();
 15  
     protected Transport transport;
 16  6
     private Map<String, String> metrics = new HashMap<String, String>();
 17  
     private String[] metricLabels;
 18  
 
 19  
     public void setTransport(Transport atransport) {
 20  7
         transport = atransport;
 21  7
     }
 22  
 
 23  
     public void connect() throws IOException {
 24  1
         log.debug(metrics.toString());
 25  
 
 26  1
         ArrayList<String> labels = new ArrayList<String>(metrics.keySet());
 27  1
         metricLabels = labels.toArray(new String[0]);
 28  
 
 29  1
         ArrayList<String> arr = new ArrayList<String>(metrics.values());
 30  1
         String[] m = arr.toArray(new String[0]);
 31  1
         transport.startWithMetrics(m);
 32  1
     }
 33  
 
 34  
     public void disconnect() {
 35  1
         transport.disconnect();
 36  1
     }
 37  
 
 38  
     public void generateSamples(PerfMonSampleGenerator collector) throws IOException {
 39  2
         String[] data = transport.readMetrics();
 40  2
         for (int n = 0; n < data.length; n++) {
 41  0
             if (!data[n].isEmpty()) {
 42  
                 try {
 43  0
                     collector.generateSample(Double.parseDouble(data[n]), metricLabels[n]);
 44  0
                 } catch (NumberFormatException e) {
 45  0
                     collector.generateErrorSample(metricLabels[n], e.toString());
 46  0
                 } catch (ArrayIndexOutOfBoundsException e) {
 47  0
                     collector.generateErrorSample(metricLabels[n], e.toString());
 48  0
                 }
 49  
             }
 50  
         }
 51  2
     }
 52  
 
 53  
     public void addMetric(String metric, String params, String label) {
 54  1
         metrics.put(label, metric.toLowerCase() + PerfMonMetricGetter.DVOETOCHIE + params);
 55  1
     }
 56  
 }