diff options
Diffstat (limited to 'src/main/java/com/android/vts/util/PerformanceSummary.java')
-rw-r--r-- | src/main/java/com/android/vts/util/PerformanceSummary.java | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/src/main/java/com/android/vts/util/PerformanceSummary.java b/src/main/java/com/android/vts/util/PerformanceSummary.java deleted file mode 100644 index a9ce0b4..0000000 --- a/src/main/java/com/android/vts/util/PerformanceSummary.java +++ /dev/null @@ -1,155 +0,0 @@ -/** - * Copyright 2016 Google Inc. All Rights Reserved. - * - * <p>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 - * - * <p>http://www.apache.org/licenses/LICENSE-2.0 - * - * <p>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.vts.util; - -import com.android.vts.entity.ProfilingPointEntity; -import com.android.vts.entity.ProfilingPointSummaryEntity; -import com.google.appengine.api.datastore.Entity; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; - -/** PerformanceSummary, an object summarizing performance across profiling points for a test run. */ -public class PerformanceSummary { - protected static Logger logger = Logger.getLogger(PerformanceSummary.class.getName()); - private Map<String, ProfilingPointSummary> summaryMap; - - public final long startTime; - public final long endTime; - public final String label; - - /** Creates a performance summary object. */ - public PerformanceSummary(long startTime, long endTime, String label) { - this.summaryMap = new HashMap<>(); - this.startTime = startTime; - this.endTime = endTime; - this.label = label; - } - - /** Creates a performance summary object. */ - public PerformanceSummary(long startTime, long endTime) { - this( - startTime, - endTime, - "<span class='date-label'>" - + Long.toString(TimeUnit.MICROSECONDS.toMillis(endTime)) - + "</span>"); - } - - /** - * Determine if the performance summary contains the provided time. - * - * @param time The time (unix timestamp, microseconds) to check. - * @return True if the time is within the performance summary window, false otherwise. - */ - public boolean contains(long time) { - return time >= startTime && time <= endTime; - } - - /** - * Add the profiling data from a ProfilingPointRunEntity to the performance summary. - * - * @param profilingRun The Entity object whose data to add. - */ - public void addData(ProfilingPointEntity profilingPoint, Entity profilingRun) { - ProfilingPointSummaryEntity ppSummary = - ProfilingPointSummaryEntity.fromEntity(profilingRun); - if (ppSummary == null) return; - - String name = profilingPoint.getProfilingPointName(); - if (ppSummary.getLabels() != null && ppSummary.getLabels().size() > 0) { - if (!ppSummary.getSeries().equals("")) { - name += " (" + ppSummary.getSeries() + ")"; - } - if (!summaryMap.containsKey(name)) { - summaryMap.put( - name, - new ProfilingPointSummary( - profilingPoint.getXLabel(), - profilingPoint.getYLabel(), - profilingPoint.getVtsProfilingRegressionMode(profilingPoint.getRegressionMode()))); - } - summaryMap.get(name).update(ppSummary); - } else { - // Use the option suffix as the table name. - // Group all profiling points together into one table - if (!summaryMap.containsKey(ppSummary.getSeries())) { - summaryMap.put( - ppSummary.getSeries(), - new ProfilingPointSummary( - profilingPoint.getXLabel(), - profilingPoint.getYLabel(), - profilingPoint.getVtsProfilingRegressionMode(profilingPoint.getRegressionMode()))); - } - summaryMap.get(ppSummary.getSeries()).updateLabel(ppSummary, name); - } - } - - /** - * Adds a ProfilingPointSummary object into the summary map only if the key doesn't exist. - * - * @param key The name of the profiling point. - * @param summary The ProfilingPointSummary object to add into the summary map. - * @return True if the data was inserted into the performance summary, false otherwise. - */ - public boolean insertProfilingPointSummary(String key, ProfilingPointSummary summary) { - if (!summaryMap.containsKey(key)) { - summaryMap.put(key, summary); - return true; - } - return false; - } - - /** - * Gets the number of profiling points. - * - * @return The number of profiling points in the performance summary. - */ - public int size() { - return summaryMap.size(); - } - - /** - * Gets the names of the profiling points. - * - * @return A string array of profiling point names. - */ - public String[] getProfilingPointNames() { - String[] profilingNames = summaryMap.keySet().toArray(new String[summaryMap.size()]); - Arrays.sort(profilingNames); - return profilingNames; - } - - /** - * Determines if a profiling point is described by the performance summary. - * - * @param profilingPointName The name of the profiling point. - * @return True if the profiling point is contained in the performance summary, else false. - */ - public boolean hasProfilingPoint(String profilingPointName) { - return summaryMap.containsKey(profilingPointName); - } - - /** - * Gets the profiling point summary by name. - * - * @param profilingPointName The name of the profiling point to fetch. - * @return The ProfilingPointSummary object describing the specified profiling point. - */ - public ProfilingPointSummary getProfilingPointSummary(String profilingPointName) { - return summaryMap.get(profilingPointName); - } -} |