lang/js

javascript profile

C/H 2012. 5. 25. 17:20

이래 저래 jQuery plugin 이나 jUnit 등을 설치할까 하다가 그냥 만들어 버렸다.


1시간이다.

이런 허접 스런...

/**
 * @author	uncaose@gmail.com
 */
profile = {
	lists : [
		{
			name: '### start', 
			time:(new Date().getTime()), 
			startDelay: 0, 
			delay : 0, 
			from : {
				name : null, 
				delay: -1 
			}
		}
	],
	getTime : function(){ 
		return (new Date().getTime());
	},
	set : function(name, from){
		var name = name,
			from = from||null,
			fromDelay = -1,
			time = this.getTime(),
			startDelay = (time-this.lists[0].time),					// 최초에서 현재까지
			delay = (time-this.lists[this.lists.length-1].time);	// 이전구간 time

		// 특정 구간정보가 있을 경우
		if(from){
			$.each(this.lists, function(){
				var $this = this;
				if( $this.name == from ){
					fromDelay = time-$this.time;
					return true;
				}
			});
		}
		this.lists.push( {
			name: name,
			time: time,
			startDelay : startDelay,
			delay : delay,
			from : { 
				name : from,
				fromDelay: fromDelay
			}
		});
	},
	get : function(from, to){
		var from = from||null,
			to = to||null;
		
		$.each(this.lists, function(){
			var $this = $(this);
			if( $this.name == from ) from = $this.time;
			if( $this.to == to ) to = $this.time;
			if( typeof(from)=='number' && typeof(to) == 'number' ) return true;
		});
				
		return to-from;
	}
};



사용법은 profile.set('profile');
결과는 콘솔에서 profile 을 직접 봐야한다. 이런 불 친절한.. ^^;;;


js window.performance 

반응형

'lang > js' 카테고리의 다른 글

IE7 javascript debug  (0) 2013.03.19
10 Javascript Performance Boosting Tips from Nicholas Zakas  (0) 2013.03.12
JSLint  (0) 2012.03.12
tag cloud 태그 구름 for jquery  (0) 2010.11.04
javascript parse url  (0) 2010.11.01