metrics

package
v0.0.0-...-0786b7d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2021 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UNIVERSAL      = 1
	PERF_SCHEMA    = 2
	PERCONA_SERVER = 4
	META           = 8
	MICROSECOND    = 16
	COUNTER        = 32
)

Variables

View Source
var Query []MetricFlags = []MetricFlags{
	MetricFlags{Name: "Query_time", Flags: UNIVERSAL | MICROSECOND},
	MetricFlags{Name: "Lock_time", Flags: UNIVERSAL | MICROSECOND},
	MetricFlags{Name: "Rows_sent", Flags: UNIVERSAL},
	MetricFlags{Name: "Rows_examined", Flags: UNIVERSAL},

	MetricFlags{Name: "Rows_affected", Flags: PERCONA_SERVER | PERF_SCHEMA},
	MetricFlags{Name: "Bytes_sent", Flags: PERCONA_SERVER},
	MetricFlags{Name: "Tmp_tables", Flags: PERCONA_SERVER},
	MetricFlags{Name: "Tmp_disk_tables", Flags: PERCONA_SERVER},
	MetricFlags{Name: "Tmp_table_sizes", Flags: PERCONA_SERVER},
	MetricFlags{Name: "QC_Hit", Flags: PERCONA_SERVER | COUNTER},
	MetricFlags{Name: "Full_scan", Flags: PERCONA_SERVER | PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Full_join", Flags: PERCONA_SERVER | PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Tmp_table", Flags: PERCONA_SERVER | PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Tmp_table_on_disk", Flags: PERCONA_SERVER | PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Filesort", Flags: PERCONA_SERVER | COUNTER},
	MetricFlags{Name: "Filesort_on_disk", Flags: PERCONA_SERVER | COUNTER},
	MetricFlags{Name: "Merge_passes", Flags: PERCONA_SERVER | PERF_SCHEMA},
	MetricFlags{Name: "InnoDB_IO_r_ops", Flags: PERCONA_SERVER},
	MetricFlags{Name: "InnoDB_IO_r_bytes", Flags: PERCONA_SERVER},
	MetricFlags{Name: "InnoDB_IO_r_wait", Flags: PERCONA_SERVER | MICROSECOND},
	MetricFlags{Name: "InnoDB_rec_lock_wait", Flags: PERCONA_SERVER | MICROSECOND},
	MetricFlags{Name: "InnoDB_queue_wait", Flags: PERCONA_SERVER | MICROSECOND},
	MetricFlags{Name: "InnoDB_pages_distinct", Flags: PERCONA_SERVER},

	MetricFlags{Name: "Errors", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Warnings", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Select_full_range_join", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Select_range", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Select_range_check", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Sort_range", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Sort_rows", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "Sort_scan", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "No_index_used", Flags: PERF_SCHEMA | COUNTER},
	MetricFlags{Name: "No_good_index_used", Flags: PERF_SCHEMA | COUNTER},

	MetricFlags{Name: "Query_length", Flags: META},
}

ORDER IS SIGNIFICANT! Database handlers select and scan metrics in order.

View Source
var StatNames []string = []string{
	"sum",
	"min",
	"p5",
	"avg",
	"med",
	"p95",
	"max",
}

Functions

func AggregateFunction

func AggregateFunction(metric, stat, cntCol string) string

AggregateFunction returns a SQL column expression for aggregating the given metric and stat. cntCol is used to aggregate averages: sum / cnt. For example, to aggregate metric Query_time and stat min: MIN(Query_time_min).

Types

type MetricFlags

type MetricFlags struct {
	Name  string
	Flags int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL