| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Use the <code>system.cpu</code> API to query CPU metadata. |
| namespace system.cpu { |
| |
| // Counters for assessing CPU utilization. Each field is monotonically |
| // increasing while the processor is powered on. Values are in milliseconds. |
| dictionary CpuTime { |
| // The cumulative time used by userspace programs on this processor. |
| double user; |
| |
| // The cumulative time used by kernel programs on this processor. |
| double kernel; |
| |
| // The cumulative time spent idle by this processor. |
| double idle; |
| |
| // The total cumulative time for this processor. This value is equal to |
| // user + kernel + idle. |
| double total; |
| }; |
| |
| dictionary ProcessorInfo { |
| // Cumulative usage info for this logical processor. |
| CpuTime usage; |
| }; |
| |
| dictionary CpuInfo { |
| // The number of logical processors. |
| long numOfProcessors; |
| |
| // The architecture name of the processors. |
| DOMString archName; |
| |
| // The model name of the processors. |
| DOMString modelName; |
| |
| // A set of feature codes indicating some of the processor's capabilities. |
| // The currently supported codes are "mmx", "sse", "sse2", "sse3", "ssse3", |
| // "sse4_1", "sse4_2", and "avx". |
| DOMString[] features; |
| |
| // Information about each logical processor. |
| ProcessorInfo[] processors; |
| |
| // List of CPU temperature readings from each thermal zone of the CPU. |
| // Temperatures are in degrees Celsius. |
| // |
| // <b>Currently supported on Chrome OS only.</b> |
| double[] temperatures; |
| }; |
| |
| callback CpuInfoCallback = void (CpuInfo info); |
| |
| interface Functions { |
| // Queries basic CPU information of the system. |
| static void getInfo(CpuInfoCallback callback); |
| }; |
| }; |