use of com.emc.storageos.systemservices.impl.logsvc.LogMessage in project coprhd-controller by CoprHD.
the class LogNetworkReaderPerfTest method testPerformance.
@Test
public void testPerformance() throws Exception {
List<String> svcs = new ArrayList<String>() {
{
add("controllersvc");
add("coordinatorsvc");
add("apisvc");
}
};
int bufSize = 1024 * 64;
LogRequest req = new LogRequest.Builder().baseNames(svcs).build();
final LogNetworkWriter writer = new LogNetworkWriter(req, propertiesLoader);
try (final PipedOutputStream out = new PipedOutputStream();
final BufferedOutputStream outputStream = new BufferedOutputStream(out, bufSize);
final PipedInputStream inputStream = new PipedInputStream(out)) {
LogNetworkReader reader = new LogNetworkReader("vipr1", "vipr1", inputStream, new LogStatusInfo());
long totalSize = 0;
long startTime = System.nanoTime();
new Thread(new Runnable() {
public void run() {
try {
writer.write(outputStream);
} catch (Exception e) {
// NOSONAR
e.printStackTrace();
// ("squid:S1148 suppress sonar warning on printStackTrace. It's a test case and exceptions are meant to be printed to stdout/stderr")
}
}
}).start();
LogMessage log = null;
while ((log = reader.readNextLogMessage()) != null) {
totalSize += log.toStringOriginalFormat().getBytes().length;
}
long endTime = System.nanoTime();
totalSize /= (1024L * 1024L);
double elapsedTime = (double) (endTime - startTime) / 1000000000.0;
System.out.println("Total read " + totalSize + " MB;" + " Used " + elapsedTime + " sec; Average " + (totalSize / elapsedTime) + " MB/sec.");
}
}
use of com.emc.storageos.systemservices.impl.logsvc.LogMessage in project coprhd-controller by CoprHD.
the class LogReaderPerfTest method testPerformance.
@Test
public void testPerformance() throws Exception {
LogStatusInfo status = new LogStatusInfo();
String filePath = PATH;
File file = new File(filePath);
double fileSize = (double) file.length() / (1024L * 1024L);
LogRequest req = new LogRequest.Builder().build();
// empty service list
LogReader reader = new LogReader(filePath, req, status, null);
long startTime = System.nanoTime();
while (true) {
LogMessage log = reader.readNextLogMessage();
if (log == null) {
break;
}
}
double elapsedTime = (double) (System.nanoTime() - startTime) / 1000000000.0;
double speed = fileSize / elapsedTime;
System.out.println("Performance for LogReader");
System.out.println("Total read " + fileSize + " MB;" + " Used " + elapsedTime + " sec; Average " + speed + " MB/sec.");
}
use of com.emc.storageos.systemservices.impl.logsvc.LogMessage in project coprhd-controller by CoprHD.
the class LogStreamMergerPerfTest method testMergePerformance.
@Test
public void testMergePerformance() throws Exception {
List<String> svcs = new ArrayList<String>() {
{
add("controllersvc");
add("coordinatorsvc");
add("apisvc");
}
};
LogRequest req = new LogRequest.Builder().baseNames(svcs).build();
LogStreamMerger merger = new LogStreamMerger(req, propertiesLoader);
long startTime = System.nanoTime();
while (true) {
LogMessage log = merger.readNextMergedLogMessage();
if (log == null) {
break;
}
}
long endTime = System.nanoTime();
int num = merger.getStreamList().length;
long totalSize = 0;
for (int i = 0; i < num; i++) {
totalSize += merger.getStreamList()[i].getTotalSizeCount();
}
totalSize = totalSize / (1024L * 1024L);
double elapsedTime = (double) (endTime - startTime) / 1000000000.0;
System.out.println("Total read " + totalSize + " MB;" + " Used " + elapsedTime + " sec; Average " + (totalSize / elapsedTime) + " MB/sec.");
}
use of com.emc.storageos.systemservices.impl.logsvc.LogMessage in project coprhd-controller by CoprHD.
the class LogStreamMergerPerfTest method testMergePerformanceTimeRangeFilter.
@Test
@Ignore
public void testMergePerformanceTimeRangeFilter() throws Exception {
List<String> svcs = new ArrayList<String>() {
{
add("controllersvc");
add("coordinatorsvc");
add("apisvc");
}
};
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 10, 20, 16, 38, 16);
Date startTimeFilter = calendar.getTime();
calendar.set(2014, 0, 16, 16, 38, 0);
Date endTimeFilter = calendar.getTime();
LogRequest req = new LogRequest.Builder().startTime(startTimeFilter).endTime(endTimeFilter).baseNames(svcs).build();
LogStreamMerger merger = new LogStreamMerger(req, propertiesLoader);
long startTime = System.nanoTime();
while (true) {
LogMessage log = merger.readNextMergedLogMessage();
if (log == null) {
break;
}
}
long endTime = System.nanoTime();
int num = merger.getStreamList().length;
long totalSize = 0;
for (int i = 0; i < num; i++) {
totalSize += merger.getStreamList()[i].getTotalSizeCount();
}
totalSize = totalSize / (1024L * 1024L);
double elapsedTime = (double) (endTime - startTime) / 1000000000.0;
System.out.println("Performance with time range filter");
System.out.println("Total read " + totalSize + " MB;" + " Average " + (totalSize / elapsedTime) + " MB/sec.");
}
use of com.emc.storageos.systemservices.impl.logsvc.LogMessage in project coprhd-controller by CoprHD.
the class LogStreamMergerPerfTest method testMergePerformanceMultipleFilters.
@Test
@Ignore
public void testMergePerformanceMultipleFilters() throws Exception {
List<String> svcs = new ArrayList<String>() {
{
add("controllersvc");
add("coordinatorsvc");
add("apisvc");
}
};
String pattern = "Memory";
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 10, 20, 16, 38, 16);
Date startTimeFilter = calendar.getTime();
calendar.set(2014, 0, 16, 16, 38, 0);
Date endTimeFilter = calendar.getTime();
LogRequest req = new LogRequest.Builder().startTime(startTimeFilter).endTime(endTimeFilter).logLevel(7).regex(pattern).baseNames(svcs).build();
LogStreamMerger merger = new LogStreamMerger(req, propertiesLoader);
long startTime = System.nanoTime();
while (true) {
LogMessage log = merger.readNextMergedLogMessage();
if (log == null) {
break;
}
}
long endTime = System.nanoTime();
int num = merger.getStreamList().length;
long totalSize = 0;
for (int i = 0; i < num; i++) {
totalSize += merger.getStreamList()[i].getTotalSizeCount();
}
totalSize = totalSize / (1024L * 1024L);
double elapsedTime = (double) (endTime - startTime) / 1000000000.0;
System.out.println("Performance with time, level, pattern filters");
System.out.println("Total read " + totalSize + " MB;" + " Average " + (totalSize / elapsedTime) + " MB/sec.");
}
Aggregations