NAME
Mojolicious::Plugin::Prometheus - Mojolicious Plugin
SYNOPSIS
# Mojolicious
$self->plugin('Prometheus');
# Mojolicious::Lite
plugin 'Prometheus';
# Mojolicious::Lite, with custom response buckets (seconds)
plugin 'Prometheus' => { response_buckets => [qw/4 5 6/] };
DESCRIPTION
Mojolicious::Plugin::Prometheus is a Mojolicious plugin that exports Prometheus metrics from Mojolicious.
Hooks are also installed to measure requests response time and count requests based on method and HTTP return code.
HELPERS
prometheus
Create further instrumentation into your application by using this helper which gives access to the Net::Prometheus object. See Net::Prometheus for usage.
METHODS
Mojolicious::Plugin::Prometheus inherits all methods from Mojolicious::Plugin and implements the following new ones.
register
$plugin->register($app, \&config);
Register plugin in Mojolicious application.
%config
can have:
path
The path to mount the exporter.
Default: /metrics
prometheus
Override the Net::Prometheus object. The default is a new singleton instance of Net::Prometheus.
namespace, subsystem
These will be prefixed to the metrics exported.
request_buckets
Override buckets for request sizes histogram.
Default:
(1, 50, 100, 1_000, 10_000, 50_000, 100_000, 500_000, 1_000_000)
response_buckets
Override buckets for response sizes histogram.
Default:
(5, 50, 100, 1_000, 10_000, 50_000, 100_000, 500_000, 1_000_000)
duration_buckets
Override buckets for request duration histogram.
Default:
(0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10)
METRICS
In addition to exporting the default process metrics that Net::Prometheus already export this plugin will also export
http_requests_total
, request counter partitioned over HTTP method and HTTP response codehttp_request_duration_seconds
, request duration histogram partitoned over HTTP methodhttp_request_size_bytes
, request size histogram partitoned over HTTP methodhttp_response_size_bytes
, response size histogram partitoned over HTTP method
AUTHOR
Vidar Tyldum
COPYRIGHT AND LICENSE
Copyright (C) 2017, Vidar Tyldum
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.