NAME

OpenTracing::Implementation::DataDog::Tracer - Keep track of traces

SYNOPSIS

    use aliased 'OpenTracing::Implementation::DataDog::Tracer';
    use aliased 'OpenTracing::Implementation::DataDog::Client';
    use aliased 'OpenTracing::Implementation::DataDog::ScopeManager';
    
    my $TRACER = Tracer->new(
        client => Client->new(),
    );

and later

    sub foo {
        
        my $scope = $TRACER->start_active_span( 'Operation Name' => %options );
        
        ...
        
        $scope->close;
        
        return $foo
    }

DESCRIPTION

This is a OpenTracing SpanContext compliant implementation with DataDog specific extentions

EXTENDED ATTRIBUTES

scope_manager

A OpenTracing::Types::ScopeManger that now defaults to a DataDog::ScopeManger

DATADOG SPECIFIC ATTRIBUTES

client

A client that has a send_span method that will get called on a `on_finish`.

See DataDog::Client for more.

It also accepts a plain hash refference with key-value pairs suitable to construct a client object.

SEE ALSO

OpenTracing::Implementation::DataDog

Sending traces to DataDog using Agent.

OpenTracing::Role::Tracer

Role for OpenTracing Implementations.

AUTHOR

Theo van Hoesel <tvanhoesel@perceptyx.com>

COPYRIGHT AND LICENSE

'OpenTracing::Implementation::DataDog' 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 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.