diff options
author | Eric Rowe <erowe@google.com> | 2013-07-15 15:45:34 -0700 |
---|---|---|
committer | Eric Rowe <erowe@google.com> | 2013-07-15 15:58:51 -0700 |
commit | 5ed918efef79b6f00e89efdf06ccc7ec81f467e7 (patch) | |
tree | 5dbba611e8776c59f9511e7d5e864567a3008c5f /src/com/android/loganalysis/heuristic/IHeuristic.java | |
parent | 2109e00b8c0dd5b4a45b789a96c999818265be7c (diff) | |
download | loganalysis-5ed918efef79b6f00e89efdf06ccc7ec81f467e7.tar.gz |
Remove heuristics from loganalysis.
Heuristics were moved to the server side and out of the loganalysis
library.
Change-Id: I43d95cf20d44d2ebb40092a88f870a22cff15b53
Diffstat (limited to 'src/com/android/loganalysis/heuristic/IHeuristic.java')
-rw-r--r-- | src/com/android/loganalysis/heuristic/IHeuristic.java | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/src/com/android/loganalysis/heuristic/IHeuristic.java b/src/com/android/loganalysis/heuristic/IHeuristic.java deleted file mode 100644 index 3d8be15..0000000 --- a/src/com/android/loganalysis/heuristic/IHeuristic.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2013 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 com.android.loganalysis.heuristic; - -import com.android.loganalysis.item.BugreportItem; -import com.android.loganalysis.item.ConflictingItemException; -import com.android.loganalysis.item.DumpsysItem; -import com.android.loganalysis.item.IItem; -import com.android.loganalysis.item.KernelLogItem; -import com.android.loganalysis.item.LogcatItem; -import com.android.loganalysis.item.MemInfoItem; -import com.android.loganalysis.item.ProcrankItem; -import com.android.loganalysis.item.TopItem; - -import org.json.JSONObject; - -import java.util.Date; - -/** - * Interface for all heuristics used to determine if there are any problems in the logs. - * <p> - * Certain heuristics will care about different {@link IItem}s. For example, a heuristic looking - * for runtime restarts will look at the logcat and procrank but ignore the rest. It is recommended - * to use {@link AbstractHeuristic} and implement the methods to only add the {@link IItem}s that - * the heuristic cares about. - * </p><p> - * The {@code add()} methods are used to add {@link IItem}s which the heuristic cares about. When - * {@link #failed()} is called, it will only evaluate the {@link IItem}s which have been - * added. The same is true for {{@link #getSummary()} and {{@link #getDetails()}. - * </p> - */ -public interface IHeuristic { - - /** Constant for JSON output */ - public static final String TYPE = "TYPE"; - /** Constant for JSON output */ - public static final String NAME = "NAME"; - /** Constant for JSON output */ - public static final String STATUS = "STATUS"; - /** Constant for JSON output */ - public static final String PASSED = "PASSED"; - /** Constant for JSON output */ - public static final String FAILED = "FAILED"; - - /** - * Add a {@link BugreportItem} to be checked. - * - * @param bugreport The {@link BugreportItem}. - * @param timestamp The {@link Date} of the bugreport, may be {@code null}. - * @param uri The URI of the bugreport, may be {@code null}. - * @throws ConflictingItemException If the {@link BugreportItem} contains information which does - * not match previously added {@link BugreportItem}s. This should only occur if the bugreports - * did not come from the same run. For example, if there was a device restart or if the - * bugreports are from multiple devices. - */ - public void addBugreport(BugreportItem bugreport, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link LogcatItem} to be checked. - * - * @param logcat The {@link LogcatItem}. - * @param timestamp The {@link Date} of the logcat, may be {@code null}. - * @param uri The URI of the logcat, may be {@code null}. - * @throws ConflictingItemException If the {@link LogcatItem} contains information which does - * not match previously added {@link LogcatItem}s. This should only occur if the logcats did not - * come from the same run. For example, if there was a device restart or if logcats are from - * multiple devices. - */ - public void addLogcat(LogcatItem logcat, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link KernelLogItem} to be checked. - * - * @param kernelLog The {@link KernelLogItem}. - * @param timestamp The {@link Date} of the kernel log, may be {@code null}. - * @param uri The URI of the kernel log, may be {@code null}. - * @throws ConflictingItemException If the {@link KernelLogItem} contains information which does - * not match previously added {@link KernelLogItem}s. This should only occur if the kernel logs - * did not come from the same run. For example, if there was a device restart or if kernel logs - * come from multiple devices. - */ - public void addKernelLog(KernelLogItem kernelLog, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link MemInfoItem} to be checked. - * - * @param meminfo The {@link MemInfoItem}. - * @param timestamp The {@link Date} of the kernel log, may be {@code null}. - * @param uri The URI of the kernel log, may be {@code null}. - * @throws ConflictingItemException If the {@link MemInfoItem} contains information which does - * not match previously added {@link MemInfoItem}s. This should only occur if the mem info did - * not come from the same run. For example, if there was a device restart or if mem info came - * from multiple devices. - */ - public void addMemInfo(MemInfoItem meminfo, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link ProcrankItem} to be checked. - * - * @param procrank The {@link ProcrankItem}. - * @param timestamp The {@link Date} of the procrank output, may be {@code null}. - * @param uri The URI of the procrank output, may be {@code null}. - * @throws ConflictingItemException If the {@link ProcrankItem} contains information which does - * not match previously added {@link ProcrankItem}s. This should only occur if the procranks - * did not come from the same run. For example, if there was a device restart or if procranks - * come from multiple devices. - */ - public void addProcrank(ProcrankItem procrank, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link TopItem} to be checked. - * - * @param top The {@link TopItem}. - * @param timestamp The {@link Date} of the top output, may be {@code null}. - * @param uri The URI of the top output, may be {@code null}. - * @throws ConflictingItemException If the {@link TopItem} contains information which does not - * match previously added {@link TopItem}s. This should only occur if the top info did not come - * from the same run. For example, if there was a device restart or if top info came from - * multiple devices. - */ - public void addTop(TopItem top, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Add a {@link DumpsysItem} to be checked. - * - * @param dumpsys The {@link DumpsysItem}. - * @param timestamp The {@link Date} of the dumpsys, may be {@code null}. - * @param uri The URI of the dumpsys, may be {@code null}. - * @throws ConflictingItemException If the {@link DumpsysItem} contains information which does - * not match previously added {@link DumpsysItem}s. This should only occur if the dumpsys did - * not come from the same run. For example, if there was a device restart or if dumpsys came - * from multiple devices. - */ - public void addDumpsys(DumpsysItem dumpsys, Date timestamp, String uri) - throws ConflictingItemException; - - /** - * Checks to see if there are any problems. - * - * @return {@code true} if there is a problem, {@code false} if there is not. - */ - public boolean failed(); - - /** - * Get the type of the heuristic. - * - * @return The type. - */ - public String getType(); - - /** - * Get the name of the heuristic. - * - * @return The name of the heuristic, to be used for the output. - */ - public String getName(); - - /** - * Get the summary of the problem. - * - * @return The summary as a string or {@code null} if there is no problem. - */ - public String getSummary(); - - /** - * Get the problem details. - * - * @return The details as a string or {@code null} if there is no problem. - */ - public String getDetails(); - - /** - * Get the JSON representation of the problem. - * - * @return The {@link JSONObject} representing the heuristic. JSON object must contain at least - * the key {@link #STATUS} with either the value {@link #PASSED} or {@link #FAILED}, as well as - * any additional information about the status. - */ - public JSONObject toJson(); -} |