OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/process/process_handle.h" | 9 #include "base/process/process_handle.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 } // anonymous namespace | 34 } // anonymous namespace |
35 | 35 |
36 // Tests the JSON serialization format for profiled process data. | 36 // Tests the JSON serialization format for profiled process data. |
37 TEST(TaskProfilerDataSerializerTest, SerializeProcessDataToJson) { | 37 TEST(TaskProfilerDataSerializerTest, SerializeProcessDataToJson) { |
38 { | 38 { |
39 // Empty data. | 39 // Empty data. |
40 tracked_objects::ProcessDataPhaseSnapshot process_data_phase; | 40 tracked_objects::ProcessDataPhaseSnapshot process_data_phase; |
41 int process_type = content::PROCESS_TYPE_BROWSER; | 41 int process_type = content::PROCESS_TYPE_BROWSER; |
42 ExpectSerialization(process_data_phase, 239, process_type, | 42 ExpectSerialization(process_data_phase, 239, process_type, |
43 "{" | 43 "{" |
44 "\"descendants\":[" | |
45 "]," | |
46 "\"list\":[" | 44 "\"list\":[" |
47 "]," | 45 "]," |
48 "\"process_id\":239," | 46 "\"process_id\":239," |
49 "\"process_type\":\"Browser\"" | 47 "\"process_type\":\"Browser\"" |
50 "}"); | 48 "}"); |
51 } | 49 } |
52 | 50 |
53 { | 51 { |
54 // Non-empty data. | 52 // Non-empty data. |
55 tracked_objects::ProcessDataPhaseSnapshot process_data_phase; | 53 tracked_objects::ProcessDataPhaseSnapshot process_data_phase; |
(...skipping 29 matching lines...) Expand all Loading... |
85 process_data_phase.tasks.back().birth = child; | 83 process_data_phase.tasks.back().birth = child; |
86 process_data_phase.tasks.back().death_data.count = 41; | 84 process_data_phase.tasks.back().death_data.count = 41; |
87 process_data_phase.tasks.back().death_data.run_duration_max = 205; | 85 process_data_phase.tasks.back().death_data.run_duration_max = 205; |
88 process_data_phase.tasks.back().death_data.run_duration_sample = 203; | 86 process_data_phase.tasks.back().death_data.run_duration_sample = 203; |
89 process_data_phase.tasks.back().death_data.run_duration_sum = 2017; | 87 process_data_phase.tasks.back().death_data.run_duration_sum = 2017; |
90 process_data_phase.tasks.back().death_data.queue_duration_max = 2053; | 88 process_data_phase.tasks.back().death_data.queue_duration_max = 2053; |
91 process_data_phase.tasks.back().death_data.queue_duration_sample = 2013; | 89 process_data_phase.tasks.back().death_data.queue_duration_sample = 2013; |
92 process_data_phase.tasks.back().death_data.queue_duration_sum = 2079; | 90 process_data_phase.tasks.back().death_data.queue_duration_sum = 2079; |
93 process_data_phase.tasks.back().death_thread_name = "PAC thread #3"; | 91 process_data_phase.tasks.back().death_thread_name = "PAC thread #3"; |
94 | 92 |
95 // Add a parent-child pair. | |
96 process_data_phase.descendants.push_back( | |
97 tracked_objects::ParentChildPairSnapshot()); | |
98 process_data_phase.descendants.back().parent = parent; | |
99 process_data_phase.descendants.back().child = child; | |
100 | |
101 int process_type = content::PROCESS_TYPE_RENDERER; | 93 int process_type = content::PROCESS_TYPE_RENDERER; |
102 ExpectSerialization(process_data_phase, 239, process_type, | 94 ExpectSerialization(process_data_phase, 239, process_type, |
103 "{" | 95 "{" |
104 "\"descendants\":[" | |
105 "{" | |
106 "\"child_location\":{" | |
107 "\"file_name\":\"path/to/bar.cc\"," | |
108 "\"function_name\":\"FizzBoom\"," | |
109 "\"line_number\":433" | |
110 "}," | |
111 "\"child_thread\":\"Chrome_IOThread\"," | |
112 "\"parent_location\":{" | |
113 "\"file_name\":\"path/to/foo.cc\"," | |
114 "\"function_name\":\"WhizBang\"," | |
115 "\"line_number\":101" | |
116 "}," | |
117 "\"parent_thread\":\"CrBrowserMain\"" | |
118 "}" | |
119 "]," | |
120 "\"list\":[{" | 96 "\"list\":[{" |
121 "\"birth_location\":{" | 97 "\"birth_location\":{" |
122 "\"file_name\":\"path/to/foo.cc\"," | 98 "\"file_name\":\"path/to/foo.cc\"," |
123 "\"function_name\":\"WhizBang\"," | 99 "\"function_name\":\"WhizBang\"," |
124 "\"line_number\":101" | 100 "\"line_number\":101" |
125 "}," | 101 "}," |
126 "\"birth_thread\":\"CrBrowserMain\"," | 102 "\"birth_thread\":\"CrBrowserMain\"," |
127 "\"death_data\":{" | 103 "\"death_data\":{" |
128 "\"count\":37," | 104 "\"count\":37," |
129 "\"queue_ms\":79," | 105 "\"queue_ms\":79," |
(...skipping 20 matching lines...) Expand all Loading... |
150 "\"run_ms_max\":205," | 126 "\"run_ms_max\":205," |
151 "\"run_ms_sample\":203" | 127 "\"run_ms_sample\":203" |
152 "}," | 128 "}," |
153 "\"death_thread\":\"PAC thread #3\"" | 129 "\"death_thread\":\"PAC thread #3\"" |
154 "}]," | 130 "}]," |
155 "\"process_id\":239," | 131 "\"process_id\":239," |
156 "\"process_type\":\"Tab\"" | 132 "\"process_type\":\"Tab\"" |
157 "}"); | 133 "}"); |
158 } | 134 } |
159 } | 135 } |
OLD | NEW |