2014-10-02 19:16:57 -04:00
|
|
|
<?php
|
|
|
|
|
/**
|
2024-05-23 03:26:56 -04:00
|
|
|
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
2014-10-02 19:16:57 -04:00
|
|
|
*/
|
2014-10-03 14:39:09 -04:00
|
|
|
namespace OC\Diagnostics;
|
2014-10-02 19:16:57 -04:00
|
|
|
|
2014-10-03 14:39:09 -04:00
|
|
|
use OCP\Diagnostics\IEvent;
|
2014-10-02 19:16:57 -04:00
|
|
|
|
|
|
|
|
class Event implements IEvent {
|
|
|
|
|
/**
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
|
|
|
|
protected $id;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var float
|
|
|
|
|
*/
|
|
|
|
|
protected $start;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var float
|
|
|
|
|
*/
|
|
|
|
|
protected $end;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
|
|
|
|
protected $description;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string $id
|
|
|
|
|
* @param string $description
|
|
|
|
|
* @param float $start
|
|
|
|
|
*/
|
|
|
|
|
public function __construct($id, $description, $start) {
|
|
|
|
|
$this->id = $id;
|
|
|
|
|
$this->description = $description;
|
|
|
|
|
$this->start = $start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param float $time
|
|
|
|
|
*/
|
|
|
|
|
public function end($time) {
|
|
|
|
|
$this->end = $time;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return float
|
|
|
|
|
*/
|
|
|
|
|
public function getStart() {
|
|
|
|
|
return $this->start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public function getId() {
|
|
|
|
|
return $this->id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public function getDescription() {
|
|
|
|
|
return $this->description;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return float
|
|
|
|
|
*/
|
|
|
|
|
public function getEnd() {
|
|
|
|
|
return $this->end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return float
|
|
|
|
|
*/
|
|
|
|
|
public function getDuration() {
|
2014-10-03 16:13:55 -04:00
|
|
|
if (!$this->end) {
|
|
|
|
|
$this->end = microtime(true);
|
|
|
|
|
}
|
2014-10-02 19:16:57 -04:00
|
|
|
return $this->end - $this->start;
|
|
|
|
|
}
|
2022-02-02 03:57:50 -05:00
|
|
|
|
2024-04-02 11:13:35 -04:00
|
|
|
public function __toString(): string {
|
2022-02-02 03:57:50 -05:00
|
|
|
return $this->getId() . ' ' . $this->getDescription() . ' ' . $this->getDuration();
|
|
|
|
|
}
|
2014-10-02 19:16:57 -04:00
|
|
|
}
|