NAME
Plack::Middleware::Prometheus::RequestTimes - record response times with a prometheus histogram.
VERSION
version 0.0001
DESCRIPTION
To setup a prometheus metrics app in your PSGI application register hook this middleware up with a histogram and the metrics can report on your response times.
use strict;
use warnings;
use My::Website;
use Net::Prometheus;
use Net::Prometheus::ProcessCollector;
my $client = Net::Prometheus->new;
$client->register( Net::Prometheus::ProcessCollector->new(
prefix => "parent_process",
pid => getppid(),
) );
my $response_times = $client->new_histogram(
name => "response_times",
help => "Application response times",
);
use Plack::Builder;
my $app = My::Website->apply_default_middlewares(My::Website->psgi_app);
builder {
mount "/metrics" => $client->psgi_app;
mount '/' => builder {
enable 'Prometheus::RequestTimes', observer => $response_times;
$app;
};
};
CONFIGURATION
observer
Normally a Net::Prometheus::Histogram object for recording the observations.
AUTHOR
Colin Newell <colin@opusvl.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by OpusVL.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.