summaryrefslogtreecommitdiff
path: root/src/com/android/loganalysis/item
diff options
context:
space:
mode:
authorChao Yan <aceyansf@google.com>2019-06-10 15:27:46 -0700
committerChao Yan <aceyansf@google.com>2019-06-17 15:25:18 -0700
commit4021c75b78c5c41f3f37944977ee5961e589e560 (patch)
treea85c957a397cb72774dcdd82e053eab34d734d75 /src/com/android/loganalysis/item
parent8c9637105ba68f4ecd61512203cb1ba257f4cf96 (diff)
downloadloganalysis-4021c75b78c5c41f3f37944977ee5961e589e560.tar.gz
Added a new parser for timing metrics from logcat
The new parser will be used for analyze logcat to parse timing related metrics, e.g. can be used for boot time metrics parsing Test: tools/tradefederation/core/tests/run_tradefed_tests.sh --class com.android.loganalysis.UnitTests Bug: 133166326 Change-Id: I0a17a813fd0f5b7908279d76c38d4d8e0fbf1e96
Diffstat (limited to 'src/com/android/loganalysis/item')
-rw-r--r--src/com/android/loganalysis/item/SystemServicesTimingItem.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/com/android/loganalysis/item/SystemServicesTimingItem.java b/src/com/android/loganalysis/item/SystemServicesTimingItem.java
new file mode 100644
index 0000000..79671a2
--- /dev/null
+++ b/src/com/android/loganalysis/item/SystemServicesTimingItem.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2019 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.item;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * An {@link IItem} used to store timing information for system services like System Server, Zygote,
+ * System UI, BootAnimation e.t.c.
+ */
+public class SystemServicesTimingItem extends GenericItem {
+ /** Constant for JSON output */
+ public static final String COMPONENT = "COMPONENT";
+ /** Constant for JSON output */
+ public static final String SUBCOMPONENT = "SUBCOMPONENT";
+ /** Constant for JSON output */
+ public static final String DURATION = "DURATION";
+ /** Constant for JSON output */
+ public static final String START_TIME = "START_TIME";
+
+ private static final Set<String> ATTRIBUTES =
+ new HashSet<>(Arrays.asList(COMPONENT, SUBCOMPONENT, DURATION, START_TIME));
+
+ /** Constructor for {@link SystemServicesTimingItem} */
+ public SystemServicesTimingItem() {
+ super(ATTRIBUTES);
+ }
+
+ /** Get the component name for system services timing */
+ public String getComponent() {
+ return (String) getAttribute(COMPONENT);
+ }
+
+ /** Set the component name for system service timing */
+ public void setComponent(String component) {
+ setAttribute(COMPONENT, component);
+ }
+
+ /** Get the sub-component name for system service timing */
+ public String getSubcomponent() {
+ return (String) getAttribute(SUBCOMPONENT);
+ }
+
+ /** Set the sub-component name for system service timing */
+ public void setSubcomponent(String subcomponent) {
+ setAttribute(SUBCOMPONENT, subcomponent);
+ }
+
+ /** Get the duration value for system service timing */
+ public Double getDuration() {
+ return (Double) getAttribute(DURATION);
+ }
+
+ /** Set the duration value for system service timing */
+ public void setDuration(double duration) {
+ setAttribute(DURATION, duration);
+ }
+
+ /** Get the start time value for system service timing */
+ public Double getStartTime() {
+ return (Double) getAttribute(START_TIME);
+ }
+
+ /** Set the start time value for system service timing */
+ public void setStartTime(double startTime) {
+ setAttribute(START_TIME, startTime);
+ }
+}