=encoding UTF-8
=head1 NAME
OpenTelemetry::Propagator::Composite - A composite context propagator
for
OpenTelemetry
=head1 SYNOPSIS
my
$propagator
= OpenTelemetry::Propagator::Composite->new(
OpenTelemetry::Propagator::Baggage->new,
OpenTelemetry::Propagator::TraceContext->new,
);
my
$carrier
= {};
$propagator
->inject(
$carrier
,
$context
);
my
$new_context
=
$propagator
->extract(
$carrier
,
$context
);
=head1 DESCRIPTION
This
package
defines a propagator class that interact
with
the context
(which can be either an implicit or explicit instance of
L<OpenTelemetry::Context>) and inject or extract data using a composite of
objects implementing the L<OpenTelemetry::Propagator> interface. Injectors
and extractors can be set separately, and will be called in order
when
they
are used.
This composite propagator itself implements the L<OpenTelemetry::Propagator>
interface.
=head1 METHODS
=head2 new
$propagator
= OpenTelemetry::Propagator::Composite->new(
@propagators
)
Constructs a new instance of this propagator. Takes a potentially empty list
of objects that implement the L<OpenTelemetry::Propagator> interface. Calls
to C<inject> and C<extract> will be delegated to these in the order they were
specified.
=head1 SEE ALSO
=over
=item L<OpenTelemetry::Context>
=item L<OpenTelemetry::Propagator>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by José Joaquín Atria.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language
system
itself.