本文整理汇总了Java中org.HdrHistogram.HistogramLogWriter类的典型用法代码示例。如果您正苦于以下问题:Java HistogramLogWriter类的具体用法?Java HistogramLogWriter怎么用?Java HistogramLogWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HistogramLogWriter类属于org.HdrHistogram包,在下文中一共展示了HistogramLogWriter类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: encodedHistogram
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
private void encodedHistogram(final Histogram histogram, final String histogramTitle, final PrintStream out, final String testLabel)
{
try
{
final File histogramOutputFile = getHistogramOutputFile(outputDir, histogramTitle, testLabel);
out.println("Writing full encoded histogram to " + histogramOutputFile.getAbsolutePath() + "\n");
try (final PrintStream printStream = new PrintStream(histogramOutputFile))
{
new HistogramLogWriter(printStream).outputIntervalHistogram(0, 1, histogram, 1d);
}
}
catch (FileNotFoundException e)
{
throw new RuntimeException("Failed to write histogram", e);
}
}
示例2: persist
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
void persist(long currentTimeMillis, String currentTimeString) {
performanceLogWriter.write(
currentTimeMillis,
currentTimeString,
totalOperationCount,
intervalOperationCount,
intervalThroughput);
// dumps all the Histograms that have been collected to file.
for (Map.Entry<String, Histogram> histogramEntry : intervalHistogramMap.entrySet()) {
String probeName = histogramEntry.getKey();
HistogramLogWriter histogramLogWriter = histogramLogWriterMap.get(probeName);
if (histogramLogWriter == null) {
histogramLogWriter = createHistogramLogWriter(probeName);
histogramLogWriterMap.put(probeName, histogramLogWriter);
}
Histogram intervalHistogram = histogramEntry.getValue();
histogramLogWriter.outputIntervalHistogram(intervalHistogram);
}
}
示例3: HdrHistLatencyCollector
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
/** @param outputFileName output file name (in *.hlot format) */
public HdrHistLatencyCollector (String outputFileName) throws FileNotFoundException {
PrintStream log = new PrintStream(new FileOutputStream(outputFileName), false);
histogramLogWriter = new HistogramLogWriter(log);
// Header
//histogramLogWriter.outputComment("[Logged with " + getVersionString() + "]");
histogramLogWriter.outputLogFormatVersion();
histogramLogWriter.outputStartTime(System.currentTimeMillis());
histogramLogWriter.setBaseTime(System.currentTimeMillis());
histogramLogWriter.outputLegend();
Timer timer = new Timer(true);
timer.schedule(new TimerTask() {
@Override
public void run() {
histogramLogWriter.outputIntervalHistogram(histogram);
}
}, OUTPUT_INTERVAL_MSEC);
}
示例4: outputHistogram
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
private void outputHistogram(final Histogram histogram, final int streamNumber, final String qualifier)
{
try
{
try(final PrintStream printStream = new PrintStream(getHistogramOutputFile(commandLineArgs, streamNumber, qualifier)))
{
new HistogramLogWriter(printStream).outputIntervalHistogram(streamNumber, streamNumber + 1, histogram, 1d);
}
}
catch (FileNotFoundException e)
{
throw new RuntimeException("Failed to write histogram", e);
}
}
示例5: report
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
@Override
public void report(final StatisticsPeekHolder<E> statisticsHolder) {
long now = System.currentTimeMillis();
Enum<E>[] results = statisticsHolder.getResultsReported();
for (Enum<E> result : results) {
Histogram histogram = statisticsHolder.fetchHistogram(result);
Histogram copy = histogram.copy();
histogram.setEndTimeStamp(now);
Holder previous = this.previous.get(result);
if (previous == null) {
try {
histogram.setStartTimeStamp(startTs);
previous = new Holder();
previous.previousTs = startTs;
File hlogFile = new File(this.basedir + File.separatorChar + buildHlogFilename(result.name()));
hlogFile.getParentFile().mkdirs();
previous.writer = new HistogramLogWriter(new PrintStream(hlogFile));
previous.writer.setBaseTime(startTs);
previous.writer.outputLogFormatVersion();
previous.writer.outputBaseTime(previous.writer.getBaseTime());
previous.writer.outputLegend();
this.previous.put(result, previous);
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
} else {
histogram.setStartTimeStamp(previous.previousTs);
histogram.subtract(previous.histogram);
}
previous.histogram = copy;
previous.writer.outputIntervalHistogram(histogram);
previous.previousTs = now;
}
}
示例6: summarize
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
@Override
public void summarize(final StatisticsHolder<E> statisticsHolder) {
// dump raw histograms as hlog files
long startTime = ManagementFactory.getRuntimeMXBean().getStartTime();
long endTime = System.currentTimeMillis();
try {
Enum<E>[] results = statisticsHolder.getResultsReported();
for (Enum<E> result : results) {
Histogram rawHistogram = statisticsHolder.fetchHistogram(result);
rawHistogram.setStartTimeStamp(startTime);
rawHistogram.setEndTimeStamp(endTime);
File hlogFile = new File(this.basedir + File.separatorChar + buildHlogFilename(result.name()));
hlogFile.getParentFile().mkdirs();
HistogramLogWriter writer = new HistogramLogWriter(new PrintStream(hlogFile));
writer.setBaseTime(startTime);
writer.outputLogFormatVersion();
writer.outputBaseTime(writer.getBaseTime());
writer.outputLegend();
writer.outputIntervalHistogram(rawHistogram);
writer.close();
}
} catch (Exception e) {
throw new RuntimeException("Can not report to hlog", e);
}
}
示例7: main
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
File outputFile = new File(args[0]);
deleteQuiet(outputFile);
ensureExistingFile(outputFile);
HistogramLogReader[] readers = new HistogramLogReader[args.length - 1];
for (int k = 1; k < args.length; k++) {
String inputFile = args[k];
readers[k - 1] = new HistogramLogReader(inputFile);
}
HistogramLogWriter writer = new HistogramLogWriter(outputFile);
writer.outputComment("[Latency histograms for " + getBaseName(outputFile) + ']');
writer.outputLogFormatVersion();
writer.outputLegend();
for (; ; ) {
Histogram merged = null;
for (HistogramLogReader reader : readers) {
Histogram histogram = (Histogram) reader.nextIntervalHistogram();
if (histogram == null) {
continue;
}
if (merged == null) {
merged = new Histogram(
histogram.getLowestDiscernibleValue(),
histogram.getHighestTrackableValue(),
histogram.getNumberOfSignificantValueDigits());
}
merged.add(histogram);
}
if (merged == null) {
break;
}
writer.outputIntervalHistogram(merged);
}
}
示例8: createHistogramLogWriter
import org.HdrHistogram.HistogramLogWriter; //导入依赖的package包/类
HistogramLogWriter createHistogramLogWriter(String probeName) {
String testId = testContainer.getTestCase().getId();
try {
File latencyFile = getLatencyFile(testId, probeName);
HistogramLogWriter histogramLogWriter = new HistogramLogWriter(latencyFile);
histogramLogWriter.setBaseTime(startMeasuringTime());
histogramLogWriter.outputStartTime(startMeasuringTime());
histogramLogWriter.outputComment("[Latency histograms for " + testId + '.' + probeName + ']');
histogramLogWriter.outputLogFormatVersion();
histogramLogWriter.outputLegend();
return histogramLogWriter;
} catch (IOException e) {
throw new TestException("Could not initialize HistogramLogWriter for test " + testId, e);
}
}