/* * * Copyright 2016 Vladimir Bukhtoyarov * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.rollingmetrics.histogram.util; import org.HdrHistogram.Histogram; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintStream; public class Printer { public static String histogramToString(Histogram histogram) { try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { PrintStream writer = new PrintStream(baos); histogram.outputPercentileDistribution(writer, 1.0); byte[] resultBytes = baos.toByteArray(); return new String(resultBytes); } catch (IOException e) { throw new IllegalStateException(e); } } public static String printArray(Object[] array, String elementName) { StringBuilder msg = new StringBuilder("{"); for (int i = 0; i < array.length; i++) { Object element = array[i]; msg.append("\n").append(elementName).append("[").append(i).append("]=").append(element); } msg.append("\n}"); return msg.toString(); } }