<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://bugs.maemo.com/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://bugs.maemo.com/index.php?action=history&amp;feed=atom&amp;title=Documentation%2Fdevtools%2Fmaemo5%2Fsp-endurance</id>
		<title>Documentation/devtools/maemo5/sp-endurance - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://bugs.maemo.com/index.php?action=history&amp;feed=atom&amp;title=Documentation%2Fdevtools%2Fmaemo5%2Fsp-endurance"/>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;action=history"/>
		<updated>2026-04-09T05:13:41Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.15.5-7</generator>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=30990&amp;oldid=prev</id>
		<title>amigadave:&amp;#32;devtools template</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=30990&amp;oldid=prev"/>
				<updated>2010-03-11T15:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;devtools template&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:18, 11 March 2010&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Devtools}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 95:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 98:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]], [[Documentation/devtools/maemo5/syslog|syslog]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]], [[Documentation/devtools/maemo5/syslog|syslog]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Devtools]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Fremantle]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Fremantle]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-09 05:13:41 --&gt;
&lt;/table&gt;</summary>
		<author><name>amigadave</name></author>	</entry>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=29272&amp;oldid=prev</id>
		<title>amigadave:&amp;#32;Category:Devtools and Category:Fremantle</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=29272&amp;oldid=prev"/>
				<updated>2010-02-12T11:19:08Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/Category:Devtools&quot; title=&quot;Category:Devtools&quot;&gt;Category:Devtools&lt;/a&gt; and &lt;a href=&quot;/Category:Fremantle&quot; title=&quot;Category:Fremantle&quot;&gt;Category:Fremantle&lt;/a&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:19, 12 February 2010&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]], [[Documentation/devtools/maemo5/syslog|syslog]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]], [[Documentation/devtools/maemo5/syslog|syslog]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Devtools]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Fremantle]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-09 05:13:41 --&gt;
&lt;/table&gt;</summary>
		<author><name>amigadave</name></author>	</entry>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=19054&amp;oldid=prev</id>
		<title>kaltsi:&amp;#32;New page: == Description ==  sp-endurance provides tools to save various system endurance related information (resource usage, errors) on device.  Provided tools include:   * binaries for saving /pr...</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Documentation/devtools/maemo5/sp-endurance&amp;diff=19054&amp;oldid=prev"/>
				<updated>2009-10-01T06:46:08Z</updated>
		
		<summary type="html">&lt;p&gt;New page: == Description ==  sp-endurance provides tools to save various system endurance related information (resource usage, errors) on device.  Provided tools include:   * binaries for saving /pr...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
sp-endurance provides tools to save various system endurance related information (resource usage, errors) on device.&lt;br /&gt;
&lt;br /&gt;
Provided tools include: &lt;br /&gt;
&lt;br /&gt;
* binaries for saving /proc and X client resource usage as CSV&lt;br /&gt;
&lt;br /&gt;
* a script for saving these along with syslog, SMAPS data, df and ifconfig output etc.&lt;br /&gt;
&lt;br /&gt;
* a script for getting quick system memory usage change overview from the endurance data&lt;br /&gt;
&lt;br /&gt;
The endurance data can be used for detecting and measuring resource leakage and application errors.&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
&lt;br /&gt;
'''source''': sp-endurance&lt;br /&gt;
&lt;br /&gt;
'''binary''': sp-endurance&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Because resource leakage detection requires repeating the given use-cases many times, it's best to automate the running of the test-cases. Both before the first and after each additional test-case run the following can be done:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# save-incremental-endurance-stats use-case-name&lt;br /&gt;
# cat /dev/null &amp;gt; /var/log/syslog&lt;br /&gt;
# cat /dev/null &amp;gt; /var/log/syslog.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a directory called use-case-name (if it doesn't exist) and add on each invocation a new subdirectory with the current endurance data. The subdirectories are named 101, 102 and so on.&lt;br /&gt;
&lt;br /&gt;
Syslogs can be large and they are included into the endurance data so it's best to clear syslog(s) (as indicated above) after the endurance data is stored. Otherwise storing the data can take quite a long time and potentially consume huge amounts of disk space.&lt;br /&gt;
&lt;br /&gt;
Note: If you run this in the device over ssh instead of from console, you might not have DISPLAY set correctly and then xmeminfo complains that it cannot connect to X server. In that case, just enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# export DISPLAY=:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
before starting your testing. &lt;br /&gt;
&lt;br /&gt;
=== Emphasizing leakage ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it is not clear from the endurance data whether there's a memory leak or not. Increasing the number of test-case runs helps, but getting more measurements doesn't necessarily make it easier to see the leakage. In this case it is best to emphasize the leakage by increasing the number of test-case repeats between measurements exponentially, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
measurements=5&lt;br /&gt;
repeats=1&lt;br /&gt;
for round in $(seq $measurements); do&lt;br /&gt;
        echo &amp;quot;round $round:&amp;quot;&lt;br /&gt;
        # repeat the test-case round^2 times&lt;br /&gt;
        for repeat in $(seq $repeats); do&lt;br /&gt;
                echo -n &amp;quot; $repeat&amp;quot;&lt;br /&gt;
                # RUN THE TEST-CASE HERE&lt;br /&gt;
        done&lt;br /&gt;
        repeats=$(($repeats+$repeats))&lt;br /&gt;
        save-incremental-endurance-stats use-case-name&lt;br /&gt;
        cat /dev/null &amp;gt;/var/log/syslog&lt;br /&gt;
        cat /dev/null &amp;gt;/var/log/syslog.old&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
&lt;br /&gt;
After the tests have been completed, the stored endurance data can then be transferred to PC for post-processing with [[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]].&lt;br /&gt;
&lt;br /&gt;
Note that the post-processing tools create the error and resource leakage summary from the differences between 2nd and last measurement. They assume that:&lt;br /&gt;
&lt;br /&gt;
* the first measurement is &amp;quot;initial state&amp;quot; i.e. the system and application are still in a state where things needed by the test-case are not yet initialized&lt;br /&gt;
&lt;br /&gt;
* processes involved in the test-case haven't been terminated before the last measurement. If the process doesn't exist anymore in the last measurement, there's nothing to differentiate&lt;br /&gt;
&lt;br /&gt;
On the device a rough system memory overview of the endurance data can be obtained with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# endurance-mem-overview use-case-name/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
Man pages:&lt;br /&gt;
&lt;br /&gt;
[endurance-mem-overview](/development/documentation/man_pages/endurance-mem-overview.html)&lt;br /&gt;
&lt;br /&gt;
[proc2csv](/development/documentation/man_pages/proc2csv.html)&lt;br /&gt;
&lt;br /&gt;
[save-incremental-endurance-stats](/development/documentation/man_pages/save-incremental-endurance-stats.html)&lt;br /&gt;
&lt;br /&gt;
[xmeminfo](/development/documentation/man_pages/xmeminfo.html)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
[[Documentation/devtools/maemo5/sp-endurance-postproc|sp-endurance-postproc]], [[Documentation/devtools/maemo5/syslog|syslog]]&lt;/div&gt;</summary>
		<author><name>kaltsi</name></author>	</entry>

	</feed>