1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<?php /** * Class EventWithDuration. * * @package AmpProject\AmpWP */
namespace AmpProject\AmpWP\Instrumentation;
/** * A server-timing event with a duration. * * @package AmpProject\AmpWP * @since 2.0 * @internal */ class EventWithDuration extends Event {
/** * Event duration. * * @var float */ protected $duration = 0.0;
/** * Event constructor. * * @param string $name Event name. * @param string|null $description Optional. Event description. * @param string[]|null $properties Optional. Additional properties for the event. * @param float $duration Optional. Event duration. */ public function __construct( $name, $description = null, $properties = [], $duration = 0.0 ) { parent::__construct( $name, $description, $properties ); $this->duration = $duration; }
/** * Set the event duration. * * @param float $duration Event duration. */ public function set_duration( $duration ) { $this->duration = $duration; }
/** * Get the event duration. * * @return float */ public function get_duration() { return $this->duration; }
/** * Get the server timing header string. * * @return string Server timing header string representing this event. */ public function get_header_string() { return sprintf( '%s;dur="%.1f"', parent::get_header_string(), $this->get_duration() ); } }
|