NAME

NewFangle - Unofficial Perl NewRelic SDK

VERSION

version 0.01

SYNOPSIS

use NewRelic;
my $app = NewRelic::App->new('MyApp', $license_key);
my $txn = $app->start_transaction('my transaction');
$txn->end;

DESCRIPTION

This module provides bindings to the NewRelic C-SDK. Since NewRelic doesn't provide native Perl bindings for their product, and the older Agent SDK is not supported, this is probably the best way to instrument your Perl application with NewRelic.

This distribution provides a light OO interface using FFI::Platypus and will optionally use Alien::libnewrelic if the C-SDK can't be found in your library path. Unfortunately the naming convention used by NewRelic doesn't always have an obvious mapping to the OO Perl interface, so I've added notation (example: (csdk: newrelic_version)) so that the C version of functions and methods can be found easily. The documentation has decent coverage of all methods, but it doesn't always make sense to reproduce everything that is in the C-SDK documentation, so it is recommended that you review it before getting started.

I've called this module NewFangle in the hopes that one day NewRelic will write native Perl bindings and they can use the more obvious NewRelic namespace.

FUNCTIONS

These may be imported on request using Exporter.

newrelic_configure_log

my $bool = newrelic_configure_log($filename, $level);

Configure the C SDK's logging system. $level should be one of:

error
warning
info
debug

(csdk: newrelic_configure_log)

newrelic_init

my $bool = newrelic_init($daemon_socket, $time_limit_ms);

Initialize the C SDK with non-default settings.

(csdk: newrelic_init)

newrelic_version

my $version = newrelic_version();

(csdk: newrelic_version)

Returns the

ENVIRONMENT

NEWRELIC_APP_NAME

The default app name, if not specified in the configuration.

NEWRELIC_LICENSE_KEY

The NewRelic license key.

CAVEATS

Unlike the older NewRelic Agent SDK, there is no interface to set the programming language or version. Since we are using the C-SDK the language shows up as C instead of Perl.

SEE ALSO

NewFangle::App
NewFangle::Config
NewFangle::CustomEvent
NewFangle::Segment
NewFangle::Transaction

AUTHOR

Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.