From 8f3646a9c93a06f76f6abb31020fdb74b4b1fc59 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 9 Apr 2023 20:50:33 +0300 Subject: exp: jaeger tracing --- classes/tracer.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 classes/tracer.php (limited to 'classes/tracer.php') diff --git a/classes/tracer.php b/classes/tracer.php new file mode 100644 index 000000000..fde99927d --- /dev/null +++ b/classes/tracer.php @@ -0,0 +1,49 @@ + [ + 'type' => \Jaeger\SAMPLER_TYPE_CONST, + 'param' => true, + ], + 'logging' => true, + "local_agent" => [ + "reporting_host" => "172.17.172.39", + "reporting_port" => 6832 + ], + 'dispatch_mode' => \Jaeger\Config::JAEGER_OVER_BINARY_UDP, + ], + 'tt-rss' + ); + + $config->initializeTracer(); + + register_shutdown_function(function() { + $tracer = GlobalTracer::get(); + $tracer->flush(); + }); + } + + private function _start(string $name, array $options = []) { + $tracer = GlobalTracer::get(); + return $tracer->startActiveSpan($name, $options); + } + + public static function start(string $name, array $options = []) : Scope { + return self::get_instance()->_start($name, $options); + } + + public static function get_instance() : Tracer { + if (self::$instance == null) + self::$instance = new self(); + + return self::$instance; + } + +} -- cgit v1.2.3