NAME
Dezi::Stats - log statistics for your Dezi server
SYNOPSIS
# example Dezi server application
use Dezi::Server;
use Plack::Runner;
use Dezi::Stats;
my $app = Dezi::Server->app({
engine_config => {
type => 'Lucy',
index => ['path/to/your/index'],
},
stats_logger => Dezi::Stats->new(
type => 'DBI',
dsn => "DBI:mysql:database=$database;host=$hostname;port=$port",
username => 'myuser',
password => 'mysecret',
),
});
my $runner = Plack::Runner->new();
$runner->run($app);
DESCRIPTION
Dezi::Stats logs statistics about requests to a Dezi server. There are multiple backend storage options, including DBI-based storage (MySQL, Postgresql, SQLite, etc), file-based, etc.
METHODS
new( config )
Returns a new Dezi::Stats object. config should be a series of key/value pairs (a hash). Supported config params are:
- type
-
The backend storage type. Defaults to 'File' (see Dezi::Stats::File).
- dsn
-
If type is
DBI
then the dsn value will be passed directly to the DBI->connect() method. - username
-
If type is
DBI
then the username value will be passed directly to the DBI->connect() method. - password
-
If type is
DBI
then the password value will be passed directly to the DBI->connect() method. - table_name
-
If type is
DBI
then the table_name value will be used to insert rows. Defaults todezi_stats
. - quote
-
If type is
DBI
then the quote value will be used to quote column names on insert. Defaults tofalse
. - quote_char
-
If type is
DBI
then the quote_char value will be used when quote is true. Defaults to backtick. - path
-
If type is
File
then the path value is the filesystem path to the log file. See Dezi::Stats::File.
init_store
All subclasses must implement this abstract method. Called internally in new().
log( plack_request, sos_response )
Required method for Search::OpenSearch::Server stats_logger() API.
Expects 2 objects: the current Plack::Request and the resulting Search::OpenSearch::Response.
Calls insert() after pulling data from the request and the response.
insert( hash_ref )
Called by log. All subclasses must implement this abstract method.
AUTHOR
Peter Karman, <karman at cpan.org>
BUGS
Please report any bugs or feature requests to bug-dezi-stats at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dezi-Stats. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Dezi::Stats
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
COPYRIGHT & LICENSE
Copyright 2012 Peter Karman.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.