From 350177df3949bf884d38e133a3048d582a50efdb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 20 Oct 2023 23:39:30 +0300 Subject: add placeholder instrumentation for public --- public.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'public.php') diff --git a/public.php b/public.php index f44a94c01..6d9bc4b0c 100644 --- a/public.php +++ b/public.php @@ -14,6 +14,8 @@ if (!init_plugins()) return; + $span = OpenTelemetry\API\Trace\Span::getCurrent(); + $method = (string)clean($_REQUEST["op"]); // shortcut syntax for public (exposed) methods (?op=plugin--pmethod&...params) @@ -39,27 +41,34 @@ user_error("Refusing to invoke method $method which starts with underscore.", E_USER_WARNING); header("Content-Type: text/json"); print Errors::to_json(Errors::E_UNAUTHORIZED); + $span->setAttribute('error', Errors::E_UNAUTHORIZED); return; } if (implements_interface($handler, "IHandler") && $handler->before($method)) { + $span->addEvent("construct/$method"); if ($method && method_exists($handler, $method)) { $reflection = new ReflectionMethod($handler, $method); if ($reflection->getNumberOfRequiredParameters() == 0) { + $span->addEvent("invoke/$method"); $handler->$method(); } else { user_error("Refusing to invoke method $method which has required parameters.", E_USER_WARNING); header("Content-Type: text/json"); print Errors::to_json(Errors::E_UNAUTHORIZED); + $span->setAttribute('error', Errors::E_UNAUTHORIZED); } } else if (method_exists($handler, 'index')) { + $span->addEvent("index"); $handler->index(); } + $span->addEvent("after/$method"); $handler->after(); return; } header("Content-Type: text/plain"); print Errors::to_json(Errors::E_UNKNOWN_METHOD); -?> + $span->setAttribute('error', Errors::E_UNKNOWN_METHOD); + -- cgit v1.2.3-54-g00ecf