Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
opt
/
php-8.2.1-202301091010
/
share
/
test
/
mongodb
/
tests
/
utils
/
//opt/php-8.2.1-202301091010/share/test/mongodb/tests/utils/observer.php
<?php use MongoDB\Driver\Monitoring\CommandFailedEvent; use MongoDB\Driver\Monitoring\CommandStartedEvent; use MongoDB\Driver\Monitoring\CommandSucceededEvent; use MongoDB\Driver\Monitoring\CommandSubscriber; /** * Observes command documents using the driver's monitoring API. */ class CommandObserver implements CommandSubscriber { private $commands = []; public function observe(callable $execution, callable $commandCallback) { $this->commands = []; \MongoDB\Driver\Monitoring\addSubscriber($this); try { call_user_func($execution); } finally { \MongoDB\Driver\Monitoring\removeSubscriber($this); foreach ($this->commands as $command) { call_user_func($commandCallback, $command); } } } public function commandStarted(CommandStartedEvent $event): void { $this->commands[] = $event->getCommand(); } public function commandSucceeded(CommandSucceededEvent $event): void { } public function commandFailed(CommandFailedEvent $event): void { } } ?>