39 lines
1.4 KiB
C
39 lines
1.4 KiB
C
// 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
|