<?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>162231</bug_id>
          
          <creation_ts>2016-09-19 13:51:31 -0700</creation_ts>
          <short_desc>Web Inspector: [Meta] Visualize code hotness using execution duration data from Timelines</short_desc>
          <delta_ts>2016-12-16 11:20: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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</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>163344</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">nvasilyev</reporter>
          <assigned_to name="Nikita Vasilyev">nvasilyev</assigned_to>
          <cc>bburg</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1231300</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2016-09-19 13:51:31 -0700</bug_when>
    <thetext>This is similar to &quot;Bug 146115: Web Inspector: [Meta] Visualize code hotness using basic block execution counts&quot;,
with exception of code being highlighted based a basic block execution *duration*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231303</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-09-19 13:51:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/28370977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234144</commentid>
    <comment_count>2</comment_count>
      <attachid>290027</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2016-09-27 17:05:46 -0700</bug_when>
    <thetext>Created attachment 290027
WIP

This is a very early stage WIP. All method names are likely to change. I&apos;m trying to gauge how useful a heatmap visualization is (say, as opposed to &quot;perf gutter&quot; in Chrome DevTools).

How to see the heatmap:
1. Record a Timeline.
2. Open a JS resource (that has function calls captured in the timeline recording).

Once timeline is recorded, there&apos;s currently no way to hide the heatmap.
I&apos;ll add a button before to the resource toolbar (before the [T] icon) to hide the heatmap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260662</commentid>
    <comment_count>3</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-16 11:20:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/12869714&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290027</attachid>
            <date>2016-09-27 17:05:46 -0700</date>
            <delta_ts>2016-09-27 17:05:46 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>WIP.txt</filename>
            <type>text/plain</type>
            <size>5377</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9D
