From 4e350bb1941865a9f81639292b5628db926244b4 Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch> Date: Tue, 9 Oct 2018 11:03:11 +0200 Subject: [PATCH] history and timeline for all servers --- classes/cronlog-renderer.class.php | 32 +++++++++++++++++++++++++++--- get.php | 12 +++++++++-- index.php => index.html | 0 main.css | 12 ++++++----- 4 files changed, 46 insertions(+), 10 deletions(-) rename index.php => index.html (100%) diff --git a/classes/cronlog-renderer.class.php b/classes/cronlog-renderer.class.php index 2952160..05c350d 100644 --- a/classes/cronlog-renderer.class.php +++ b/classes/cronlog-renderer.class.php @@ -74,7 +74,7 @@ class cronlogrenderer extends cronlog{ $sClass='message-ok'; } - $sHtml.='<tr class="'.$sClass.'" onclick="showFile(\''.$aEntry['logfile'].'\');">' + $sHtml.='<tr class="'.$sClass.'" onclick="showFile(\''.$aEntry['logfile'].'\');" title="Klick=['.$aEntry['logfile'].'] anzeigen ">' . '<td>'.date("Y-m-d H:i:s", $aEntry['SCRIPTSTARTTIME']).'</td>' // . '<td>'.$aEntry['SCRIPTNAME'].'</td>' . '<td>'.$aEntry['SCRIPTLABEL'].'</td>' @@ -221,6 +221,18 @@ class cronlogrenderer extends cronlog{ $this->_writeCacheData($sTaskId, $sHtml); return $sHtml; } + + public function renderJoblistOfAllServers(){ + $aData=array(); + foreach (array_keys($this->getServers()) as $sServer){ + $this->setServer($sServer); + $aData=array_merge($aData, $this->getServerJobHistory()); + } + $this->setServer('ALL'); + // echo '<pre>'.print_r($aData, 1).'</pre>'; + return $this->renderJoblist($aData); + } + /** * get html code for a timeline with events of executed cronjobs * @@ -300,6 +312,18 @@ class cronlogrenderer extends cronlog{ return $sHtml; } + public function renderJobGraphOfAllServers(){ + $aData=array(); + foreach (array_keys($this->getServers()) as $sServer){ + $this->setServer($sServer); + $aData=array_merge($aData, $this->getServerJobHistory()); + } + $this->setServer('ALL'); + // echo '<pre>'.print_r($aData, 1).'</pre>'; + return $this->renderJobGraph($aData); + } + + /** * show a single log file * @@ -323,7 +347,7 @@ class cronlogrenderer extends cronlog{ if ($fileHandle = fopen($sMyFile, "r")) { - $sHtml.='<div style="float: left;" onclick="showFileBack();"><pre>'; + $sHtml.='<div style="float: left;" onclick="showFileBack();" title="Klick=zurück"><pre>'; while (($line = fgets($fileHandle)) !== false) { # do same stuff with the $line $bIsComment=strstr($line, 'REM '); @@ -347,7 +371,9 @@ class cronlogrenderer extends cronlog{ // remove terminal color $sValue=preg_replace('/(\[[0-9]{1,3}m)/', '', $sValue); - $sHtml.='<div'.($sDivClass ? ' class="'.$sDivClass.'"' : '').'><span class="log-var">'.$sKey.'</span>=<span class="log-value">'.$sValue.'</span></div>'; + $sHtml.='<div'.($sDivClass ? ' class="'.$sDivClass.'"' : '') + // . ' title="'.$sKey.'='.$sValue.'" ' + . '><span class="log-var">'.$sKey.'</span>=<span class="log-value">'.$sValue.'</span></div>'; } } $sHtml.='</pre></div>'; diff --git a/get.php b/get.php index 4fc5e32..d0c7dac 100644 --- a/get.php +++ b/get.php @@ -21,7 +21,11 @@ if($sServer){ } switch ($sItem){ case 'crontable': - $sHtml.=$oCL->renderJoblist(); + if($sServer==='ALL'){ + $sHtml.=$oCL->renderJoblistOfAllServers(); + } else { + $sHtml.=$oCL->renderJoblist(); + } break; case 'cronlogs': if($sServer==='ALL'){ @@ -31,7 +35,11 @@ switch ($sItem){ } break; case 'graph': - $sHtml.=$oCL->renderJobGraph(); + if($sServer==='ALL'){ + $sHtml.=$oCL->renderJobGraphOfAllServers(); + } else { + $sHtml.=$oCL->renderJobGraph(); + } break; case 'selectserver': $sHtml.=$oCL->renderServerlist($sServer); diff --git a/index.php b/index.html similarity index 100% rename from index.php rename to index.html diff --git a/main.css b/main.css index 43ae924..b032e02 100644 --- a/main.css +++ b/main.css @@ -42,6 +42,10 @@ td{padding:0.3em;} #crontable,#cronlogs,#graph{display: none;} #tabcontent div.active{display: block;} +.log-rem{color:#aaa; font-style: italic;} +.log-var{color:#088;} +.log-value{color:#008;} +pre div:hover{background:rgba(0,0,0,0.1);} /* ----- override datatable defaukts */ .dataTables_wrapper{clear: none;float: left; margin: auto 1px;} @@ -50,12 +54,10 @@ table.dataTable{margin: 0; width: auto;} table.dataTable tbody td{padding: 3px;} .message{border: 1px solid rgba(0,0,0,0.1); padding: 1em; float: right;} -.message-ok{background:#cfc !important; color:#080 !important;} -.message-error{background:#fee !important; color:#800 !important;} +table.dataTable tbody tr.message-ok, .message-ok{background:#cfc; color:#080 !important;} +table.dataTable tbody tr.message-error, .message-error{background:#fdd; color:#800 !important;} +table.dataTable tbody tr:hover{background:rgba(0,0,0,0.1);} -.log-rem{color:#aaa; font-style: italic;} -.log-var{color:#088;} -.log-value{color:#008;} /* timeline */ -- GitLab