1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Shows an updating list of process statistics.
7 chrome.processes.onUpdatedWithMemory.addListener(
9 var table = "<table>\n" +
10 "<tr><td><b>Process</b></td>" +
16 "<td>Private Memory</td>" +
18 "<td>JS Memory</td>" +
21 for (pid in processes) {
22 table = displayProcessInfo(processes[pid], table);
24 table += "</table>\n";
25 var div = document.getElementById("process-list");
26 div.innerHTML = table;
29 document.getElementById("killProcess").onclick = function () {
30 var procId = parseInt(prompt("Enter process ID"));
31 chrome.processes.terminate(procId);
35 function displayProcessInfo(process, table) {
36 // Format network string like task manager
37 var network = process.network;
39 network = (network / 1024).toFixed(1) + " kB/s";
40 } else if (network > 0) {
42 } else if (network == -1) {
47 "<tr><td>" + process.id + "</td>" +
48 "<td>" + process.osProcessId + "</td>" +
49 "<td>" + process.type + "</td>" +
50 "<td>" + process.tabs + "</td>" +
51 "<td>" + process.cpu + "</td>" +
52 "<td>" + network + "</td>";
54 if ("privateMemory" in process) {
55 table += "<td>" + (process.privateMemory / 1024) + "K</td>";
57 table += "<td>N/A</td>";
59 if ("fps" in process) {
60 table += "<td>" + process.fps.toFixed(2) + "</td>";
62 table += "<td>N/A</td>";
65 if ("jsMemoryAllocated" in process) {
66 var allocated = process.jsMemoryAllocated / 1024;
67 var used = process.jsMemoryUsed / 1024;
68 table += "<td>" + allocated.toFixed(2) + "K (" + used.toFixed(2) +
71 table += "<td>N/A</td>";
80 document.addEventListener('DOMContentLoaded', init);