showrealtime.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <script src="../../node_modules/jquery/dist/jquery.js"></script>
  7. <style type="text/css">
  8. .highcharts-figure, .highcharts-data-table table {
  9. flex:1;
  10. min-width: 220px;
  11. max-width: 100%;
  12. margin: 1em auto;
  13. }
  14. .highcharts-data-table table {
  15. font-family: Verdana, sans-serif;
  16. border-collapse: collapse;
  17. border: 1px solid #EBEBEB;
  18. margin: 10px auto;
  19. text-align: center;
  20. width: 100%;
  21. max-width: 500px;
  22. }
  23. .highcharts-data-table caption {
  24. padding: 1em 0;
  25. font-size: 1.2em;
  26. color: #555;
  27. }
  28. .highcharts-data-table th {
  29. font-weight: 600;
  30. padding: 0.5em;
  31. }
  32. .highcharts-data-table td, .highcharts-data-table th, .highcharts-data-table caption {
  33. padding: 0.5em;
  34. }
  35. .highcharts-data-table thead tr, .highcharts-data-table tr:nth-child(even) {
  36. background: #f8f8f8;
  37. }
  38. .highcharts-data-table tr:hover {
  39. background: #f1f7ff;
  40. }
  41. .chart_head_1 {
  42. text-align: center;
  43. font-size: x-large;
  44. margin-bottom: 0;
  45. font-weight: bold;
  46. }
  47. .highcharts-data-label {
  48. font-size: small;
  49. }
  50. </style>
  51. <script src="../../node_modules/highcharts/highcharts.js"></script>
  52. <script src="../../node_modules/highcharts/highcharts-more.js"></script>
  53. <script src="../../node_modules/highcharts/modules/exporting.js"></script>
  54. <script src="../../node_modules/highcharts/modules/export-data.js"></script>
  55. <script src="../../node_modules/highcharts/modules/accessibility.js"></script>
  56. <script src="../../node_modules/highcharts/modules/data.js"></script>
  57. <script src="../../node_modules/highcharts/modules/exporting.js"></script>
  58. </head>
  59. <body>
  60. <h2>实时监控</h2>
  61. <?php
  62. require_once(__DIR__."/../config.php");
  63. require_once(__DIR__."/../redis/function.php");
  64. $redis = redis_connect();
  65. if($redis){
  66. $key="pref-hour/api/";
  67. $apis = $redis->keys($key.'*');
  68. echo "<ol>";
  69. echo "<li><a href='showrealtime.php?api=all'>all</a></li>";
  70. foreach ($apis as $value) {
  71. $api = substr($value,strlen($key));
  72. echo "<li><a href='showrealtime.php?api={$api}'>".$api."</a></li>";
  73. }
  74. echo "</ol>";
  75. }
  76. ?>
  77. <div class="ld-row" style="display:none;">
  78. <label class="ld-label">
  79. Enable Polling
  80. </label>
  81. <input type="checkbox" checked="checked" id="enablePolling"/>
  82. </div>
  83. <div style="display:flex;">
  84. <div id='chart-1'></div>
  85. <div id='chart-2'></div>
  86. </div>
  87. <div style="display:flex;">
  88. <div id='chart-3'></div>
  89. <div id='chart-4'></div>
  90. </div>
  91. <div id='chart-3a'></div>
  92. <div id='chart-5'></div>
  93. <div id="chart-6"></div>
  94. <script src="./showrealtime.js"></script>
  95. <script>
  96. <?php
  97. if(isset($_GET["api"])){
  98. echo "apiName = '{$_GET["api"]}';";
  99. }else{
  100. echo "apiName = 'all';";
  101. }
  102. ?>
  103. // Create the chart
  104. createChart("chart-1",'总请求次数/分钟',apiName,'count');
  105. createChart("chart-2",'总响应时间(毫秒/分钟)',apiName,'delay');
  106. createChart("chart-3",'平均响应时间(毫秒/API)',apiName,'average');
  107. create_live("chart-4","实时响应时间(毫秒/API)",apiName);
  108. </script>
  109. </body>
  110. </html>