NAME
OpenTracing::Interface::ContextReference - Defines the ContextReference
SYNOPSIS
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'
if $ENV{OPENTRACING_INTERFACE};
} # check at compile time, perl -c will work
1;
DESCRIPTION
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"
CONSTRUCTOR METHODS
new_child_of
Creates a SpanContext
ContextReference
for which type_is_child_of is 'true'.
ContextReference->new_child_of( $span_context );
new_follows_from
Creates a SpanContext
ContextReference
for which type_is_follows_from is 'true'.
ContextReference->new_follows_from( $span_context );
INSTANCE METHODS
get_referenced_context
Returns the original referenced SpanContext
.
$span_context = $reference->get_referenced_context;
type_is_child_of
Returns 'true' iff the ContextReference
is a CHILD_OF
type is, most likely, instantiated with the new_child_of
constructor.
say "I'm a CHILD_OF context reference"
if $context_reference->type_is_child_of;
Ctype_is_follows_from>
Returns 'true' iff the ContextReference
is a FOLLOWS_FROM
type is, most likely, instantiated with the new_follows_from
constructor.
say "I'm a FOLLOWS_FROM context reference"
if $context_reference->type_is_child_of;
SEE ALSO
- OpenTracing::Interface
-
Describes the API definition for OpenTransport implementations written in the Perl5 language.
- OpenTracing::Types
-
A library of Type::Tiny type constraints that provides Duck Type checks for all common elements that conform OpenTracing::Interface
CAVEATS
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.
AUTHOR
Theo van Hoesel <tvanhoesel@perceptyx.com>
COPYRIGHT AND LICENSE
'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.