Alt-NewRelic-Agent-FFI-Empty
view release on metacpan or search on metacpan
lib/NewRelic/Agent/FFI.pm view on Meta::CPAN
package NewRelic::Agent::FFI;
use strict;
use warnings;
use 5.010;
use NewRelic::Agent::FFI::Procedural ();
# ABSTRACT: Perl Agent for NewRelic APM
our $VERSION = '0.08';
sub new
{
my($class, %args) = @_;
my $license_key = delete $args{license_key}
|| $ENV{NEWRELIC_LICENSE_KEY}
|| '';
my $app_name = delete $args{app_name}
|| $ENV{NEWRELIC_APP_NAME}
|| 'AppName';
my $app_language = delete $args{app_language}
|| $ENV{NEWRELIC_APP_LANGUAGE}
|| 'perl';
my $app_language_version = delete $args{app_language_version}
|| $ENV{NEWRELIC_APP_LANGUAGE_VERSION}
|| $];
if (%args) {
require Carp;
Carp::croak("Invalid arguments: @{[ keys %args ]}");
}
bless {
license_key => $license_key,
app_name => $app_name,
app_language => $app_language,
app_language_version => $app_language_version,
}, $class;
}
sub embed_collector
{
NewRelic::Agent::FFI::Procedural::newrelic_register_message_handler(
NewRelic::Agent::FFI::Procedural::newrelic_message_handler
);
}
sub init
{
my($self) = @_;
NewRelic::Agent::FFI::Procedural::newrelic_init(
$self->get_license_key,
$self->get_app_name,
$self->get_app_language,
$self->get_app_language_version,
);
}
sub begin_transaction
{
NewRelic::Agent::FFI::Procedural::newrelic_transaction_begin();
}
sub set_transaction_name
{
shift @_;
goto &NewRelic::Agent::FFI::Procedural::newrelic_transaction_set_name;
}
sub set_transaction_request_url
{
shift @_;
goto &NewRelic::Agent::FFI::Procedural::newrelic_transaction_set_request_url;
}
sub set_transaction_max_trace_segments
{
shift @_;
goto &NewRelic::Agent::FFI::Procedural::newrelic_transaction_set_max_trace_segments;
}
sub set_transaction_category
{
shift @_;
goto &NewRelic::Agent::FFI::Procedural::newrelic_transaction_set_category;
}
sub set_transaction_type_web
{
( run in 1.633 second using v1.01-cache-2.11-cpan-5a3173703d6 )