[gnome-talos] Split meta section into "system" and "gpu", add report graphs for GPU data
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-talos] Split meta section into "system" and "gpu", add report graphs for GPU data
- Date: Mon, 26 Sep 2011 22:30:08 +0000 (UTC)
commit 8e6e240e1d6ee6b86f18cfd100654da3d5836974
Author: Colin Walters <walters verbum org>
Date: Mon Sep 26 18:15:58 2011 -0400
Split meta section into "system" and "gpu", add report graphs for GPU data
src/gnome-talos.c | 19 ++++++++++++++-----
src/report.html | 48 +++++++++++++++++++++++++++++++++++++++---------
2 files changed, 53 insertions(+), 14 deletions(-)
---
diff --git a/src/gnome-talos.c b/src/gnome-talos.c
index 656dc2d..2851063 100644
--- a/src/gnome-talos.c
+++ b/src/gnome-talos.c
@@ -164,6 +164,8 @@ static void
run_collection (GnomeTalosApp *app)
{
GError *error = NULL;
+ GVariantBuilder builder;
+ GVariant *meta;
GVariant *sysinfo;
GVariant *gpu_meta;
@@ -184,17 +186,24 @@ run_collection (GnomeTalosApp *app)
"[", 1, NULL, NULL, &error))
fatal_gerror (&error);
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
+
sysinfo = gnome_talos_acquire_meta ();
- if (!write_variant (sysinfo, NULL, (GOutputStream*)app->out, &error))
- fatal_gerror (&error);
- g_variant_unref (sysinfo);
+ g_variant_builder_add (&builder, "{sv}",
+ "system",
+ sysinfo);
gpu_meta = gnome_talos_acquire_gpu_meta (&error);
if (!gpu_meta)
fatal_gerror (&error);
- if (!write_variant (gpu_meta, NULL, (GOutputStream*)app->out, &error))
+ g_variant_builder_add (&builder, "{sv}",
+ "gpu",
+ gpu_meta);
+
+ meta = g_variant_builder_end (&builder);
+ if (!write_variant (meta, NULL, (GOutputStream*)app->out, &error))
fatal_gerror (&error);
- g_variant_unref (gpu_meta);
+ g_variant_unref (meta);
if (!g_output_stream_write_all ((GOutputStream*)app->out,
",\n", 2, NULL, NULL, &error))
diff --git a/src/report.html b/src/report.html
index efa1c63..749bf97 100644
--- a/src/report.html
+++ b/src/report.html
@@ -47,31 +47,61 @@
return [system, user, self];
}
-
- $(document).ready(function () {
- $("#system-uuid")[0].appendChild(document.createTextNode(data[0].uuid));
- $("#system-ram")[0].appendChild(document.createTextNode(data[0].memtotal));
+ function initRSSGraph() {
var systemRSS = [];
var userRSS = [];
var selfRSS = [];
for (var i = 1; i < data.length; i++) {
var rssData = getRSSForSnapshot(data[i]);
- systemRSS.push([i, rssData[0]]);
- userRSS.push([i, rssData[1]]);
- selfRSS.push([i, rssData[2]]);
+ systemRSS.push([i-1, rssData[0]]);
+ userRSS.push([i-1, rssData[1]]);
+ selfRSS.push([i-1, rssData[2]]);
+ }
+ $.plot($("#rss-graph"), [ { label: 'System RSS', data: systemRSS }, { label: 'User RSS', data: userRSS },
+ { label: 'Talos RSS', data: selfRSS } ]);
+ }
+
+ function initGPUGraph() {
+ var gemObjects = [];
+ var gemBytes = [];
+
+ for (var i = 1; i < data.length; i++) {
+ var meta = data[i][0];
+ var snapshot = data[i][1];
+ var i915snapshot = snapshot.gpu.i915;
+ gemObjects.push([i-1, i915snapshot['gem-object-count']]);
+ gemBytes.push([i-1, i915snapshot['gem-object-bytes']]);
}
- $.plot($("#rss-graph"), [ { label: 'System RSS', data: systemRSS }, { label: 'User RSS', data: userRSS },
- { label: 'Talos RSS', data: selfRSS } ]);
+
+ $.plot($("#gpu-gem-objects"),
+ [ { label: 'GEM Objects', data: gemObjects } ]);
+ $.plot($("#gpu-gem-bytes"),
+ [ { label: 'GEM Bytes', data: gemBytes } ]);
+ }
+
+ $(document).ready(function () {
+ $("#system-uuid")[0].appendChild(document.createTextNode(data[0].system.uuid));
+ $("#system-ram")[0].appendChild(document.createTextNode(data[0].system.memtotal));
+ $("#version")[0].appendChild(document.createTextNode(data[0].system.version));
+
+ initRSSGraph();
+ initGPUGraph();
});
</script>
</head>
<body>
<h1>Report for @SRC_FILE@:</h1>
+ <p><tt>Talos version: <span id="version"></span></tt></p>
<p><tt>System UUID: <span id="system-uuid"></span></tt></p>
<p><tt>System Total RAM: <span id="system-ram"></span></tt></p>
<h3>RSS</h3>
<div id="rss-graph" style="width:800px;height:500px;"></div>
+ <h3>GEM Objects</h3>
+ <div id="gpu-gem-objects" style="width:800px;height:500px;"></div>
+ <h3>GEM Bytes</h3>
+ <div id="gpu-gem-bytes" style="width:800px;height:500px;"></div>
+ </body>
</body>
</html>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]