Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

catalystx::leakchecker(3pm) [debian man page]

CatalystX::LeakChecker(3pm)				User Contributed Perl Documentation			       CatalystX::LeakChecker(3pm)

NAME
CatalystX::LeakChecker - Debug memory leaks in Catalyst applications VERSION
version 0.06 SYNOPSIS
package MyApp; use namespace::autoclean; extends 'Catalyst'; with 'CatalystX::LeakChecker'; __PACKAGE__->setup; DESCRIPTION
It's easy to create memory leaks in Catalyst applications and often they're hard to find. This module tries to help you finding them by automatically checking for common causes of leaks. This module is intended for debugging only. I suggest to not enable it in a production environment. METHODS
found_leaks(@leaks) If any leaks were found, this method is called at the end of each request. A list of leaks is passed to it. It logs a debug message like this: [debug] Circular reference detected: +------------------------------------------------------+-----------------+ | $ctx->{stash}->{ctx} | '------------------------------------------------------+-----------------' It's also able to find leaks in code references. A debug message for that might look like this: [debug] Circular reference detected: +------------------------------------------------------+-----------------+ | $a = $ctx->{stash}->{leak_closure}; | | code reference $a deparses to: sub { | | package TestApp::Controller::Affe; | | use warnings; | | use strict 'refs'; | | $ctx->response->body('from leaky closure'); | | }; | | ${ $ctx } | '------------------------------------------------------+-----------------' Override this method if you want leaks to be reported differently. AUTHORS
Florian Ragwitz <rafl@debian.org> Tomas Doran <bobtfish@bobtfish.net> COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Florian Ragwitz. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.10.1 2010-03-26 CatalystX::LeakChecker(3pm)

Check Out this Related Man Page

CatalystX::InjectComponent(3pm) 			User Contributed Perl Documentation			   CatalystX::InjectComponent(3pm)

NAME
CatalystX::InjectComponent - Inject components into your Catalyst application VERSION
Version 0.024 SYNOPSIS
package My::App; use Catalyst::Runtime '5.80'; use Moose; BEGIN { extends qw/Catalyst/ } ... after 'setup_components' => sub { my $class = shift; CatalystX::InjectComponent->inject( into => $class, component => 'MyModel' ); if ( $class->config->{ ... ) { CatalystX::InjectComponent->inject( into => $class, component => 'MyRootV2', as => 'Controller::Root' ); } else { CatalystX::InjectComponent->inject( into => $class, component => 'MyRootV1', as => 'Root' ); # Controller:: will be automatically prefixed } }; DESCRIPTION
CatalystX::InjectComponent will inject Controller, Model, and View components into your Catalyst application at setup (run)time. It does this by creating a new package on-the-fly, having that package extend the given component, and then having Catalyst setup the new component (via "->setup_component") So, how do I use this thing? You should inject your components when appropriate, typically after "setup_compenents" runs If you're using the Moose version of Catalyst, then you can use the following technique: use Moose; BEGIN { extends qw/Catalyst/ } after 'setup_components' => sub { my $class = shift; CatalystX::InjectComponent->inject( into => $class, ... ) }; METHODS
CatalystX::InjectComponent->inject( ... ) into The Catalyst package to inject into (e.g. My::App) component The component package to inject as An optional moniker to use as the package name for the derived component For example: ->inject( into => My::App, component => Other::App::Controller::Apple ) The above will create 'My::App::Controller::Other::App::Controller::Apple' ->inject( into => My::App, component => Other::App::Controller::Apple, as => Apple ) The above will create 'My::App::Controller::Apple' ACKNOWLEDGEMENTS
Inspired by Catalyst::Plugin::AutoCRUD AUTHOR
Robert Krimen, "<rkrimen at cpan.org>" BUGS
Please report any bugs or feature requests to "bug-catalystx-injectcomponent at rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CatalystX-InjectComponent <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CatalystX- InjectComponent>. 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 CatalystX::InjectComponent You can also look for information at: o RT: CPAN's request tracker http://rt.cpan.org/NoAuth/Bugs.html?Dist=CatalystX-InjectComponent <http://rt.cpan.org/NoAuth/Bugs.html?Dist=CatalystX-InjectComponent> o AnnoCPAN: Annotated CPAN documentation http://annocpan.org/dist/CatalystX-InjectComponent <http://annocpan.org/dist/CatalystX-InjectComponent> o CPAN Ratings http://cpanratings.perl.org/d/CatalystX-InjectComponent <http://cpanratings.perl.org/d/CatalystX-InjectComponent> o Search CPAN http://search.cpan.org/dist/CatalystX-InjectComponent/ <http://search.cpan.org/dist/CatalystX-InjectComponent/> ACKNOWLEDGEMENTS
COPYRIGHT &; LICENSE Copyright 2009 Robert Krimen, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-04-06 CatalystX::InjectComponent(3pm)
Man Page