summaryrefslogtreecommitdiff
path: root/src/main/java/com/android/vts/util/PerformanceSummary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/android/vts/util/PerformanceSummary.java')
-rw-r--r--src/main/java/com/android/vts/util/PerformanceSummary.java155
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);
- }
-}