Documentation ¶
Index ¶
- Variables
- func CollectedRequest(ctx context.Context, method string, col Collector, ...) error
- func ErrorCode(err error) string
- func TimeRequestHistogram(ctx oldcontext.Context, method string, metric *prometheus.HistogramVec, ...) errordeprecated
- func TimeRequestHistogramStatus(ctx oldcontext.Context, method string, metric *prometheus.HistogramVec, ...) errordeprecated
- type Collector
- type HistogramCollector
- type JobCollector
Constants ¶
This section is empty.
Variables ¶
var DefBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10, 25, 50, 100}
DefBuckets are histogram buckets for the response time (in seconds) of a network service, including one that is responding very slowly.
var HistogramCollectorBuckets = []string{"operation", "status_code"}
HistogramCollectorBuckets define the buckets when passing the metric
Functions ¶
func CollectedRequest ¶
func CollectedRequest(ctx context.Context, method string, col Collector, toStatusCode func(error) string, f func(context.Context) error) error
CollectedRequest runs a tracked request. It uses the given Collector to monitor requests.
If `f` returns no error we log "200" as status code, otherwise "500". Pass in a function for `toStatusCode` to overwrite this behaviour. It will also emit an OpenTracing span if you have a global tracer configured.
func TimeRequestHistogram
deprecated
func TimeRequestHistogram(ctx oldcontext.Context, method string, metric *prometheus.HistogramVec, f func(context.Context) error) error
TimeRequestHistogram runs 'f' and records how long it took in the given Prometheus histogram metric. If 'f' returns successfully, record a "200". Otherwise, record "500". It will also emit an OpenTracing span if you have a global tracer configured.
Deprecated: Use CollectedRequest()
func TimeRequestHistogramStatus
deprecated
func TimeRequestHistogramStatus(ctx oldcontext.Context, method string, metric *prometheus.HistogramVec, toStatusCode func(error) string, f func(context.Context) error) error
TimeRequestHistogramStatus runs 'f' and records how long it took in the given Prometheus histogram metric. If 'f' returns successfully, record a "200". Otherwise, record "500". It will also emit an OpenTracing span if you have a global tracer configured.
Deprecated: Use CollectedRequest()
Types ¶
type Collector ¶
type Collector interface { Register() Before(method string, start time.Time) After(method, statusCode string, start time.Time) }
Collector describes something that collects data before and/or after a task.
type HistogramCollector ¶
type HistogramCollector struct {
// contains filtered or unexported fields
}
HistogramCollector collects the duration of a request
func NewHistogramCollector ¶
func NewHistogramCollector(metric *prometheus.HistogramVec) *HistogramCollector
NewHistogramCollector creates a Collector from a metric.
func NewHistogramCollectorFromOpts ¶
func NewHistogramCollectorFromOpts(opts prometheus.HistogramOpts) *HistogramCollector
NewHistogramCollectorFromOpts creates a Collector from histogram options. It makes sure that the buckets are named properly and should be preferred over NewHistogramCollector().
func (*HistogramCollector) After ¶
func (c *HistogramCollector) After(method, statusCode string, start time.Time)
After collects when the request is done.
func (*HistogramCollector) Before ¶
func (c *HistogramCollector) Before(method string, start time.Time)
Before collects for the upcoming request.
func (*HistogramCollector) Register ¶
func (c *HistogramCollector) Register()
Register registers metrics.
type JobCollector ¶
type JobCollector struct {
// contains filtered or unexported fields
}
JobCollector collects metrics for jobs. Designed for batch jobs which run on a regular, not-too-frequent, non-overlapping interval. We can afford to measure duration directly with gauges, and compute quantile with quantile_over_time.
func NewJobCollector ¶
func NewJobCollector(namespace string) *JobCollector
NewJobCollector instantiates JobCollector which creates its metrics.
func (*JobCollector) After ¶
func (c *JobCollector) After(method, statusCode string, start time.Time)
After collects when the request is done.