Exemplo n.º 1
0
 public function monitor_core($from_secord, $to_secord)
 {
     $stepNum = Variables::getStepNum();
     $period_secord = $from_secord - $to_secord;
     $step_secord = (int) ($period_secord / $stepNum);
     $now = time();
     #_tp means time point.
     $beforebefore_tp = $now - $from_secord;
     $before_tp = $now - $to_secord;
     $mnt = Variables::chartjs_line_three_inited_with_time($beforebefore_tp, $step_secord, $stepNum, 'begin', 'success', 'end');
     $codes = array();
     $codescount = 1;
     $accounts = Account::period($beforebefore_tp, $before_tp);
     foreach ($accounts as $account) {
         $time = $account['time'];
         $code = $account['code'];
         if (isset($codes[$code])) {
             $codes[$code] += 1;
             $codescount += 1;
         } else {
             $codes[$code] = 1;
             $codescount += 1;
         }
         $i = (int) (($time - $beforebefore_tp) / $step_secord);
         if ($i == $stepNum) {
             $i -= 1;
         }
         if ($code == -1) {
             $mnt['datasets'][0]['data'][$i] += 1;
         } elseif ($code == 0) {
             $mnt['datasets'][1]['data'][$i] += 1;
         } else {
             $mnt['datasets'][2]['data'][$i] += 1;
         }
     }
     $one = json_encode($mnt);
     $err = Variables::chartjs_bar_one();
     unset($codes[-1]);
     arsort($codes);
     $paes = Variables::paerror();
     foreach ($codes as $kind => $count) {
         $err['labels'][] = $paes[$kind] . '(' . number_format($count / $codescount * 100, 1) . '%)';
         $err['datasets'][0]['data'][] = $count;
     }
     $two = json_encode($err);
     $url = action('AccountController@mstep', ['']);
     return compact('one', 'two', 'from_secord', 'to_secord', 'url');
 }
Exemplo n.º 2
0
 public function circle_core($from_secord, $to_secord)
 {
     $stepNum = Variables::getStepNum();
     $period_secord = $from_secord - $to_secord;
     $step_secord = (int) ($period_secord / $stepNum);
     $now = time();
     #_tp means time point.
     $beforebefore_tp = $now - $from_secord;
     $before_tp = $now - $to_secord;
     $slist = ProxyS::period($beforebefore_tp, $before_tp);
     $res = Variables::chartjs_line_three_inited_with_time($beforebefore_tp, $step_secord, $stepNum, 'pachong', 'hidemyass', 'freeproxylists');
     foreach ($slist as $sone) {
         $source = $sone['source'];
         $count = $sone['count'];
         $time = $sone['time'];
         $i = (int) (($time - $beforebefore_tp - 10) / $step_secord);
         if ($source == 10) {
             $res['datasets'][0]['data'][$i] += $count;
         } elseif ($source == 9) {
             $res['datasets'][1]['data'][$i] += $count;
         } elseif ($source == 8) {
             $res['datasets'][2]['data'][$i] += $count;
         }
     }
     $res = json_encode($res);
     $url = action('ProxyController@cstep', ['']);
     return compact('res', 'from_secord', 'to_secord', 'url');
 }