| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 // | |
| 5 // Performance metrics collected via Chrome's built-in profiler. | |
| 6 | |
| 7 syntax = "proto2"; | |
| 8 | |
| 9 option optimize_for = LITE_RUNTIME; | |
| 10 | |
| 11 package metrics; | |
| 12 | |
| 13 | |
| 14 // Next tag: 4 | |
| 15 message ProfilerEventProto { | |
| 16 // The type of this profile. | |
| 17 enum ProfileType { | |
| 18 UNKNOWN_PROFILE = 0; // Unknown type (should not reach here). | |
| 19 STARTUP_PROFILE = 1; // Startup profile, logged approximately 60 seconds | |
| 20 // after launch. | |
| 21 } | |
| 22 optional ProfileType profile_type = 1; | |
| 23 | |
| 24 // The source based upon which "time" measurements are made. | |
| 25 // We currently only measure wall clock time; but we are exploring other | |
| 26 // measurement sources as well, such as CPU time or TCMalloc statistics. | |
| 27 enum TimeSource { | |
| 28 UNKNOWN_TIME_SOURCE = 0; // Unknown source (should not reach here). | |
| 29 WALL_CLOCK_TIME = 1; // Total time elapsed between the start and end of | |
| 30 // the task's execution. | |
| 31 } | |
| 32 optional TimeSource time_source = 2; | |
| 33 | |
| 34 // Data for a single tracked object (typically, a Task). | |
| 35 message TrackedObject { | |
| 36 // The name of the thread from which this task was posted, hashed. | |
| 37 optional fixed64 birth_thread_name_hash = 1; | |
| 38 | |
| 39 // The name of the thread on which this task was executed, hashed. | |
| 40 optional fixed64 exec_thread_name_hash = 2; | |
| 41 | |
| 42 // The source file name from which this task was posted, hashed. | |
| 43 optional fixed64 source_file_name_hash = 3; | |
| 44 | |
| 45 // Function name from which this task was posted, hashed. | |
| 46 optional fixed64 source_function_name_hash = 4; | |
| 47 | |
| 48 // The line number within the source file from which this task was posted. | |
| 49 optional int32 source_line_number = 5; | |
| 50 | |
| 51 // The number of times this task was executed. | |
| 52 optional int32 exec_count = 6; | |
| 53 | |
| 54 // The total execution time for instances this task. | |
| 55 optional int32 exec_time_total = 7; | |
| 56 | |
| 57 // The execution time for a uniformly randomly sampled instance of this | |
| 58 // task. | |
| 59 optional int32 exec_time_sampled = 8; | |
| 60 | |
| 61 // The total time instances this task spent waiting (e.g. in a message loop) | |
| 62 // before they were run. | |
| 63 optional int32 queue_time_total = 9; | |
| 64 | |
| 65 // The time that a uniformly randomly sampled instance of this task spent | |
| 66 // waiting (e.g. in a message loop) before it was run. | |
| 67 optional int32 queue_time_sampled = 10; | |
| 68 | |
| 69 // The type of process within which this task was executed. | |
| 70 enum ProcessType { | |
| 71 UNKNOWN = 0; // Should not reach here | |
| 72 BROWSER = 1; | |
| 73 RENDERER = 2; | |
| 74 PLUGIN = 3; | |
| 75 WORKER = 4; | |
| 76 NACL_LOADER = 5; | |
| 77 UTILITY = 6; | |
| 78 PROFILE_IMPORT = 7; | |
| 79 ZYGOTE = 8; | |
| 80 SANDBOX_HELPER = 9; | |
| 81 NACL_BROKER = 10; | |
| 82 GPU = 11; | |
| 83 PPAPI_PLUGIN = 12; | |
| 84 PPAPI_BROKER = 13; | |
| 85 } | |
| 86 optional ProcessType process_type = 11; | |
| 87 | |
| 88 // The local PID for the process within which this task was executed. | |
| 89 optional uint32 process_id = 12; | |
| 90 } | |
| 91 repeated TrackedObject tracked_object = 3; | |
| 92 } | |
| OLD | NEW |