OpenTracing::Interface::ContextReference - Defines the ContextReference
package OpenTracing::Implementation::MyBackendService::ContextReference; sub new_child_of { ... } sub new_follows_from { ... } sub get_referenced_context { ... } sub type_is_child_of { ... } sub type_is_follows_from { ... } BEGIN { use Role::Tiny::With; with 'OpenTracing::Interface::ContextReference' } # check at compile time, perl -c will work 1;
This 'role' describes the interface for any OpenTracing ContextReference implementation.
References are used by Tracer methods start_span and start_active_span to create "casual span references"
Tracer
start_span
start_active_span
See OpenTracing References
new_child_of
Creates a SpanContext ContextReference for which type_is_child_of is 'true'.
SpanContext
ContextReference
ContextReference->new_child_of( $span_context );
The sapn context that the returned context reference should should refer to.
The newly instantiated reference.
new_follows_from
Creates a SpanContext ContextReference for which type_is_follows_from is 'true'.
ContextReference->new_follows_from( $span_context );
The context the returned context reference should should refer to.
A newly instantiated context reference
get_referenced_context
Returns the original referenced SpanContext.
$span_context = $reference->get_referenced_context;
none
The span context being referenced.
type_is_child_of
Returns 'true' iff the ContextReference is a CHILD_OF type is, most likely, instantiated with the new_child_of constructor.
CHILD_OF
say "I'm a CHILD_OF context reference" if $context_reference->type_is_child_of;
Bool
Returns 'true' iff the ContextReference is a FOLLOWS_FROM type is, most likely, instantiated with the new_follows_from constructor.
FOLLOWS_FROM
say "I'm a FOLLOWS_FROM context reference" if $context_reference->type_is_child_of;
Describes the API definition for OpenTransport implementations written in the Perl5 language.
A library of Type::Tiny type constraints that provides Duck Type checks for all common elements that conform OpenTracing::Interface
Since this role does nothing else than checking input and output, it is useful during development. Most likely it can be switched off safely in production environments.
Theo van Hoesel <tvanhoesel@perceptyx.com>
'OpenTracing API for Perl' is Copyright (C) 2019 .. 2021, 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 library 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.
To install OpenTracing::Interface, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OpenTracing::Interface
CPAN shell
perl -MCPAN -e shell install OpenTracing::Interface
For more information on module installation, please visit the detailed CPAN module installation guide.