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'); }
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'); }