diff options
Diffstat (limited to 'vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php')
-rw-r--r-- | vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php new file mode 100644 index 000000000..78533cc76 --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php @@ -0,0 +1,51 @@ +<?php + +namespace Jaeger\Reporter; + +use Jaeger\Span; + +/** + * CompositeReporter delegates reporting to one or more underlying reporters. + */ +class CompositeReporter implements ReporterInterface +{ + /** + * @var ReporterInterface[] + */ + private $reporters; + + /** + * CompositeReporter constructor. + * + * @param ReporterInterface ...$reporters + */ + public function __construct(ReporterInterface ...$reporters) + { + $this->reporters = $reporters; + } + + /** + * {@inheritdoc} + * + * @param Span $span + * @return void + */ + public function reportSpan(Span $span) + { + foreach ($this->reporters as $reporter) { + $reporter->reportSpan($span); + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + public function close() + { + foreach ($this->reporters as $reporter) { + $reporter->close(); + } + } +} |