我剛在webdev商店實習,我的第一份工作就是解決我們客戶的一個問題。長話短說,前僱員編寫的某些代碼存在一些問題,並且由於某些未知原因,客戶端網站上的加載時間正在減慢。我的老闆告訴我在代碼中插入一個記錄器,這樣我就可以記錄一個給定方法所花費的時間,並找出哪種方法「佔用」時間。我必須將給定方法的時間記錄打印到SERVER上的日誌文件中。例如,我想要做這樣的事情:JavaScript服務器方法時間的日誌記錄
function search(x,acc)
{
var startTime = new Date().getTime();
//
//
//method code
//
//
var timeTaken = new Date().getTime() - startTime;
//the question is now how do I print that to some kind of
//server side log file i.e. "/etc/etc/logFile.log"
}
我有點困惑,因爲這顯然JavaScript是interpretted客戶方,我想這個文件存在服務器端,我不知道從哪裏開始有了這個。爲了參考,頁面是.php文件,其中嵌入了HTML。
編輯:我已經嘗試了一些東西在這裏的一些答案的幫助。讓我們看看這個解決方案有多好/多壞。
//js function:
function search(x,acc)
{
var startTime = new Date().getTime();
//do some stuff
var middleOfFunction = new Date().getTime() - startTime;
// do some more stuff
var endOfFunction = new Date().getTime() - middleOfFunction;
//find out which chunk of code took longer, the beginning or the end
var max = Math.max(endOfFunction , middleOfFunction);
<?php
$message = 'The longest part of the function took :' . $max . ' seconds.'
file_put_contents($file, $message , FILE_APPEND | LOCK_EX);
?>
實際的代碼比這更復雜一點,我有一個更具描述性的消息顯示了部分代碼需要較長的時間,但是這是基本的想法。這是否有意義,或者在JS的任何一個客戶端運行之前,php會在服務器端運行?我對這類東西感到困惑。感謝大家的幫助,這對我來說意義重大。我試圖展現出我在家工作的第二天,所以我沒有讓我的老闆向他提問。
再次感謝, 休息。
誰或你找到了這份工作? – 2013-07-14 21:32:26
我並不是要求你給我任何代碼,只是一些指向涉及這類事情的參考資料的指針。我是新來的JavaScript,可以真正使用正確的方向推。儘管我尊重你的理解。 – break
我會通過螢火蟲(或替代)登錄客戶端 – 2013-07-14 21:39:09