blob: 0d2a3f14fbb081c1ed59e282b48cac16796c88cf [file] [log] [blame]
/*
* 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 {@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.
* <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.
* <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 {@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
*/
public static final HealthKeys.Constants CONSTANTS = new HealthKeys.Constants(PidHealthStats.class);
}