summaryrefslogtreecommitdiffstats
path: root/library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php')
-rw-r--r--library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php b/library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php
new file mode 100644
index 0000000..d6a4673
--- /dev/null
+++ b/library/Graphite/ProvidedHook/Monitoring/DetailviewExtension.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Icinga\Module\Graphite\ProvidedHook\Monitoring;
+
+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\Monitoring\Hook\DetailviewExtensionHook;
+use Icinga\Module\Monitoring\Object\MonitoredObject;
+
+class DetailviewExtension extends DetailviewExtensionHook
+{
+ use TimeRangePickerTrait;
+
+ public function getHtmlForObject(MonitoredObject $object)
+ {
+ if (Icinga::app()->getRequest()->getUrl()->getParam('graph_debug')) {
+ IPT::enable();
+ }
+
+ $graphs = (string) Graphs::forMonitoredObject($object)
+ ->setWidth(440)
+ ->setHeight(220)
+ ->setClasses(['object-detail-view'])
+ ->setPreloadDummy()
+ ->setShowNoGraphsFound(false)
+ ->handleRequest();
+
+ if ($graphs !== '') {
+ $this->handleTimeRangePickerRequest();
+ return '<h2>' . mt('graphite', 'Graphs') . '</h2>'
+ . $this->renderTimeRangePicker($this->getView())
+ . '<div class="graphite-graph-color-registry"></div>'
+ . $graphs;
+ }
+
+ return '';
+ }
+}