NAME
OpenTracing::Implementation::NoOp - Stops Crashing, doing nothing else
SYNOPSIS
use OpenTracing::Implementation::NoOp;
my $tracer = OpenTracing::Implementation::NoOp->bootstrap_tracer( );
DESCRIPTION
The NoOp Implementation will 'disable' the entire OpenTracing infrastructure by making almost every method do nothing, or return a 'NoOp' object.
This way, none of the code will break if there is no OpenTracing active.
This implementation does not rely on OpenTracing::Role, because those already add attributes and methods that are totally useless in this context of a 'NoOp'. Instead, this only requires the OpenTrace::Interface if the OPENTRACING_INTERFACE
environment variable has been set (for development purposes).
CLASS METHODS
bootstrap_tracer
my $tracer = OpenTracing::Implementation::NoOp->bootstrap_tracer( @args );
Returns a OpenTracing::Interface::Tracer compliant tracer, using the OpenTracing::Implementation::NoOp::Tracer implementation.
Any arguments passed in, are dutyfully passed, but are supposedly useless.
ENVIRONMENT VARIABLES
OPENTRACING_INTERFACE
If set to true, this will wrap all methods inside Type::Tiny typechecks, for incomming parameters and return values. Beside that, it will add check for required methods according to the OpenTracing::Interface API description.
AUTHOR
Theo van Hoesel <tvanhoesel@perceptyx.com>
COPYRIGHT AND LICENSE
'OpenTracing::Implementation::NoOp' is Copyright (C) 2019 .. 2020, Perceptyx Inc
This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
This package is distributed in the hope that it will be useful, but it is provided "as is" and without any express or implied warranties.
For details, see the full text of the license in the file LICENSE.