<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>30257</bug_id>
          
          <creation_ts>2009-10-09 12:31:46 -0700</creation_ts>
          <short_desc>Web Inspector: show DOM timers that are pending at a given point on the timeline</short_desc>
          <delta_ts>2026-01-12 09:01:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>30467</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>graouts</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jamesr</cc>
    
    <cc>jonowells</cc>
    
    <cc>mnaganov</cc>
    
    <cc>paulirish</cc>
    
    <cc>pmuellr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153732</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-09 12:31:46 -0700</bug_when>
    <thetext>It&apos;s much too hard to debug the common error of leaking timers, especially
setInterval() timers right now.  As a developer I want to be
able to click a button in the inspector and have it list out every pending
timer along with:

- whether it&apos;s a setTimeout or a setInterval
- the delay time specified and the clamped value
- how many times it has fired so far (for setIntervals)
- a timestamp and the JS stacktrace when it was set
- what code will be executed when it fires (either the specified string or
the contents of the specified function)

This would make debugging a few recent problems in google properties about
10,000,000x easier.

Upstreamed from Chromium&apos;s http://code.google.com/p/chromium/issues/detail?id=24389</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153745</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-09 13:15:40 -0700</bug_when>
    <thetext>Neat idea! I wonder where this could live in the UI?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153840</commentid>
    <comment_count>2</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-10-09 20:22:44 -0700</bug_when>
    <thetext>I agree, this sounds good.

Why not extend this to all events, not just timer-related?  As well as seeing the event listeners that have been set, it would be useful to see a time-line of the events being fired.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153848</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-09 23:04:53 -0700</bug_when>
    <thetext>As I understand it, this feature request is about memory leaks detection (retainers profile) and debugging indirections in the control flow. It is not about events time line in general. So I think we should keep the scope narrow.

The straightforward approach is to introduce a new profile type that allows taking snapshots of all pending timers. Snapshot will present all the information requested in this feature request. This is a very specific feature, but it seems there is a need in it. I see no other places in the UI to display detailed information about pending timers.

As we implement it, we will collect information about timers that would allow implementing following more general features as well:

- Show timers along with other registered event handlers in the retainers heap profiler as the roots.
- Glue original setTimeout&apos;s stack to the functions invoked on timer. No scope variables obviously, but the real control flow would be useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154111</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2009-10-12 11:15:21 -0700</bug_when>
    <thetext>The original motivation of this bug was a bug where setInterval() was being called without the corresponding clearInterval().  It&apos;s a bit baffling right now to try to figure out where the interval timers are coming from especially if it&apos;s a slow or difficult to reproduce leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620910</commentid>
    <comment_count>5</comment_count>
      <attachid>141242</attachid>
    <who name="Rob Colburn">robert.colburn+bugzilla</who>
    <bug_when>2012-05-10 13:41:06 -0700</bug_when>
    <thetext>Created attachment 141242
Current Script Panel - Controls Pane

Attachment shows that we can now break at all setTimeout/setInterval/clearTimeout/clearInterval.  Which helps the original problem.

Personally, I think that is still too noisy though.  I am not certain of the data structure we use for timers, I think of it as array of Timer objects and Interval objects with a few properties.

If it would be expensive to display these in the Scripts panel, it would be nice to be able to query that data:

console.getTimeouts()
[ *Timeout, *Timeout, *Timeout, *Timeout ]

console.getTimeouts()[1]
*Timeout
 ID: 1
 inited: &apos;05-12-2012 13:00:00&apos;
 delay: 200
 code: &apos;&apos;
 func: function(){}
 scope: *Object
 params: []


Actually, it would nice if that data was exposed to the browser JS too, but there might be security implications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056390</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-12-17 11:20:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/19281436&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>141242</attachid>
            <date>2012-05-10 13:41:06 -0700</date>
            <delta_ts>2012-05-10 13:41:06 -0700</delta_ts>
            <desc>Current Script Panel - Controls Pane</desc>
            <filename>2012-05-10_125517.png</filename>
            <type>image/png</type>
            <size>11579</size>
            <attacher name="Rob Colburn">robert.colburn+bugzilla</attacher>
            
              <data encoding="base64">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
SUVORK5CYII=
</data>

          </attachment>
      

    </bug>

</bugzilla>