AWS-XRay

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      ]
   },
   "prereqs" : {
      "configure" : {
         "requires" : {
            "Module::Build::Tiny" : "0.035"
         }
      },
      "develop" : {
         "requires" : {
            "Test::CPAN::Meta" : "0",
            "Test::MinimumVersion::Fast" : "0.04",
            "Test::PAUSE::Permissions" : "0.07",
            "Test::Pod" : "1.41",
            "Test::Spellunker" : "v0.2.7"
         }
      },
      "runtime" : {
         "requires" : {
            "Crypt::URandom" : "0",
            "HTTP::Tiny" : "0",
            "IO::Socket::INET" : "0",
            "JSON::XS" : "0",
            "Module::Load" : "0",
            "Time::HiRes" : "0",
            "Types::Serialiser" : "0",
            "perl" : "5.016000"
         }
      },
      "test" : {
         "requires" : {
            "HTTP::Server::PSGI" : "0",
            "IO::Scalar" : "0",
            "Test::More" : "0.98",
            "Test::TCP" : "0"
         }
      }
   },
   "provides" : {
      "AWS::XRay" : {
         "file" : "lib/AWS/XRay.pm",
         "version" : "0.12"
      },
      "AWS::XRay::Buffer" : {
         "file" : "lib/AWS/XRay/Buffer.pm"

META.yml  view on Meta::CPAN

---
abstract: 'AWS X-Ray tracing library'
author:
  - 'FUJIWARA Shunichiro <fujiwara.shunichiro@gmail.com>'
build_requires:
  HTTP::Server::PSGI: '0'
  IO::Scalar: '0'
  Test::More: '0.98'
  Test::TCP: '0'
configure_requires:
  Module::Build::Tiny: '0.035'
dynamic_config: 0
generated_by: 'Minilla/v3.1.18, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: AWS-XRay
no_index:

cpanfile  view on Meta::CPAN

requires 'perl', '5.016000';

on 'test' => sub {
    requires 'Test::More', '0.98';
    requires 'IO::Scalar';
    requires 'Test::TCP';
    requires 'HTTP::Server::PSGI';
};

requires 'JSON::XS';
requires 'Types::Serialiser';
requires 'IO::Socket::INET';
requires 'Crypt::URandom';
requires 'Time::HiRes';
requires 'HTTP::Tiny';
requires 'Module::Load';

t/00_compile.t  view on Meta::CPAN

use strict;
use Test::More 0.98;
use AWS::XRay;

ok "use";

done_testing;

t/01_trace.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture /;
use Test::More;
use Time::HiRes qw/ sleep /;
use t::Util qw/ reset segments /;

capture "myApp", sub {
    my $seg = shift;
    sleep 0.1;
    capture "remote1", sub { sleep 0.1 };
    capture "remote2", sub {
        sleep 0.1;
        capture "remote3", sub { sleep 0.1 };

t/02_from.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use t::Util qw/ reset segments /;

my $header = capture "from", sub {
    my $segment = shift;
    return $segment->trace_header;
};
diag $header;

capture_from $header, "to", sub {
};

t/03_miss_from.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use t::Util qw/ reset segments /;

my $header;
capture_from $header, "first", sub {
};

my @seg = segments;
ok @seg == 1;

my $root = shift @seg;

t/04_sampling.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use t::Util qw/ reset segments /;

srand(1); # fix seed

subtest "disable", sub {
    reset();
    AWS::XRay->sampling_rate(0);
    capture "root", sub {
        capture "sub $_", sub { }
            for (1 .. 100);

t/05_sampled_header.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use t::Util qw/ reset segments /;

AWS::XRay->sampling_rate(0);

my $trace_id   = AWS::XRay::new_trace_id;
my $segment_id = AWS::XRay::new_id;

my $header1 = "Root=$trace_id;Parent=$segment_id;Sampled=1";
diag $header1;
my $header2 = capture_from $header1, "from", sub {

t/06_sampler.t  view on Meta::CPAN

use 5.12.0;
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use t::Util qw/ reset segments /;

subtest "disable", sub {
    reset();
    AWS::XRay->sampler(sub { 0 });
    capture "root", sub {
        capture "sub $_", sub { }
            for (1 .. 100);
    };
    my @seg = segments();

t/07_buffer.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay::Buffer;
use Test::More;
use IO::Scalar;

subtest "auto_flush=1", sub {
    my $buf;
    my $b = AWS::XRay::Buffer->new(IO::Scalar->new(\$buf), 1);
    $b->print("foo");
    $b->print("bar", "baz");
    is $buf => "foobarbaz";

    $b->print("XXX");

t/08_add.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture /;
use Test::More;
use Time::HiRes qw/ sleep /;
use t::Util qw/ reset segments /;

sub myApp {
    sleep 0.1;
    capture "remote1", sub { sleep 0.1 };
    capture "remote2", sub {
        sleep 0.1;
        capture "remote3", sub { sleep 0.1 };
    };

t/09_wantarray.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;

use Test::More;
use AWS::XRay qw/ capture /;

capture "myApp", sub {
    ok !defined(wantarray), 'void context';
};

my $ret = capture "myApp", sub {
    ok defined(wantarray) && !wantarray, 'scalar context';
};

t/10_plugin_ec2_v1.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use Test::TCP;
use HTTP::Server::PSGI;
use AWS::XRay qw/ capture /;
use Test::More;
use t::Util qw/ reset segments /;

# mock server of IMDSv1
my $app_server = Test::TCP->new(
    listen => 1,
    code   => sub {
        my $sock   = shift;
        my $server = HTTP::Server::PSGI->new(
            listen_sock => $sock,
        );
        $server->run(
            sub {
                my $env = shift;
                if ($env->{REQUEST_METHOD} ne 'GET') {

t/10_plugin_ec2_v2.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use Test::TCP;
use HTTP::Server::PSGI;
use AWS::XRay qw/ capture /;
use Test::More;
use t::Util qw/ reset segments /;

# mock server of IMDSv2
my $token      = "very-secret";
my $app_server = Test::TCP->new(
    listen => 1,
    code   => sub {
        my $sock   = shift;
        my $server = HTTP::Server::PSGI->new(
            listen_sock => $sock,
        );
        $server->run(
            sub {
                my $env    = shift;
                my $method = $env->{REQUEST_METHOD};

t/11_valid_name.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay ();
use Test::More;
use IO::Scalar;
use Encode qw/decode_utf8/;

subtest "valid", sub {
    my @names = (
        "foo",
        "foo bar 3",
        "foo/_bar:",
        "foo%bar",
        "foo&bar#=baz",

t/12_croak_capture.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";
use Test::More;
use AWS::XRay qw/ capture /;

subtest "carp", sub {
    local $AWS::XRay::CROAK_INVALID_NAME = 0;
    my $res = capture "my * App", sub {
        "result";
    };
    is $res, "result";
};

t/13_json_encoding.t  view on Meta::CPAN

use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay ();
use Test::More;
use Encode qw/decode_utf8/;

local $AWS::XRay::ENABLED = 1;

subtest "utf8" => sub {
    my $segment = AWS::XRay::Segment->new({ name => decode_utf8("あ") });
    ok $segment->close;
};

done_testing;

xt/01_overhead.t  view on Meta::CPAN

use 5.12.0;
use strict;
use warnings;

use FindBin;
use lib "$FindBin::Bin/../";

use AWS::XRay qw/ capture capture_from /;
use Test::More;
use Benchmark qw/ timeit timestr /;

my $sampler = {
    none         => sub { 0 },
    "50_percent" => sub { rand() < 0.5 },
    "1_percent"  => sub { rand() < 0.01 },
    all          => sub { 1 },
};

for my $auto_flush ( 0, 1 ) {

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.749 second using v1.00-cache-2.02-grep-82fe00e-cpan-585fae043c8 )