OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // Next MinVersion: 2 |
4 | 5 |
5 module arc.mojom; | 6 module arc.mojom; |
6 | 7 |
| 8 [Extensible] |
| 9 enum BootType { |
| 10 // This is used only for backward compatibility reasons and the value has to |
| 11 // be 0. |
| 12 UNKNOWN = 0, |
| 13 |
| 14 // This is for the very first (opt-in) boot. |
| 15 FIRST_BOOT = 1, |
| 16 // This is for the first boot after Chrome OS update which also updates the |
| 17 // ARC image. |
| 18 FIRST_BOOT_AFTER_UPDATE = 2, |
| 19 // This is for regular boot. |
| 20 REGULAR_BOOT = 3, |
| 21 }; |
| 22 |
7 // Describes a boot progress event. | 23 // Describes a boot progress event. |
8 struct BootProgressEvent { | 24 struct BootProgressEvent { |
9 // Name of the boot progress event in Android. Currently there are | 25 // Name of the boot progress event in Android. Currently there are |
10 // 11 boot progress events found in Android source repository: | 26 // 11 boot progress events found in Android source repository: |
11 // system/core/logcat/event.logtags | 27 // system/core/logcat/event.logtags |
12 // frameworks/base/services/core/java/com/android/server/am/ | 28 // frameworks/base/services/core/java/com/android/server/am/ |
13 // EventLogTags.logtags | 29 // EventLogTags.logtags |
14 // frameworks/base/services/core/java/com/android/server/ | 30 // frameworks/base/services/core/java/com/android/server/ |
15 // EventLogTags.logtags | 31 // EventLogTags.logtags |
16 string event; | 32 string event; |
17 | 33 |
18 // Timestamp of the event in uptime obtained in ARC. The uptime | 34 // Timestamp of the event in uptime obtained in ARC. The uptime |
19 // is from clock source MONOTONIC_CLOCK since Chrome OS boots up. | 35 // is from clock source MONOTONIC_CLOCK since Chrome OS boots up. |
20 // Therefore, we need to calibrate the correct elapsed time of the | 36 // Therefore, we need to calibrate the correct elapsed time of the |
21 // event by comparing the uptime with the ARC start time from | 37 // event by comparing the uptime with the ARC start time from |
22 // the same clock source MONOTONIC_CLOCK in session manager. | 38 // the same clock source MONOTONIC_CLOCK in session manager. |
23 int64 uptimeMillis; | 39 int64 uptimeMillis; |
24 }; | 40 }; |
25 | 41 |
| 42 // Next method ID: 1 |
26 interface MetricsHost { | 43 interface MetricsHost { |
27 // Report boot progress events from ARC instance. | 44 // Report boot progress events from ARC instance. |
28 ReportBootProgress@0(array<BootProgressEvent> events); | 45 ReportBootProgress@0(array<BootProgressEvent> events, |
| 46 [MinVersion=1] BootType boot_type); |
29 }; | 47 }; |
30 | 48 |
| 49 // Next method ID: 1 |
31 interface MetricsInstance { | 50 interface MetricsInstance { |
32 Init@0(MetricsHost host_ptr); | 51 Init@0(MetricsHost host_ptr); |
33 }; | 52 }; |
OLD | NEW |