Cataly...hecker(3pm)

πŸ“¦
version 0.06 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ CatalystX::LeakChecker ✨ (that's the Cataly...hecker(3pm) page bestie πŸ’–)

okay so real talk β€” this is CatalystX::LeakChecker, a Perl module that hunts down memory leaks in your Catalyst apps, and honestly? iconic behaviour. πŸ•΅οΈβ™€οΈβœ¨


🌸 NAME 🌸

CatalystX::LeakChecker β€” debug memory leaks in Catalyst applications, no cap πŸ’…

πŸŽ€ VERSION πŸŽ€

version 0.06 β€” yeah she's a little vintage but she WORKS 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole vibe, copy it exactly bestie:

package MyApp;
use namespace::autoclean;

extends 'Catalyst';
with 'CatalystX::LeakChecker';

__PACKAGE__->setup;

like that's it. that's the whole setup. slay. 🌈

πŸ’œ DESCRIPTION πŸ’œ

ngl, it is SO easy to create memory leaks in Catalyst applications, and the way they're often impossible to find?? πŸ’€ genuinely the worst feeling. This module tries to help you find them by automatically checking for common causes of leaks. main character energy fr fr. πŸ”₯

BIG WARNING bestie: this module is intended for debugging only. The original author suggests not enabling it in a production environment. So do NOT ship this to prod, okay?? I'm serious. πŸ™ˆ

✨ METHODS ✨

πŸ” found_leaks(@leaks)

If any leaks were found, this method gets called at the end of each request. A list of leaks gets passed to it. Then it logs a debug message like this:

[debug] Circular reference detected:
+------------------------------------------------------+-----------------+
| $ctx->{stash}->{ctx}                                                   |
'------------------------------------------------------+-----------------'

she's also able to find leaks in code references πŸ‘€ and 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 }                                                              |
'------------------------------------------------------+-----------------'

look at that deparse. she's telling on herself. πŸ’€

Override this method if you want leaks to be reported differently β€” go off, customise your little heart out. 🎨


πŸ‘‘ AUTHORS πŸ‘‘

Florian Ragwitz <rafl@debian.org> and Tomas Doran <bobtfish@bobtfish.net> β€” legends, both of them. 🫑

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.


and that's the whole page bestie!! πŸŽ€ this was generated for perl v5.36.0 on 2022-12-06, and the manual is Cataly...hecker(3pm) β€” mwah, stay leak-free, ily, bye!! πŸ’…βœ¨πŸ¦‹πŸŒΈπŸ’œ

πŸ“¦ where this page comes from