/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.os.health;

Keys for HealthStats returned from HealthStats.getStats(int) with the UidHealthStats.STATS_PIDS key.

The values coming from PidHealthStats are a little bit different from the other HealthStats values. These values are not aggregate or historical values, but instead live values from when the snapshot is taken. These tend to be more useful in debugging rogue processes than in gathering aggregate metrics across the fleet of devices.

/** * Keys for {@link HealthStats} returned from * {@link HealthStats#getStats(int) HealthStats.getStats(int)} with the * {@link UidHealthStats#STATS_PIDS UidHealthStats.STATS_PIDS} key. * <p> * The values coming from PidHealthStats are a little bit different from * the other HealthStats values. These values are not aggregate or historical * values, but instead live values from when the snapshot is taken. These * tend to be more useful in debugging rogue processes than in gathering * aggregate metrics across the fleet of devices. */
public final class PidHealthStats { private PidHealthStats() { }
Key for a measurement of the current nesting depth of wakelocks for this process. That is to say, the number of times a nested wakelock has been started but not stopped. A high number here indicates an improperly paired wakelock acquire/release combination.

More details on the individual wake locks is available by getting the UidHealthStats.TIMERS_WAKELOCKS_FULL, UidHealthStats.TIMERS_WAKELOCKS_PARTIAL, UidHealthStats.TIMERS_WAKELOCKS_WINDOW and UidHealthStats.TIMERS_WAKELOCKS_DRAW keys.

/** * Key for a measurement of the current nesting depth of wakelocks for this process. * That is to say, the number of times a nested wakelock has been started but not * stopped. A high number here indicates an improperly paired wakelock acquire/release * combination. * <p> * More details on the individual wake locks is available * by getting the {@link UidHealthStats#TIMERS_WAKELOCKS_FULL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_PARTIAL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_WINDOW} * and {@link UidHealthStats#TIMERS_WAKELOCKS_DRAW} keys. */
@HealthKeys.Constant(type=HealthKeys.TYPE_MEASUREMENT) public static final int MEASUREMENT_WAKE_NESTING_COUNT = HealthKeys.BASE_PID + 1;
Key for a measurement of the total number of milleseconds that this process has held a wake lock.

More details on the individual wake locks is available by getting the UidHealthStats.TIMERS_WAKELOCKS_FULL, UidHealthStats.TIMERS_WAKELOCKS_PARTIAL, UidHealthStats.TIMERS_WAKELOCKS_WINDOW and UidHealthStats.TIMERS_WAKELOCKS_DRAW keys.

/** * Key for a measurement of the total number of milleseconds that this process * has held a wake lock. * <p> * More details on the individual wake locks is available * by getting the {@link UidHealthStats#TIMERS_WAKELOCKS_FULL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_PARTIAL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_WINDOW} * and {@link UidHealthStats#TIMERS_WAKELOCKS_DRAW} keys. */
@HealthKeys.Constant(type=HealthKeys.TYPE_MEASUREMENT) public static final int MEASUREMENT_WAKE_SUM_MS = HealthKeys.BASE_PID + 2;
Key for a measurement of the time in the SystemClock.elapsedRealtime timebase that a wakelock was first acquired in this process.

More details on the individual wake locks is available by getting the UidHealthStats.TIMERS_WAKELOCKS_FULL, UidHealthStats.TIMERS_WAKELOCKS_PARTIAL, UidHealthStats.TIMERS_WAKELOCKS_WINDOW and UidHealthStats.TIMERS_WAKELOCKS_DRAW keys.

/** * Key for a measurement of the time in the {@link android.os.SystemClock#elapsedRealtime} * timebase that a wakelock was first acquired in this process. * <p> * More details on the individual wake locks is available * by getting the {@link UidHealthStats#TIMERS_WAKELOCKS_FULL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_PARTIAL}, * {@link UidHealthStats#TIMERS_WAKELOCKS_WINDOW} * and {@link UidHealthStats#TIMERS_WAKELOCKS_DRAW} keys. */
@HealthKeys.Constant(type=HealthKeys.TYPE_MEASUREMENT) public static final int MEASUREMENT_WAKE_START_MS = HealthKeys.BASE_PID + 3;
@hide
/** * @hide */
public static final HealthKeys.Constants CONSTANTS = new HealthKeys.Constants(PidHealthStats.class); }