// 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 system.cpu 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; }; callback CpuInfoCallback = void (CpuInfo info); interface Functions { // Queries basic CPU information of the system. static void getInfo(CpuInfoCallback callback); }; };