Devel-Agent

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "AnyEvent" : "0",
            "Data::Dumper" : "0",
            "Modern::Perl" : "0",
            "Moo" : "0",
            "Plack::Middleware" : "0",
            "Plack::Util" : "0",
            "Role::Tiny" : "0",
            "perl" : "5.034000"
         }
      }
   },
   "release_status" : "stable",
   "version" : 0.007,

META.yml  view on Meta::CPAN

  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: Devel-Agent
no_index:
  directory:
    - t
    - inc
requires:
  AnyEvent: '0'
  Data::Dumper: '0'
  Modern::Perl: '0'
  Moo: '0'
  Plack::Middleware: '0'
  Plack::Util: '0'
  Role::Tiny: '0'
  perl: '5.034000'
version: 0.007
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

    PREREQ_PM=>{
      qw(
        Test::More 0
        Plack::Test 0
        HTTP::Request::Common 0
      )
    },
    PREREQ_PM         => {
    qw(
      Data::Dumper      0
      Modern::Perl      0
      Role::Tiny        0
      Moo               0
      AnyEvent          0
      Plack::Middleware 0
      Plack::Util       0
    )
    }
);

examples/everything.pl  view on Meta::CPAN

#!/usr/bin/perl

# example use case
# perl -Ilib -d:Agent -MDevel::Agent::EveryThing examples/everything.pl 
use Modern::Perl;


A();

  B(2);
  
sub {
  B(3);
}->();
for(1,2,3) {

lib/Devel/Agent.pm  view on Meta::CPAN

=head1 DB Constructor options

This section documents the %args the be passed to the new DB(%args) or DB->new(%args) call.  For each option documented in this section, there is an accesor by that given name that can be called by $self->$name($new_value) or my $current_value=$self-...

=cut

# prevent indexing ( as ya this will be noticed in the indexing process for sure!!! )
package 
  DB;

#use Modern::Perl;
use strict;
use warnings;
require Scalar::Util;

# as easy as Moo makes things.. its not welcome in a debugger ;(
use Time::HiRes qw(gettimeofday tv_interval);
use B qw(svref_2object);
use Data::Dumper;

our $AGENT;

lib/Devel/Agent/AwareRole.pm  view on Meta::CPAN

package Devel::Agent::AwareRole;

use Modern::Perl;
use Role::Tiny;
require Devel::Agent;
our $VERSION=$Devel::Agent::VERSION;

require Scalar::Util;

sub ___db_stack_filter { 
  my ($class,$agent,$frame,$args,$raw_caller)=@_; 

  # prevent deeper traces if we are in here

lib/Devel/Agent/EveryThing.pm  view on Meta::CPAN

This is a module that makes use of the agent debugger and writes the begining and ending of every frame to STDERR.

This module is similar to L<Devel::Trace>, but makes use of the L<Devel::Agent> deugger.  This allows for tracing how long each method runs for and providing a noted stack depth along with of the execution order.

=head1 Notes and limitations

This class does not trace entry into control structures, just execution of Non-XS methods.

=cut

use Modern::Perl;
use Devel::Agent;
our $VERSION=$Devel::Agent::VERSION;
use Data::Dumper;
use Devel::Agent::Util qw(flush_row);

STDERR->autoflush(1);
my $last=0;
my $self;

$self=DB->new(

lib/Devel/Agent/Util.pm  view on Meta::CPAN

  }
  
=head1 DESCRIPTION

This module exports utility functions for Devel::Agent

=head2 Exported Methods

=cut

use Modern::Perl;
use Devel::Agent;
our $VERSION=$Devel::Agent::VERSION;
use Exporter 'import';
use Data::Dumper;
our @EXPORT_OK=qw(flush_row);
our @EXPORT=qw(flush_row);

my $last=0;
my $self;

lib/Plack/Middleware/Devel/Agent/Plack.pm  view on Meta::CPAN

=head1 SYNOPSIS

  PERL5OPT='-d:Agent' plackup --port 8777 -e 'enable "Plack::Middleware::Devel::Agent::Plack";package MyFirstApp;sub {[200,[qw(Content-Type text/plain)],["hello world\n"]]}'

=head1 DESCRIPTION

This debugger is handly for tracing all calls made within a psgi app, while excluding the guts of PSGI/Plack.  Why?  Well most of the time we want to know what is happening in our application, not in the PSGI layer as Plack/PSGI is pretty good at wha...

=cut

use Modern::Perl;

require Plack::Middleware;
use parent qw( Plack::Middleware );
require Plack::Util;
require Devel::Agent;
use Data::Dumper;
use Devel::Agent::Util qw(flush_row);

=head1 Configuration and env variables

t/Devel-Agent-AwareRole.t  view on Meta::CPAN

use Modern::Perl;
use Test::More qw(no_plan);

our $pkg='Devel::Agent::AwareRole';
use_ok($pkg);
require_ok($pkg);

{
  package 
    SmokeTest;
  

t/Devel-Agent-EveryThing.t  view on Meta::CPAN

use Modern::Perl;
use Test::More qw(no_plan);

our $pkg='Devel::Agent::EveryThing';
use_ok($pkg);
require_ok($pkg);

t/Devel-Agent-Proxy.t  view on Meta::CPAN

use Modern::Perl;
use Test::More qw(no_plan);
use FindBin qw($Bin);
use lib $Bin;
use Data::Dumper;
$|=1;
require Devel::Agent;
require TestMe;
require TestMe2;

my $pkg='Devel::Agent::Proxy';

t/Devel-Agent.t  view on Meta::CPAN


use Modern::Perl;
use Test::More qw(no_plan);
use AnyEvent;
use Data::Dumper;
$Data::Dumper::Sortkeys=1;
$Data::Dumper::Indent=1;
use FindBin qw($Bin);
use Scalar::Util qw( blessed looks_like_number);
require Method::Generate::DemolishAll;
use lib $Bin;
require TestMe;

t/TestMe.pm  view on Meta::CPAN

 package 
   TestMe;
  use Modern::Perl;
  use Moo;

  has test1=>(
    is=>'rw',
  );
  sub test_a {
    &main::test_a(123);
  }

  sub fatal {

t/TestMe2.pm  view on Meta::CPAN

package 
  TestMe2;

use Modern::Perl;
use Moo;
use Data::Dumper;
our $AUTOLOAD;
extends 'TestMe';


sub test_a {
  my ($self)=@_;
  $self->SUPER::test_a(456);
}

t/TestMe3.pm  view on Meta::CPAN

package 
  TestMe3;

use Modern::Perl;
use Moo;
use Data::Dumper;
extends 'TestMe2';

with 'Devel::Agent::AwareRole';
has funky=>(
  is=>'rw',
);

sub dumpling {



( run in 0.432 second using v1.01-cache-2.11-cpan-4d50c553e7e )