summaryrefslogtreecommitdiff
path: root/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Reporter/CompositeReporter.php
diff options
context:
space:
mode:
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.php51
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();
+ }
+ }
+}