Files
abr/graphs.h
T

39 lines
1.4 KiB
C
Raw Normal View History

// retoor <retoor@molodetz.nl>
#ifndef GRAPHS_H
#define GRAPHS_H
/*
* Column-chart renderer for abr.
*
* Every visual in abr is the same object: a vertical bar chart with a labelled
* y-axis, a baseline and an x-axis. One shape, one colour language, no
* decoration. Charts adapt to the terminal width and degrade to plain ASCII
* when colour is turned off.
*/
/* Enable or disable ANSI colour. Call once at start-up (e.g. isatty(1)). */
void graph_set_color(int enabled);
/* Width in columns the charts will occupy, for aligning surrounding output. */
int graph_width(void);
/* Bold section rule, e.g. graph_section("Latency"). */
void graph_section(const char *title);
/* Distribution of response times. Input need not be sorted. */
void graph_latency_histogram(const double *durations_ms, int count);
/* Completed requests per time slice; failures stack on top in red. */
void graph_throughput(const double *finish_ms, const int *failed, int count,
double total_seconds);
/* Mean response time per time slice, over successful requests only. */
void graph_latency_over_time(const double *finish_ms, const double *durations_ms,
const int *failed, int count, double total_seconds);
/* Response time percentiles as columns; the tail (p95+) is highlighted. */
void graph_percentiles(const double *durations_ms, int count);
#endif