mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
sysprof: filter the callgraph by the selected time span
This ensures the callgraph code has fewer items to look at. The first level of filtering is done by the SysprofDocument bitset index for items matching the type (via SysprofDocumentBitsetIndex). Then the new SysprofTimeFilterModel filters the frames by time-span by binary searching for the first and last indexes which match that time span, avoiding the pathological case of linear search for the spans (which would inflate a GObject for every element).
This commit is contained in:
@ -88,13 +88,22 @@
|
||||
<lookup name="session">SysprofSamplesSection</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="model">
|
||||
<lookup name="samples" type="SysprofDocument">
|
||||
<lookup name="document" type="SysprofSession">
|
||||
<lookup name="session">SysprofSamplesSection</lookup>
|
||||
</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<property name="model">
|
||||
<object class="SysprofTimeFilterModel">
|
||||
<binding name="time-span">
|
||||
<lookup name="selected-time" type="SysprofSession">
|
||||
<lookup name="session">SysprofSamplesSection</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="model">
|
||||
<lookup name="samples" type="SysprofDocument">
|
||||
<lookup name="document" type="SysprofSession">
|
||||
<lookup name="session">SysprofSamplesSection</lookup>
|
||||
</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
Reference in New Issue
Block a user