NAME

OpenTracing::Role::ContextReference - Role for OpenTracing implementations.

SYNOPSIS

    package OpenTracing::Implementation::MyBackendService::ContextReference;
    
    use Moo;
    
    with 'OpenTracing::Role::ContextReference'
    
    1;

DESCRIPTION

This Moo::Role provides the consuming class with most, if not all, of the methods being described in OpenTracing::Interface::ContextReference.

IMPLEMENTED OPENTRACING METHODS

The following methods from OpenTracing::Interface have been implemented. See their documentation for more details.

new_child_of

Creates a SpanContext ContextReference for which type_is_child_of is 'true'.

See "new_child_of" in OpenTracing::Interface::ContextReference.

type_is_child_of

See "type_is_child_of" in OpenTracing::Interface::ContextReference.

new_follows_from

Creates a SpanContext ContextReference for which type_is_follows_from is 'true'.

See "new_follows_from" in OpenTracing::Interface::ContextReference.

type_is_follows_from

See "type_is_follows_from" in OpenTracing::Interface::ContextReference.

get_referenced_context

Returns the original referenced SpanContext.

See "get_referenced_context" in OpenTracing::Interface::ContextReference.

WARNING

Never use any of attributes or methods below in any integration!

Only methods mentioned in the Public OpenTracing::Interface are safe to be used in any integration or when instrumenting applications.

==head1 ATTRIBUTES

reference_type

An Enum type of either the constant CHILD_OF or FOLLOWS_FROM. This is just an implementation detail as other methods are provided to deal with reference_type. See above

reference_context

A required SpanContext type.

SEE ALSO

OpenTracing::Types

Type constraints for checking Interfaces

OpenTracing::Interface::ContextReference

Defines the ContextReference

AUTHOR

Theo van Hoesel <tvanhoesel@perceptyx.com>

COPYRIGHT AND LICENSE

'OpenTracing API for Perl' 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 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.