OpenTelemetry-SDK
    
    
  
  
  
view release on metacpan or search on metacpan
lib/OpenTelemetry/SDK.pm view on Meta::CPAN
use experimental 'signatures';
use feature 'state';
use Feature::Compat::Try;
use Module::Runtime;
use OpenTelemetry::Common 'config';
use OpenTelemetry::Propagator::Composite;
use OpenTelemetry::SDK::Trace::TracerProvider;
use OpenTelemetry::X;
use OpenTelemetry;
use Ref::Util 'is_coderef';
use Scalar::Util 'blessed';
use isa 'OpenTelemetry::X';
sub configure_propagators ($, @args) {
    my $logger = OpenTelemetry::Common::internal_logger;
    state %map = (
        b3           => 'B3',
        b3multi      => 'B3::Multi',
lib/OpenTelemetry/SDK/Trace/Span.pm view on Meta::CPAN
our $VERSION = '0.028';
use OpenTelemetry::Attributes;
class OpenTelemetry::SDK::Trace::Span
    :isa(OpenTelemetry::Trace::Span)
    :does(OpenTelemetry::Attributes)
{
    use List::Util qw( any pairs );
    use Ref::Util qw( is_arrayref is_hashref );
    use Time::HiRes 'time';
    use OpenTelemetry::Constants
        -span_kind => { -as => sub { shift =~ s/^SPAN_KIND_//r } };
    use OpenTelemetry::Common ();
    use OpenTelemetry::SDK::Trace::SpanLimits;
    use OpenTelemetry::SDK::Trace::Span::Readable;
    use OpenTelemetry::Trace::Event;
    use OpenTelemetry::Trace::Link;
lib/OpenTelemetry/SDK/Trace/SpanLimits.pm view on Meta::CPAN
use Object::Pad ':experimental( init_expr mop )';
# ABSTRACT: A class that governs the configuration of spans
package OpenTelemetry::SDK::Trace::SpanLimits;
our $VERSION = '0.028';
class OpenTelemetry::SDK::Trace::SpanLimits {
    use List::Util 'first';
    use OpenTelemetry::Common 'config';
    use Ref::Util 'is_arrayref';
    use Scalar::Util 'looks_like_number';
    my $logger = OpenTelemetry::Common::internal_logger;
    field        $attribute_count_limit :reader = config(qw(  SPAN_ATTRIBUTE_COUNT_LIMIT ATTRIBUTE_COUNT_LIMIT )) // 128;
    field  $event_attribute_count_limit :reader = config(qw( EVENT_ATTRIBUTE_COUNT_LIMIT ATTRIBUTE_COUNT_LIMIT )) // 128;
    field   $link_attribute_count_limit :reader = config(qw(  LINK_ATTRIBUTE_COUNT_LIMIT ATTRIBUTE_COUNT_LIMIT )) // 128;
    field       $attribute_length_limit :reader = config(qw(  SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT ATTRIBUTE_VALUE_LENGTH_LIMIT ));
    field $event_attribute_length_limit :reader = config(qw( EVENT_ATTRIBUTE_VALUE_LENGTH_LIMIT ATTRIBUTE_VALUE_LENGTH_LIMIT ));
lib/OpenTelemetry/SDK/Trace/Tracer.pm view on Meta::CPAN
package OpenTelemetry::SDK::Trace::Tracer;
our $VERSION = '0.028';
class OpenTelemetry::SDK::Trace::Tracer :isa(OpenTelemetry::Trace::Tracer) {
    use OpenTelemetry::Constants 'SPAN_KIND_INTERNAL';
    use OpenTelemetry::Context;
    use OpenTelemetry::Trace;
    use OpenTelemetry::Common ();
    use Ref::Util 'is_hashref';
    field $span_creator :param;
    method create_span ( %args ) {
        $args{name} //= 'empty';
        $args{kind} //= SPAN_KIND_INTERNAL;
        unless (is_hashref( $args{attributes} // {} )) {
            OpenTelemetry::Common::internal_logger
                ->warn('The \'attributes\' parameter to create_span must be a hash reference, it was instead a ' . ( ref($args{attribute}) || 'plain scalar' ) );
( run in 0.829 second using v1.01-cache-2.11-cpan-c333fce770f )