Procházet zdrojové kódy

:sparkles: api 选择

Bhikkhu-Kosalla před 4 roky
rodič
revize
9bcda27a03
4 změnil soubory, kde provedl 55 přidání a 28 odebrání
  1. 2 2
      app/log/pref_live.php
  2. 14 10
      app/log/pref_log.php
  3. 6 16
      app/log/showrealtime.js
  4. 33 0
      app/log/showrealtime.php

+ 2 - 2
app/log/pref_live.php

@@ -1,6 +1,6 @@
 <?php
-require_once("../config.php");
-require_once("../redis/function.php");
+require_once(__DIR__."/../config.php");
+require_once(__DIR__."/../redis/function.php");
 
 
 if(isset($_GET["item"])){

+ 14 - 10
app/log/pref_log.php

@@ -12,17 +12,21 @@ function PrefLog(){
     $timeMinute = intval(time()/60);
     $timeSecond = time();
     if($redis){
-            $key= "pref/";
-            $keyAll = $key."all/".$timeMinute;
-            UpdateCache($redis,$keyAll,$delay);
-            $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeMinute;
-            UpdateCache($redis,$keyApi,$delay);
+        $key= "pref/";
+        $keyAll = $key."all/".$timeMinute;
+        UpdateCache($redis,$keyAll,$delay);
+        $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeMinute;
+        UpdateCache($redis,$keyApi,$delay);
 
-            $key= "pref-s/";
-            $keyAll = $key."all/".$timeSecond;
-            UpdateCache($redis,$keyAll,$delay,30);
-            $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeSecond;
-            UpdateCache($redis,$keyApi,$delay,30);
+        $key= "pref-s/";
+        $keyAll = $key."all/".$timeSecond;
+        UpdateCache($redis,$keyAll,$delay,30);
+        $keyApi = $key.$_SERVER['PHP_SELF']."/".$timeSecond;
+        UpdateCache($redis,$keyApi,$delay,30);
+
+        $keyApiName = "pref-hour/api/".$_SERVER['PHP_SELF'];
+        $redis->set($keyApiName,1);
+        $redis->expire($keyApiName,3600);
     }
 	$file = fopen(_DIR_LOG_."/pref_".date("Y-m-d").".log","a");
 	if($file){

+ 6 - 16
app/log/showrealtime.js

@@ -1,7 +1,5 @@
-var defaultData = './pref_realtime_get.php?api=all&item=count';
-var urlInput = document.getElementById('fetchURL');
-var pollingCheckbox = document.getElementById('enablePolling');
-var pollingInput = document.getElementById('pollingTime');
+
+var apiName="all";
 
 function createChart(div,title,api,item) {
     Highcharts.chart(div, {
@@ -25,7 +23,7 @@ function createChart(div,title,api,item) {
         },
         data: {
             csvURL: './pref_realtime_get.php?api='+api+'&item='+item,
-            enablePolling: pollingCheckbox.checked === true,
+            enablePolling: true,
             dataRefreshRate: 60
         }
     });
@@ -34,16 +32,8 @@ function createChart(div,title,api,item) {
 }
 
 
-// We recreate instead of using chart update to make sure the loaded CSV
-// and such is completely gone.
-pollingCheckbox.onchange =  createChart;
 
-// Create the chart
-createChart("chart-1",'总请求次数/分钟','all','count');
-createChart("chart-2",'总执行时间(毫秒)/分钟','all','delay');
-createChart("chart-3",'平均执行时间(毫秒/API)','all','average');
-create_live("chart-4");
-function create_live(container){
+function create_live(container,title,api){
     Highcharts.chart(container, {
 
     chart: {
@@ -55,7 +45,7 @@ function create_live(container){
     },
 
     title: {
-        text: '实时平均执行时间'
+        text: title
     },
 
     pane: {
@@ -142,7 +132,7 @@ function create_live(container){
 function (chart) {
     if (!chart.renderer.forExport) {
         setInterval(function () {
-            $.get("./pref_live.php?api=all&item=average",function(data){
+            $.get("./pref_live.php?api="+api+"&item=average",function(data){
                 var point = chart.series[0].points[0];
                 newVal = parseInt(data);
                 point.update(newVal);

+ 33 - 0
app/log/showrealtime.php

@@ -66,6 +66,22 @@
 </head>
 <body>
 <h2>实时监控</h2>
+<?php
+require_once(__DIR__."/../config.php");
+require_once(__DIR__."/../redis/function.php");
+$redis = redis_connect();
+if($redis){
+    $key="pref-hour/api/";
+    $apis = $redis->keys($key.'*');
+    echo "<ol>";
+    echo "<li><a href='showrealtime.php?api=all'>all</a></li>";
+    foreach ($apis as  $value) {
+        $api = substr($value,strlen($key));
+        echo "<li><a  href='showrealtime.php?api={$api}'>".$api."</a></li>";
+    }
+    echo "</ol>";
+}
+?>
 <div class="ld-row" style="display:none;">
 	<label class="ld-label">
 		Enable Polling
@@ -87,5 +103,22 @@
 
 
 <script src="./showrealtime.js"></script>
+
+<script>
+<?php 
+    if(isset($_GET["api"])){
+        echo "apiName = '{$_GET["api"]}';";
+    }else{
+         echo "apiName = 'all';";
+    }
+    
+?>
+
+// Create the chart
+createChart("chart-1",'总请求次数/分钟',apiName,'count');
+createChart("chart-2",'总响应时间(毫秒/分钟)',apiName,'delay');
+createChart("chart-3",'平均响应时间(毫秒/API)',apiName,'average');
+create_live("chart-4","实时响应时间(毫秒/API)",apiName);
+</script>
 </body>
 </html>