Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. ## CONTROLLER ##
  2.  
  3. public function getStats()
  4. {
  5. $machine = $this->vmName;
  6. $passwd = "123456";
  7. $cmdCpuStat = "echo $passwd | sudo -S virsh domstats $machine --cpu-total | grep 'cpu.time' | cut -f2- -d=";
  8. $cmdCpuCount = "echo $passwd | sudo -S virsh cpu-stats $machine | grep 'CPU*' | sed -e 's/://' | wc -l";
  9.  
  10. $provedPrikaz = $this->volani("$cmdCpuStat");
  11. $fstStat = stream_get_contents($provedPrikaz);
  12. sleep(1);
  13. $provedPrikaz = $this->volani("$cmdCpuStat");
  14. $scdStat = stream_get_contents($provedPrikaz);
  15.  
  16. $provedPrikaz = $this->volani("$cmdCpuCount");
  17. $cpuCount = stream_get_contents($provedPrikaz);
  18.  
  19. $usage = ($scdStat - $fstStat)/10000000/$cpuCount;
  20.  
  21. return (int)$usage;
  22. }
  23.  
  24. ##########
  25. ## VIEW ##
  26. <script>
  27. $(document).ready(function () {
  28.  
  29. google.charts.load('current', {packages: ['corechart', 'line']});
  30. google.charts.setOnLoadCallback(drawBasic);
  31.  
  32. var prvni = 0;
  33. var druha = 0;
  34. var min;
  35. var max;
  36. function drawBasic() {
  37. var data = new google.visualization.DataTable();
  38. data.addColumn('number', 'X');
  39. data.addColumn('number', 'Y');
  40. var options;
  41. var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
  42. //chart.draw(data, options);
  43.  
  44. function refreshData() {
  45. if ((prvni/5) <=30){min = 0;} else {min = prvni/5-30;}
  46. if ((prvni/5) <=30){max = 30;} else {max = prvni/5;}
  47. options = {
  48. legend: 'none',
  49. vAxis: {
  50. title: 'Vytíženost (%)',
  51. viewWindow: {
  52. min: 0,
  53. max: 120
  54. }
  55. },
  56. hAxis: {
  57. viewWindow: {
  58. min: min,
  59. max: max
  60. }
  61. }
  62. }
  63. data.addRows([ [prvni/5, druha] ]);
  64. chart.draw(data, options);
  65. prvni = prvni + 5;
  66.  
  67. }
  68.  
  69. function load_data(query) {
  70.  
  71. $.ajax({
  72. url: "<?php echo base_url(); ?>server/getStats",
  73. method: "POST",
  74. data: {query: query},
  75. success: function (select) {
  76. druha = Number(select);
  77. refreshData();
  78. },
  79. error: function () {
  80. alert("BAD");
  81. }
  82. })
  83. }
  84.  
  85. setInterval(function () {
  86. load_data();
  87. //refreshData();
  88. }, 2000);
  89. }
  90. });
  91. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement