Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/multimeter/storage/MultimeterEvent.php
12256 views
1
<?php
2
3
final class MultimeterEvent extends MultimeterDAO {
4
5
const TYPE_STATIC_RESOURCE = 0;
6
const TYPE_REQUEST_TIME = 1;
7
const TYPE_EXEC_TIME = 2;
8
9
protected $eventType;
10
protected $eventLabelID;
11
protected $resourceCost;
12
protected $sampleRate;
13
protected $eventContextID;
14
protected $eventHostID;
15
protected $eventViewerID;
16
protected $epoch;
17
protected $requestKey;
18
19
private $eventLabel;
20
21
public function setEventLabel($event_label) {
22
$this->eventLabel = $event_label;
23
return $this;
24
}
25
26
public function getEventLabel() {
27
return $this->eventLabel;
28
}
29
30
public static function getEventTypeName($type) {
31
switch ($type) {
32
case self::TYPE_STATIC_RESOURCE:
33
return pht('Static Resource');
34
case self::TYPE_REQUEST_TIME:
35
return pht('Web Request');
36
case self::TYPE_EXEC_TIME:
37
return pht('Subprocesses');
38
}
39
40
return pht('Unknown ("%s")', $type);
41
}
42
43
public static function formatResourceCost(
44
PhabricatorUser $viewer,
45
$type,
46
$cost) {
47
48
switch ($type) {
49
case self::TYPE_STATIC_RESOURCE:
50
return pht('%s Req', new PhutilNumber($cost));
51
case self::TYPE_REQUEST_TIME:
52
case self::TYPE_EXEC_TIME:
53
return pht('%s us', new PhutilNumber($cost));
54
}
55
56
return pht('%s Unit(s)', new PhutilNumber($cost));
57
}
58
59
60
protected function getConfiguration() {
61
return array(
62
self::CONFIG_TIMESTAMPS => false,
63
self::CONFIG_COLUMN_SCHEMA => array(
64
'eventType' => 'uint32',
65
'resourceCost' => 'sint64',
66
'sampleRate' => 'uint32',
67
'requestKey' => 'bytes12',
68
),
69
self::CONFIG_KEY_SCHEMA => array(
70
'key_request' => array(
71
'columns' => array('requestKey'),
72
),
73
'key_type' => array(
74
'columns' => array('eventType', 'epoch'),
75
),
76
),
77
) + parent::getConfiguration();
78
}
79
80
}
81
82