def test_tagged_v2_log_add(): accumulated_histogram = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) log_reader = HistogramLogReader(TAGGED_V2_LOG, accumulated_histogram) while 1: decoded_histogram = log_reader.add_next_interval_histogram() if not decoded_histogram: break
def test_jHiccup_v2_log(): accumulated_histogram = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) for checklist in JHICCUP_CHECKLISTS: accumulated_histogram.reset() log_reader = HistogramLogReader(JHICCUP_V2_LOG_NAME, accumulated_histogram) histogram_count = 0 total_count = 0 target_numbers = checklist.pop('target') while 1: decoded_histogram = log_reader.get_next_interval_histogram( **checklist) if not decoded_histogram: break histogram_count += 1 total_count += decoded_histogram.get_total_count() accumulated_histogram.add(decoded_histogram) # These logs use 8 byte counters assert decoded_histogram.get_word_size() == 8 # These logs use the default 1.0 conversion ratio assert decoded_histogram.get_int_to_double_conversion_ratio( ) == 1.0 for statement in target_numbers: assert eval(statement) == target_numbers[statement] log_reader.close()
def test_tagged_v2_log(): histogram_count = 0 total_count = 0 accumulated_histogram = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) accumulated_histogram_tags = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) log_reader = HistogramLogReader(TAGGED_V2_LOG, accumulated_histogram) while 1: decoded_histogram = log_reader.get_next_interval_histogram() if not decoded_histogram: break histogram_count += 1 total_count += decoded_histogram.get_total_count() if decoded_histogram.get_tag() == 'A': accumulated_histogram_tags.add(decoded_histogram) else: assert decoded_histogram.get_tag() is None accumulated_histogram.add(decoded_histogram) assert accumulated_histogram.equals(accumulated_histogram_tags) assert total_count == 32290
def test_jHiccup_v2_log(): accumulated_histogram = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) for checklist in JHICCUP_CHECKLISTS: accumulated_histogram.reset() log_reader = HistogramLogReader(JHICCUP_V2_LOG_NAME, accumulated_histogram) histogram_count = 0 total_count = 0 target_numbers = checklist.pop('target') while 1: decoded_histogram = log_reader.get_next_interval_histogram(**checklist) if not decoded_histogram: break histogram_count += 1 total_count += decoded_histogram.get_total_count() accumulated_histogram.add(decoded_histogram) # These logs use 8 byte counters assert(decoded_histogram.get_word_size() == 8) for statement in target_numbers: assert(eval(statement) == target_numbers[statement]) log_reader.close()
def test_log(): # 3 histograms instances with various content empty_hist = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) hist = load_histogram() corrected_hist = load_corrected_histogram() with open(HDR_LOG_NAME, 'w') as hdr_log: log_writer = HistogramLogWriter(hdr_log) log_writer.output_comment("Logged with hdrhistogram.py") log_writer.output_log_format_version() log_writer.output_legend() # snapshot the 3 histograms log_writer.output_interval_histogram(empty_hist) log_writer.output_interval_histogram(hist) log_writer.output_interval_histogram(corrected_hist) log_writer.close() # decode the log file and check the decoded histograms log_reader = HistogramLogReader(HDR_LOG_NAME, empty_hist) decoded_empty_hist = log_reader.get_next_interval_histogram() check_decoded_hist_counts(decoded_empty_hist, 0) decoded_hist = log_reader.get_next_interval_histogram() decoded_corrected_hist = log_reader.get_next_interval_histogram() check_percentiles(decoded_hist, decoded_corrected_hist) assert(log_reader.get_next_interval_histogram() is None)
def test_log(): # 3 histograms instances with various content empty_hist = HdrHistogram(LOWEST, HIGHEST, SIGNIFICANT) hist = load_histogram() corrected_hist = load_corrected_histogram() with open(HDR_LOG_NAME, 'w') as hdr_log: log_writer = HistogramLogWriter(hdr_log) log_writer.output_comment("Logged with hdrhistogram.py") log_writer.output_log_format_version() log_writer.output_legend() # snapshot the 3 histograms log_writer.output_interval_histogram(empty_hist) log_writer.output_interval_histogram(hist) log_writer.output_interval_histogram(corrected_hist) log_writer.close() # decode the log file and check the decoded histograms log_reader = HistogramLogReader(HDR_LOG_NAME, empty_hist) decoded_empty_hist = log_reader.get_next_interval_histogram() check_decoded_hist_counts(decoded_empty_hist, 0) decoded_hist = log_reader.get_next_interval_histogram() decoded_corrected_hist = log_reader.get_next_interval_histogram() check_percentiles(decoded_hist, decoded_corrected_hist) assert log_reader.get_next_interval_histogram() is None
# check achieved load so we don't consider one that didn't keep up target = 0.0 generated = 0.0 with open(path, 'r') as f: for line in f.readlines(): if line.startswith("#"): if "generated ops/s" in line: generated += float(line.split()[-1]) elif "target ops/s" in line: target += float(line.split()[-1]) if generated < 0.95 * target: continue # time to fetch the cdf hist_path = os.path.splitext(path)[0] + '.hist' hreader = HistogramLogReader(hist_path, HdrHistogram(1, 60000000, 3)) histograms = {} last = 0 while True: hist = hreader.get_next_interval_histogram() if hist is None: break if hist.get_start_time_stamp() < last: # next operation! # we're combining them all, so this doesn't matter pass last = hist.get_start_time_stamp() if hist.get_tag() != "sojourn": continue