class Cryload::Logger::Report

Overview

A single consistent snapshot of the run. Every number in one report comes from the same set of reads, so the text, JSON and CSV renderings cannot disagree with each other.

Defined in:

cryload/logger.cr

Constant Summary

HEADERS = ["url", "duration_mode", "requests", "responses", "transport_errors", "elapsed_seconds", "requests_per_second", "transfer_total_bytes", "transfer_size_per_request_bytes", "transfer_bytes_per_second", "latency_avg_ms", "latency_min_ms", "latency_stdev_ms", "latency_max_ms", "latency_p50_ms", "latency_p90_ms", "latency_p95_ms", "latency_p99_ms", "latency_p999_ms", "status_successful_count", "status_successful_percent", "status_failed_count", "status_failed_percent", "transport_error_percent", "status_successes", "status_code_distribution", "transport_error_distribution", "schema_version", "cryload_version", "workers", "latency_correction", "latency_corrected_p50_ms", "latency_corrected_p90_ms", "latency_corrected_p95_ms", "latency_corrected_p99_ms", "latency_corrected_p999_ms", "send_delay_p50_ms", "send_delay_p99_ms", "rate_requested_per_second", "rate_attained_per_second", "rate_attainment_percent", "rate_skipped_requests", "rate_schedule_drift_ms", "phase_dns_p50_ms", "phase_connect_p50_ms", "phase_tls_p50_ms", "phase_ttfb_p50_ms", "thresholds_passed", "thresholds_breached", "exit_code"]

Constructors

Instance Method Summary

Constructor Detail

def self.new(stats : Stats, signal_code : ExitCode | Nil = nil) #

Instance Method Detail

def breached_labels : Array(String) #

Compact one-line labels for the CSV column and the text report, where a single string is all there is room for. JSON reports the full objects.


def corrected : Stats::LatencyView #

def exit_code : ExitCode #

def latency : Stats::LatencyView #

def phases : Hash(String, Stats::LatencyView) #

def print_text #

def rate : Stats::RateReport #

def send_delay : Stats::LatencyView #

def stats : Stats #

def thresholds : Array(ThresholdResult) #

def thresholds_passed? : Bool #

def to_csv : String #

def to_json : String #