|
Server : LiteSpeed System : Linux srv526460274 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : kerao9884 ( 1082) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/kera789.org/public_html/wp-content/plugins/amp/src/Instrumentation/ |
Upload File : |
<?php
/**
* Class StopWatch.
*
* @package AmpProject\AmpWP
*/
namespace AmpProject\AmpWP\Instrumentation;
use AmpProject\AmpWP\Exception\InvalidStopwatchEvent;
/**
* Record the timing of multiple events.
*
* @package AmpProject\AmpWP
* @since 2.0
* @internal
*/
final class StopWatch {
/**
* Collection of named events that the stopwatch is tracking.
*
* @var StopWatchEvent[]
*/
private $events = [];
/**
* Start a named event.
*
* @param string $name Name of the event to start.
*/
public function start( $name ) {
$this->events[ $name ] = new StopWatchEvent();
}
/**
* Stop a named event.
*
* @param string $name Name of the event to stop.
* @return StopWatchEvent Completed stopwatch event.
* @throws InvalidStopwatchEvent If an unknown event name is provided.
*/
public function stop( $name ) {
if ( ! array_key_exists( $name, $this->events ) ) {
throw InvalidStopwatchEvent::from_name_to_stop( $name );
}
$event = $this->events[ $name ];
$event->stop();
return $event;
}
}