diff options
Diffstat (limited to 'vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory')
5 files changed, 158 insertions, 0 deletions
diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/AbstractReporterFactory.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/AbstractReporterFactory.php new file mode 100644 index 000000000..e34adc5dc --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/AbstractReporterFactory.php @@ -0,0 +1,23 @@ +<?php + +namespace Jaeger\ReporterFactory; + +use Jaeger\Config; +use Thrift\Transport\TTransport; + +abstract class AbstractReporterFactory implements ReporterFactoryInterface +{ + /** + * @var Config + */ + protected $config; + + /** + * AbstractReporterFactory constructor. + * @param Config $config + */ + public function __construct($config) + { + $this->config = $config; + } +} 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); + } +} diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerReporterFactory.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerReporterFactory.php new file mode 100644 index 000000000..9865884b5 --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/JaegerReporterFactory.php @@ -0,0 +1,44 @@ +<?php + +namespace Jaeger\ReporterFactory; + +use Jaeger\AgentClient\HttpAgentClient; +use Jaeger\Reporter\JaegerReporter; +use Jaeger\Reporter\ReporterInterface; +use Jaeger\Sender\JaegerSender; +use Jaeger\Thrift\Agent\AgentClient; +use Jaeger\ThriftUdpTransport; +use Thrift\Exception\TTransportException; +use Thrift\Protocol\TBinaryProtocol; +use Thrift\Transport\TBufferedTransport; + +class JaegerReporterFactory extends AbstractReporterFactory implements ReporterFactoryInterface +{ + public function createReporter() : ReporterInterface + { + $udp = new ThriftUdpTransport( + $this->config->getLocalAgentReportingHost(), + $this->config->getLocalAgentReportingPort(), + $this->config->getLogger(), + $this->config + ); + + $transport = new TBufferedTransport( + $udp, + $this->config->getMaxBufferLength(), + $this->config->getMaxBufferLength() + ); + + try { + $transport->open(); + } catch (TTransportException $e) { + $this->config->getLogger()->warning($e->getMessage()); + } + $protocol = new TBinaryProtocol($transport); + $client = new AgentClient($protocol); + $this->config->getLogger()->debug('Initializing UDP Jaeger Tracer with Jaeger.Thrift over Binary protocol'); + $sender = new JaegerSender($client, $this->config->getLogger()); + $sender->setMaxBufferLength($this->config->getMaxBufferLength()); + return new JaegerReporter($sender); + } +} diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ReporterFactoryInterface.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ReporterFactoryInterface.php new file mode 100644 index 000000000..4bfd3204f --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ReporterFactoryInterface.php @@ -0,0 +1,10 @@ +<?php + +namespace Jaeger\ReporterFactory; + +use Jaeger\Reporter\ReporterInterface; + +interface ReporterFactoryInterface +{ + public function createReporter() : ReporterInterface; +} diff --git a/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ZipkinReporterFactory.php b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ZipkinReporterFactory.php new file mode 100644 index 000000000..736977b4d --- /dev/null +++ b/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/ReporterFactory/ZipkinReporterFactory.php @@ -0,0 +1,46 @@ +<?php + +namespace Jaeger\ReporterFactory; + +use Jaeger\Reporter\JaegerReporter; +use Jaeger\Reporter\RemoteReporter; +use Jaeger\Reporter\ReporterInterface; +use Jaeger\Sender\JaegerSender; +use Jaeger\Sender\UdpSender; +use Jaeger\Thrift\Agent\AgentClient; +use Jaeger\ThriftUdpTransport; +use Thrift\Exception\TTransportException; +use Thrift\Protocol\TBinaryProtocol; +use Thrift\Protocol\TCompactProtocol; +use Thrift\Transport\TBufferedTransport; +use Thrift\Transport\TTransport; + +class ZipkinReporterFactory extends AbstractReporterFactory implements ReporterFactoryInterface +{ + public function createReporter() : ReporterInterface + { + $udp = new ThriftUdpTransport( + $this->config->getLocalAgentReportingHost(), + $this->config->getLocalAgentReportingPort(), + $this->config->getLogger(), + $this->config + ); + + $transport = new TBufferedTransport( + $udp, + $this->config->getMaxBufferLength(), + $this->config->getMaxBufferLength() + ); + + try { + $transport->open(); + } catch (TTransportException $e) { + $this->config->getLogger()->warning($e->getMessage()); + } + $protocol = new TCompactProtocol($transport); + $client = new AgentClient($protocol); + $this->config->getLogger()->debug('Initializing UDP Jaeger Tracer with Zipkin.Thrift over Compact protocol'); + $sender = new UdpSender($client, $this->config->getMaxBufferLength(), $this->config->getLogger()); + return new RemoteReporter($sender); + } +} |