 				timeVector[token] = IGNORE; 
 			return;
 		}
+        
+        if (idObject)
+        {
+            if (idObject is DisplayObject)
+                name = (idObject as DisplayObject).name + name;
+            else
+                name = idObject.toString() + name;
+        }
 		
 		idVector[token] = name; // Fix the start id
 		idVector.push(name);

	 *  @param tolerance Tolerance in miliseconds. If the event took less than the tolerance,
	 *  it will be omitted from the log.
	 */
	public function markEnd(name:String, token:int, tolerance:int = 0):void
	{
		if (startSamplingCount <= 0 || token < 0 )
			return;

package mx.utils
{
import flash.display.DisplayObject;
import flash.utils.getTimer;

import mx.core.UIComponent;

CONFIG::performanceInstrumentation
public final class PerfUtil
