diff options
Diffstat (limited to 'vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerHttpReporterFactory.php')
-rw-r--r-- | vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerHttpReporterFactory.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerHttpReporterFactory.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerHttpReporterFactory.php new file mode 100644 index 000000000..038e81161 --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerHttpReporterFactory.php @@ -0,0 +1,35 @@ +<?php + +namespace Jaeger\ReporterFactory; + +use Jaeger\AgentClient\HttpAgentClient; +use Jaeger\Reporter\JaegerReporter; +use Jaeger\Reporter\ReporterInterface; +use Jaeger\Sender\JaegerSender; +use Thrift\Exception\TTransportException; +use Thrift\Protocol\TBinaryProtocol; +use Thrift\Transport\THttpClient; + +class JaegerHttpReporterFactory extends AbstractReporterFactory implements ReporterFactoryInterface +{ + public function createReporter() : ReporterInterface + { + $transport = new THttpClient( + $this->config->getLocalAgentReportingHost(), + $this->config->getLocalAgentReportingPort(), + "/api/traces" + ); + + try { + $transport->open(); + } catch (TTransportException $e) { + $this->config->getLogger()->warning($e->getMessage()); + } + $protocol = new TBinaryProtocol($transport); + $client = new HttpAgentClient($protocol); + $this->config->getLogger()->debug('Initializing HTTP Jaeger Tracer with Jaeger.Thrift over Binary protocol'); + $sender = new JaegerSender($client, $this->config->getLogger()); + $sender->setMaxBufferLength($this->config->getMaxBufferLength()); + return new JaegerReporter($sender); + } +} |