blob: 0f4f33a42333fd2343b118e5e7b324b121da758e (
plain)
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
|
<?php
namespace Icinga\Module\Graphite\ProvidedHook\Icingadb;
use Icinga\Application\Icinga;
use Icinga\Module\Graphite\Util\InternalProcessTracker as IPT;
use Icinga\Module\Graphite\Web\Controller\TimeRangePickerTrait;
use Icinga\Module\Graphite\Web\Widget\Graphs;
use Icinga\Module\Icingadb\Hook\ServiceDetailExtensionHook;
use Icinga\Module\Icingadb\Model\Service;
use ipl\Html\Html;
use ipl\Html\HtmlString;
use ipl\Html\ValidHtml;
class ServiceDetailExtension extends ServiceDetailExtensionHook
{
use TimeRangePickerTrait;
public function getHtmlForObject(Service $service): ValidHtml
{
if (Icinga::app()->getRequest()->getUrl()->getParam('graph_debug')) {
IPT::enable();
}
$graphs = (string) Graphs::forIcingadbObject($service)
->setWidth('440')
->setHeight('220')
->setClasses(['object-detail-view'])
->setPreloadDummy()
->setShowNoGraphsFound(false)
->handleRequest();
if (! empty($graphs)) {
$this->handleTimeRangePickerRequest();
$header = Html::tag('h2', [], 'Graphs');
$timepicker = HtmlString::create($this->renderTimeRangePicker(Icinga::app()->getViewRenderer()->view));
$graphColorRegistry = Html::tag('div', ['class' => 'graphite-graph-color-registry']);
$graphs = HtmlString::create($graphs);
return HtmlString::create($header . $timepicker . $graphColorRegistry . $graphs);
}
return HtmlString::create('');
}
}
|