diff --git a/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectService.dql b/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectService.dql index 81e7491df098403e6b1d2cdc205649305276c4a5..a387da2bd3532edb05e00f9e9217a912ff042771 100644 --- a/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectService.dql +++ b/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectService.dql @@ -1,3 +1,3 @@ SELECT srv1.ResponseTime.DEFAULT -FOR SERVICE 'org.mybatis.jpetstore.web.actions.CatalogActionBean' AS srv1 +FOR SERVICE 'org.mybatis.jpetstore.web.actions.CatalogActionBean.getItem()' AS srv1 USING kieker@'JPetStore.properties'; \ No newline at end of file diff --git a/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectUtilization.dql b/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectUtilization.dql index 83a42a540e3611e9ad824c5755f6a6c487ee1750..722883dd2f7effb5620f221b6c957134c24b74b2 100644 --- a/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectUtilization.dql +++ b/tools.descartes.dql.connector.kieker.examples/JPetStore/SelectUtilization.dql @@ -1,3 +1,3 @@ SELECT res1.utilization.SAMPLE -FOR RESOURCE 'cpu1' AS res1 +FOR RESOURCE 'cpu3' AS res1 USING kieker@'JPetStore.properties'; \ No newline at end of file diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java index e7ec8036a6abefa7efa430ae89684d5deef61016..a66f2bb6abb821959609300e54104c701c33fa3d 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java @@ -241,7 +241,7 @@ public class KiekerHelper { Configuration readerConfig = new Configuration(); for (int i = 0; i< traceFolders.length; i++){ - readerConfig.setProperty("TRACE_"+i, outputPath+File.separator+traceFolders[i]); + readerConfig.setProperty("TRACE_"+i, traceFolders[i]); } for (Entity e : request.getEntities()) { @@ -287,6 +287,19 @@ public class KiekerHelper { return new File(current, name).isDirectory(); } }); + if (directories.length > 0){ + return directories; + } + // if no folders found, files might be directly under this path and not in a subfolder + String[] files = file.list(new FilenameFilter() { + @Override + public boolean accept(File current, String name) { + return (name.endsWith(".map") || name.endsWith(".dat")); + } + }); + if (files.length > 1){ + directories = new String[]{file.getAbsolutePath()}; + } return directories; } @@ -331,15 +344,14 @@ public class KiekerHelper { public static boolean checkTraceFilesExist(String path){ File file = new File(path); - return true; -// if (!file.exists() || ! file.isDirectory()){ -// return false; -// } -// String[] folders = getTraceFolders(path); -// if (folders.length>0){ -// return true; -// } else { -// return false; -// } + if (!file.exists() || ! file.isDirectory()){ + return false; + } + String[] folders = getTraceFolders(path); + if (folders.length>0){ + return true; + } else { + return false; + } } } diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java index 1a73b7d88676e0d65fead0f2f2063fbca96c8a23..3e2f89d7d72618dc952e1847ed82a73513ae63c4 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/PerformanceMetricsQueryConnectorImpl.java @@ -79,6 +79,8 @@ public class PerformanceMetricsQueryConnectorImpl extends if (KiekerHelper.METRIC_UTILIZATION.equalsIgnoreCase(dqlProbe.getMetricName())) { if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){ ContinuousSeriesResult result = domainFactory.createContinuousSeriesResult(); + result.setXAxisDescription("ms"); + result.setYAxisDescription("% (between 0 and 1)"); if (resources != null && resources.size() > 0) { try { for (ResourceRecord record : resources) { @@ -100,6 +102,8 @@ public class PerformanceMetricsQueryConnectorImpl extends } else if (KiekerHelper.METRIC_RESPONSE_TIME.equalsIgnoreCase(dqlProbe.getMetricName())) { if (st.getTypeName().equals("DEFAULT") || st.getTypeName().equals("SAMPLE")){ ContinuousSeriesResult res = domainFactory.createContinuousSeriesResult(); + res.setXAxisDescription("ms"); + res.setYAxisDescription("ms"); if (services != null) { try { Component comp = new Component(KiekerHelper.getComponentString(ent.getIdentifier())); diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/ClassAndInterfaceFilter.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/ClassAndInterfaceFilter.java index bdf26fe85ebc26493531bea1d66fae595b44df16..0295c50dc324e06c8343e0752aa361a02ab4a8b2 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/ClassAndInterfaceFilter.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/ClassAndInterfaceFilter.java @@ -53,6 +53,7 @@ public class ClassAndInterfaceFilter extends AbstractFilterPlugin { final String hostName = opExRecord.getHostname(); final String signature = opExRecord.getOperationSignature(); + final long exTime = opExRecord.getTout()-opExRecord.getTin(); final String classPattern = "[\\p{Graph}]+((\\.)(\\w)*[<(].*[>)])";//String-pattern to extract the component information final String interfacePattern = "((\\.)(\\w)*[<(].*[>)])";//String-pattern to extract the component information @@ -70,7 +71,10 @@ public class ClassAndInterfaceFilter extends AbstractFilterPlugin { String[] redundantInfo=signature.split(classPattern); //(redundantInfo + classAndInterfaceString) - redundantInfo = classAndInterfaceString - String classAndInterfaceString = signature.substring(redundantInfo[0].length()); + String classAndInterfaceString = signature; + if (redundantInfo.length > 0){ + classAndInterfaceString = signature.substring(redundantInfo[0].length()); + } //extraction of the class information String[] componentSeparatedByNonWordChar = classAndInterfaceString.split(interfacePattern);