The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.