From 8f60985326a56d564bcc66dc59c29695016ddc57 Mon Sep 17 00:00:00 2001 From: Alexandre Choura Date: Fri, 5 Apr 2024 15:01:58 +0200 Subject: [PATCH 1/2] fix: Hook not being removed --- .../ElasticSearch/V8/ElasticSearchIntegration.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php b/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php index d29320ac30..3e514e4edc 100644 --- a/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php +++ b/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php @@ -2,11 +2,13 @@ namespace DDTrace\Integrations\ElasticSearch\V8; +use DDTrace\HookData; use DDTrace\Integrations\ElasticSearch\V1\ElasticSearchCommon; use DDTrace\Integrations\Integration; use DDTrace\SpanData; use DDTrace\Tag; use DDTrace\Type; +use function DDTrace\install_hook; class ElasticSearchIntegration extends Integration { @@ -33,14 +35,16 @@ public function init() "posthook" => function (SpanData $span) use (&$constructorCalled, $integration) { if (!$constructorCalled) { foreach (get_class_methods('Elastic\Elasticsearch\Traits\NamespaceTrait') as $method) { - $hook = function ($obj, $scope, $args, $ret) use ($integration, $method) { - \dd_untrace('Elastic\Elasticsearch\Traits\NamespaceTrait', $method); + $hook = function (HookData $hook) use ($integration, $method) { + $ret = $hook->returned; + \DDTrace\remove_hook($hook->id); $class = get_class($ret); foreach (get_class_methods($ret) as $method) { $integration->traceNamespaceMethod($class, $method); } }; - \DDTrace\hook_method('Elastic\Elasticsearch\Client', $method, null, $hook); + + \DDTrace\install_hook("Elastic\Elasticsearch\Client::$method", null, $hook); } foreach (get_class_methods('Elastic\Elasticsearch\Traits\ClientEndpointsTrait') as $method) { $analyticsMethods = [ From d8ba1ab79955aa8339a04c4af485d061e840f3d5 Mon Sep 17 00:00:00 2001 From: Alexandre Choura Date: Fri, 5 Apr 2024 16:18:36 +0200 Subject: [PATCH 2/2] style: Remove unused import --- .../Integrations/ElasticSearch/V8/ElasticSearchIntegration.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php b/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php index 3e514e4edc..f9803c8900 100644 --- a/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php +++ b/src/Integrations/Integrations/ElasticSearch/V8/ElasticSearchIntegration.php @@ -8,7 +8,6 @@ use DDTrace\SpanData; use DDTrace\Tag; use DDTrace\Type; -use function DDTrace\install_hook; class ElasticSearchIntegration extends Integration {