sysprof: add CPU counters to cpu section

This commit is contained in:
Christian Hergert
2023-07-21 16:55:45 -07:00
parent 017e51cb62
commit 35b15b93d0
3 changed files with 212 additions and 1 deletions

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="SysprofChartLayerItem">
<property name="layer">
<object class="SysprofLineLayer" id="layer">
<property name="spline">true</property>
<property name="fill">true</property>
<binding name="x-axis">
<lookup name="selected-time-axis" type="SysprofSession">
<lookup name="session" type="SysprofChart">
<lookup name="chart">layer</lookup>
</lookup>
</lookup>
</binding>
<property name="y-axis">
<object class="SysprofValueAxis">
<property name="min-value">0</property>
<property name="max-value">100</property>
</object>
</property>
<property name="series">
<object class="SysprofXYSeries">
<property name="model">
<object class="SysprofTimeFilterModel">
<binding name="time-span">
<lookup name="selected-time" type="SysprofSession">
<lookup name="session" type="SysprofSessionModelItem">
<lookup name="item">SysprofChartLayerItem</lookup>
</lookup>
</lookup>
</binding>
<binding name="model">
<lookup name="item" type="SysprofSessionModelItem">
<lookup name="item">SysprofChartLayerItem</lookup>
</lookup>
</binding>
</object>
</property>
<property name="x-expression">
<lookup name="time" type="SysprofDocumentCounterValue"/>
</property>
<property name="y-expression">
<lookup name="value-double" type="SysprofDocumentCounterValue"/>
</property>
</object>
</property>
</object>
</property>
</template>
</interface>

View File

@ -168,7 +168,167 @@
<property name="child">
<object class="GtkScrolledWindow">
<child>
<object class="GtkListView">
<object class="GtkColumnView">
<property name="header-factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListHeader">
<property name="child">
<object class="GtkLabel">
<property name="xalign">0</property>
<property name="margin-start">12</property>
<binding name="label">
<lookup name="category" type="SysprofDocumentCounter">
<lookup name="item" type="SysprofSessionModelItem">
<lookup name="item">GtkListHeader</lookup>
</lookup>
</lookup>
</binding>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
<property name="model">
<object class="GtkNoSelection">
<property name="model">
<object class="GtkSortListModel">
<property name="sorter">
<object class="GtkStringSorter">
<property name="expression">
<lookup name="key" type="SysprofDocumentCounter">
<lookup name="item" type="SysprofSessionModelItem"/>
</lookup>
</property>
</object>
</property>
<property name="section-sorter">
<object class="GtkStringSorter">
<property name="expression">
<lookup name="category" type="SysprofDocumentCounter">
<lookup name="item" type="SysprofSessionModelItem"/>
</lookup>
</property>
</object>
</property>
<property name="model">
<object class="SysprofSessionModel">
<binding name="session">
<lookup name="session">SysprofCpuSection</lookup>
</binding>
<property name="model">
<object class="GtkFilterListModel">
<binding name="model">
<lookup name="counters" type="SysprofDocument">
<lookup name="document" type="SysprofSession">
<lookup name="session">SysprofCpuSection</lookup>
</lookup>
</lookup>
</binding>
<property name="filter">
<object class="GtkStringFilter">
<property name="match-mode">prefix</property>
<property name="search">CPU</property>
<property name="expression">
<lookup name="key" type="SysprofDocumentCounter"/>
</property>
</object>
</property>
</object>
</property>
</object>
</property>
</object>
</property>
</object>
</property>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Counter</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="child">
<object class="GtkBox">
<child>
<object class="GtkInscription">
<property name="xalign">1</property>
<property name="min-chars">20</property>
<property name="nat-chars">20</property>
<property name="text-overflow">ellipsize-end</property>
<binding name="tooltip-text">
<lookup name="description" type="SysprofDocumentCounter">
<lookup name="item" type="SysprofSessionModelItem">
<lookup name="item">GtkListItem</lookup>
</lookup>
</lookup>
</binding>
<binding name="text">
<lookup name="name" type="SysprofDocumentCounter">
<lookup name="item" type="SysprofSessionModelItem">
<lookup name="item">GtkListItem</lookup>
</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Values</property>
<property name="expand">true</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="child">
<object class="SysprofChart">
<binding name="session">
<lookup name="session" type="SysprofSessionModelItem">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
<property name="model">
<object class="SysprofSingleModel">
<binding name="item">
<lookup name="item">GtkListItem</lookup>
</binding>
</object>
</property>
<property name="factory">
<object class="SysprofChartLayerFactory">
<property name="resource">/org/gnome/sysprof/sysprof-cpu-section-counter.ui</property>
</object>
</property>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>

View File

@ -17,6 +17,7 @@
<file preprocess="xml-stripblanks">sysprof-callgraph-view.ui</file>
<file preprocess="xml-stripblanks">sysprof-counters-section.ui</file>
<file preprocess="xml-stripblanks">sysprof-cpu-section.ui</file>
<file preprocess="xml-stripblanks">sysprof-cpu-section-counter.ui</file>
<file preprocess="xml-stripblanks">sysprof-files-section.ui</file>
<file preprocess="xml-stripblanks">sysprof-frame-utility.ui</file>
<file preprocess="xml-stripblanks">sysprof-greeter.ui</file>