YWxsaW5nQ29udGV4dFRyZWVOb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0NhbGxpbmdDb250ZXh0VHJlZU5vZGUuanMKaW5kZXggZGI4MTY1Ni4uZmYw
NWZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0NhbGxpbmdDb250ZXh0VHJlZU5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbGxpbmdDb250ZXh0VHJlZU5vZGUuanMKQEAgLTYzLDYg
KzYzLDE2IEBAIFdlYkluc3BlY3Rvci5DYWxsaW5nQ29udGV4dFRyZWVOb2RlID0gY2xhc3MgQ2Fs
bGluZ0NvbnRleHRUcmVlTm9kZSBleHRlbmRzIFdlYkluCiAgICAgZ2V0IHVybCgpIHsgcmV0dXJu
IHRoaXMuX3VybDsgfQogICAgIGdldCBoYXNoKCkgeyByZXR1cm4gdGhpcy5faGFzaDsgfQogCisg
ICAgZ2V0IHRvdGFsRHVyYXRpb24oKQorICAgIHsKKyAgICAgICAgbGV0IHRvdGFsID0gMDsKKyAg
ICAgICAgbGV0IGkgPSB0aGlzLl9kdXJhdGlvbnMubGVuZ3RoOworICAgICAgICB3aGlsZSAoaS0t
KQorICAgICAgICAgICAgdG90YWwgKz0gdGhpcy5fZHVyYXRpb25zW2ldOworCisgICAgICAgIHJl
dHVybiB0b3RhbDsKKyAgICB9CisKICAgICBoYXNDaGlsZHJlbkluVGltZVJhbmdlKHN0YXJ0VGlt
ZSwgZW5kVGltZSkKICAgICB7CiAgICAgICAgIGZvciAobGV0IHByb3BlcnR5TmFtZSBvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLl9jaGlsZHJlbikpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRTeW50YXhUcmVl
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFN5
bnRheFRyZWUuanMKaW5kZXggZTI2NmE2OC4uYjQ1YzQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFN5bnRheFRyZWUuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFN5bnRh
eFRyZWUuanMKQEAgLTUxLDYgKzUxLDIxIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRTeW50YXhUcmVl
ID0gY2xhc3MgU2NyaXB0U3ludGF4VHJlZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAgICAg
ICAgIHJldHVybiB0aGlzLl9wYXJzZWRTdWNjZXNzZnVsbHk7CiAgICAgfQogCisgICAgZmluZFRv
a2VuQXRPZmZzZXQob2Zmc2V0KQorICAgIHsKKyAgICAgICAgbGV0IGJvZHkgPSB0aGlzLl9zeW50
YXhUcmVlLmJvZHk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm9keS5sZW5ndGg7IGkr
KykgeworICAgICAgICAgICAgbGV0IHRva2VuID0gYm9keVtpXTsKKyAgICAgICAgICAgIGxldCBy
YW5nZSA9IHRva2VuLnJhbmdlOworICAgICAgICAgICAgaWYgKG9mZnNldCA8IHJhbmdlWzBdIHx8
IG9mZnNldCA+IHJhbmdlWzFdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
ICAgICByZXR1cm4gdG9rZW47CisgICAgICAgIH0KKyAgICAgICAgY29uc29sZS5lcnJvcigiQ291
bGQgbm90IGZpbmQgYSB0b2tlbiBmb3Igb2Zmc2V0ICVpIiwgb2Zmc2V0KTsKKyAgICAgICAgcmV0
dXJuIG51bGw7CisgICAgfQorCiAgICAgZm9yRWFjaE5vZGUoY2FsbGJhY2spCiAgICAgewogICAg
ICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9wYXJzZWRTdWNjZXNzZnVsbHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
b3VyY2VDb2RlVGV4dEVkaXRvci5qcwppbmRleCA4NTU3Mjc1Li4wODE2OTIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4
dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpAQCAtMTE3LDYgKzExNyw2MiBAQCBXZWJJbnNwZWN0
b3IuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRl
bmRzIFdlYkluc3BlYwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhpcy5fYmFzaWNC
bG9ja0Fubm90YXRvckVuYWJsZWQgPSBmYWxzZTsKICAgICAgICAgfQorCisgICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyICYmIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFn
ZXIuYWN0aXZlUmVjb3JkaW5nKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogQ3JlYXRlIGEgY2xh
c3Mgc2ltaWxhciB0byBCYXNpY0Jsb2NrQW5ub3RhdG9yLgorICAgICAgICAgICAgbGV0IHNjcmlw
dCA9IHRoaXMuX2dldEFzc29jaWF0ZWRTY3JpcHQoKTsKKworICAgICAgICAgICAgaWYgKCFzY3Jp
cHQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBzY3JpcHQucmVxdWVz
dFNjcmlwdFN5bnRheFRyZWUoKGFzdCkgPT4geworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBP
bmx5IGhpZ2hsaWdodCByYW5nZXMgdGhhdCBhcmUgaW4gdGhlIHZpZXdwb3J0LgorCisgICAgICAg
ICAgICAgICAgbGV0IG5vZGVzID0gW107CisKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
dGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZy5ib3R0b21VcENhbGxpbmdDb250ZXh0VHJl
ZS5mb3JFYWNoTm9kZSgobm9kZSkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS51
cmwgIT09IHRoaXMuc291cmNlQ29kZS51cmwpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgICAgICAgICAgbGV0IG9mZnNldCA9IHRoaXMuY3VycmVudFBvc2l0
aW9uVG9DdXJyZW50T2Zmc2V0KHtsaW5lOiBub2RlLmxpbmUsIGNoOiBub2RlLmNvbHVtbn0pOwor
ICAgICAgICAgICAgICAgICAgICBsZXQgdG9rZW4gPSBhc3QuZmluZFRva2VuQXRPZmZzZXQob2Zm
c2V0KTsKKworICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBDdXJyZW50bHksIG9ubHkgZnVuY3Rpb24gc2NvcGUgcmFuZ2Vz
IGFyZSBpbmNsdWRlZC4gVXNlIF9leHByZXNzaW9uTG9jYXRpb25zLCB0b28uCisgICAgICAgICAg
ICAgICAgICAgICAgICBsZXQgc3RhcnRQb3NpdGlvbiA9IHRoaXMuY3VycmVudE9mZnNldFRvQ3Vy
cmVudFBvc2l0aW9uKHRva2VuLnJhbmdlWzBdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxl
dCBlbmRQb3NpdGlvbiA9IHRoaXMuY3VycmVudE9mZnNldFRvQ3VycmVudFBvc2l0aW9uKHRva2Vu
LnJhbmdlWzFdKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMgY3VycmVu
dGx5IG5vIGluZGljYXRpb24gb2YgaG93IG1hbnkgc2FtcGxlcyB3ZXJlIHRha2VuLgorICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB0ZW4gMC4xcyBzYW1wbGVzIGxvb2sg
ZXhhY3RseSB0aGUgc2FtZSBhcyBvbmUgMXMgc2FtcGxlLgorICAgICAgICAgICAgICAgICAgICAg
ICAgbGV0IHRvdGFsRHVyYXRpb24gPSBub2RlLnRvdGFsRHVyYXRpb247CisKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBIaWdobGlnaHQgY29sb3Igc2hvdWxkIGJlIHJlbGF0aXZl
IHRvIHRoZSBzbG93ZXN0IGV4cHJlc3Npb24gaW4gdGhlIHNlbGVjdGVkIHJlc291cmNlIGFuZCBu
b3QgdGhpcyBtYWdpYyBudW1iZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtIEdldCBm
bGF0IGxpc3Qgb2Ygbm9kZXMgZm9yIHNlbGVjdGVkIHJlc291cmNlLgorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLSBGaW5kIHNsb3dlc3QuCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAt
IE1ha2UgZ3JhZGllbnQgcmVsYXRpdmUgdG8gdGhlIHNsb3dlc3QuCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzbG93ZXN0RXhwcmVzc2lvbiA9IDEwMDsKKworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IEV4cGVyaW1lbnQgd2l0aCB1c2luZyBhIGxvZ2FyaXRobWljIGZ1
bmN0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNzc0NvbG9yVmFsdWUgPSB0aGlz
Ll9oaWdobGlnaHRDb2xvcihNYXRoLm1pbih0b3RhbER1cmF0aW9uLCBzbG93ZXN0RXhwcmVzc2lv
bikgLyBzbG93ZXN0RXhwcmVzc2lvbik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2NvZGVNaXJyb3IuZ2V0RG9jKCkubWFya1RleHQoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24s
IHtjc3M6ICJiYWNrZ3JvdW5kOiAiICsgY3NzQ29sb3JWYWx1ZSwgaW5jbHVzaXZlTGVmdDogdHJ1
ZSwgaW5jbHVzaXZlUmlnaHQ6IHRydWV9KQorCisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICBub2Rlcy5wdXNoKG5vZGUpOworICAgICAgICAgICAgICAgIH0pOwor
CisgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCJOb2RlcyIsIG5vZGVzKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9CisgICAgfQorCisgICAgX2hpZ2hsaWdodENvbG9yKHZhbHVlKQor
ICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFVzZSBMY2ggY29sb3Igc2NoZW1lIHRvIGdlbmVyYXRl
IG1vcmUgaHVtYW4gZnJpZW5kbHkgZ3JhZGllbnRzLgorICAgICAgICBsZXQgaHVlID0gNTQgLSA0
OCAqIHZhbHVlOworICAgICAgICBsZXQgbGlnaHRuZXNzID0gOTUgLSAyMCAqIHZhbHVlOworICAg
ICAgICByZXR1cm4gYGhzbCgke2h1ZX0sIDEwMCUsICR7bGlnaHRuZXNzfSUpYDsKICAgICB9CiAK
ICAgICBoaWRkZW4oKQpAQCAtMTgxMiw2ICsxODY4LDExIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV2ViSW5z
cGVjCiAgICAgICAgIHRoaXMuX2Jhc2ljQmxvY2tBbm5vdGF0b3IgPSBuZXcgV2ViSW5zcGVjdG9y
LkJhc2ljQmxvY2tBbm5vdGF0b3IodGhpcywgc2NyaXB0KTsKICAgICB9CiAKKyAgICBfY3JlYXRl
Q29kZUhvdG5lc3NBbm5vdGF0b3IoKQorICAgIHsKKyAgICAgICAgLy8gRklYTUUKKyAgICB9CisK
ICAgICBfZW5hYmxlU2Nyb2xsRXZlbnRzRm9yVHlwZVRva2VuQW5ub3RhdG9yKCkKICAgICB7CiAg
ICAgICAgIC8vIFBhdXNlIHVwZGF0aW5nIHR5cGUgdG9rZW5zIHdoaWxlIHNjcm9sbGluZyB0byBw
cmV2ZW50IGZyYW1lIGxvc3MuCg==
</data>
<flag name="review"
          id="313227"
          type_id="1"
          status="-"
          setter="nvasilyev"
    />
    <flag name="commit-queue"
          id="313228"
          type_id="3"
          status="-"
          setter="nvasilyev"
    />
          </attachment>
      

    </bug>

</bugzilla>