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 "base/trace_event/trace_event.h" | 5 #include "base/trace_event/trace_event.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 2134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2145 // are also enabled. | 2145 // are also enabled. |
2146 trace_log->SetEnabled(TraceConfig("disabled-by-default-foo", ""), | 2146 trace_log->SetEnabled(TraceConfig("disabled-by-default-foo", ""), |
2147 TraceLog::RECORDING_MODE); | 2147 TraceLog::RECORDING_MODE); |
2148 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-foo")); | 2148 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-foo")); |
2149 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo")); | 2149 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo")); |
2150 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); | 2150 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); |
2151 EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-bar")); | 2151 EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-bar")); |
2152 trace_log->SetDisabled(); | 2152 trace_log->SetDisabled(); |
2153 } | 2153 } |
2154 | 2154 |
2155 TEST_F(TraceEventTestFixture, TraceSampling) { | |
2156 TraceLog::GetInstance()->SetEnabled( | |
2157 TraceConfig(kRecordAllCategoryFilter, "record-until-full,enable-sampling"), | |
2158 TraceLog::RECORDING_MODE); | |
2159 | |
2160 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff"); | |
2161 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2162 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Things"); | |
2163 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2164 | |
2165 EndTraceAndFlush(); | |
2166 | |
2167 // Make sure we hit at least once. | |
2168 EXPECT_TRUE(FindNamePhase("Stuff", "P")); | |
2169 EXPECT_TRUE(FindNamePhase("Things", "P")); | |
2170 } | |
2171 | |
2172 TEST_F(TraceEventTestFixture, TraceSamplingScope) { | |
2173 TraceLog::GetInstance()->SetEnabled( | |
2174 TraceConfig(kRecordAllCategoryFilter, "record-until-full,enable-sampling"), | |
2175 TraceLog::RECORDING_MODE); | |
2176 | |
2177 TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name"); | |
2178 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2179 { | |
2180 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA"); | |
2181 TRACE_EVENT_SCOPED_SAMPLING_STATE("BBB", "name"); | |
2182 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2183 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "BBB"); | |
2184 } | |
2185 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2186 { | |
2187 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA"); | |
2188 TRACE_EVENT_SCOPED_SAMPLING_STATE("CCC", "name"); | |
2189 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2190 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "CCC"); | |
2191 } | |
2192 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2193 { | |
2194 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA"); | |
2195 TRACE_EVENT_SET_SAMPLING_STATE("DDD", "name"); | |
2196 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2197 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); | |
2198 } | |
2199 TraceLog::GetInstance()->WaitSamplingEventForTesting(); | |
2200 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); | |
2201 | |
2202 EndTraceAndFlush(); | |
2203 } | |
2204 | |
2205 class MyData : public ConvertableToTraceFormat { | 2155 class MyData : public ConvertableToTraceFormat { |
2206 public: | 2156 public: |
2207 MyData() {} | 2157 MyData() {} |
2208 ~MyData() override {} | 2158 ~MyData() override {} |
2209 | 2159 |
2210 void AppendAsTraceFormat(std::string* out) const override { | 2160 void AppendAsTraceFormat(std::string* out) const override { |
2211 out->append("{\"foo\":1}"); | 2161 out->append("{\"foo\":1}"); |
2212 } | 2162 } |
2213 | 2163 |
2214 private: | 2164 private: |
(...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3020 TraceConfig(kRecordAllCategoryFilter, RECORD_UNTIL_FULL))); | 2970 TraceConfig(kRecordAllCategoryFilter, RECORD_UNTIL_FULL))); |
3021 | 2971 |
3022 EXPECT_EQ(TraceLog::kInternalRecordContinuously, | 2972 EXPECT_EQ(TraceLog::kInternalRecordContinuously, |
3023 trace_log->GetInternalOptionsFromTraceConfig( | 2973 trace_log->GetInternalOptionsFromTraceConfig( |
3024 TraceConfig(kRecordAllCategoryFilter, RECORD_CONTINUOUSLY))); | 2974 TraceConfig(kRecordAllCategoryFilter, RECORD_CONTINUOUSLY))); |
3025 | 2975 |
3026 EXPECT_EQ(TraceLog::kInternalEchoToConsole, | 2976 EXPECT_EQ(TraceLog::kInternalEchoToConsole, |
3027 trace_log->GetInternalOptionsFromTraceConfig( | 2977 trace_log->GetInternalOptionsFromTraceConfig( |
3028 TraceConfig(kRecordAllCategoryFilter, ECHO_TO_CONSOLE))); | 2978 TraceConfig(kRecordAllCategoryFilter, ECHO_TO_CONSOLE))); |
3029 | 2979 |
3030 EXPECT_EQ( | 2980 EXPECT_EQ(TraceLog::kInternalEchoToConsole, |
3031 TraceLog::kInternalRecordUntilFull | TraceLog::kInternalEnableSampling, | 2981 trace_log->GetInternalOptionsFromTraceConfig( |
3032 trace_log->GetInternalOptionsFromTraceConfig( | 2982 TraceConfig("*", "trace-to-console,enable-systrace"))); |
3033 TraceConfig(kRecordAllCategoryFilter, | |
3034 "record-until-full,enable-sampling"))); | |
3035 | |
3036 EXPECT_EQ( | |
3037 TraceLog::kInternalRecordContinuously | TraceLog::kInternalEnableSampling, | |
3038 trace_log->GetInternalOptionsFromTraceConfig( | |
3039 TraceConfig(kRecordAllCategoryFilter, | |
3040 "record-continuously,enable-sampling"))); | |
3041 | |
3042 EXPECT_EQ( | |
3043 TraceLog::kInternalEchoToConsole | TraceLog::kInternalEnableSampling, | |
3044 trace_log->GetInternalOptionsFromTraceConfig( | |
3045 TraceConfig(kRecordAllCategoryFilter, | |
3046 "trace-to-console,enable-sampling"))); | |
3047 | |
3048 EXPECT_EQ( | |
3049 TraceLog::kInternalEchoToConsole | TraceLog::kInternalEnableSampling, | |
3050 trace_log->GetInternalOptionsFromTraceConfig( | |
3051 TraceConfig("*", | |
3052 "trace-to-console,enable-sampling,enable-systrace"))); | |
3053 } | 2983 } |
3054 | 2984 |
3055 void SetBlockingFlagAndBlockUntilStopped(WaitableEvent* task_start_event, | 2985 void SetBlockingFlagAndBlockUntilStopped(WaitableEvent* task_start_event, |
3056 WaitableEvent* task_stop_event) { | 2986 WaitableEvent* task_stop_event) { |
3057 TraceLog::GetInstance()->SetCurrentThreadBlocksMessageLoop(); | 2987 TraceLog::GetInstance()->SetCurrentThreadBlocksMessageLoop(); |
3058 BlockUntilStopped(task_start_event, task_stop_event); | 2988 BlockUntilStopped(task_start_event, task_stop_event); |
3059 } | 2989 } |
3060 | 2990 |
3061 TEST_F(TraceEventTestFixture, SetCurrentThreadBlocksMessageLoopAfterTracing) { | 2991 TEST_F(TraceEventTestFixture, SetCurrentThreadBlocksMessageLoopAfterTracing) { |
3062 BeginTrace(); | 2992 BeginTrace(); |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3402 | 3332 |
3403 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) { | 3333 TEST_F(TraceEventTestFixture, ClockSyncEventsAreAlwaysAddedToTrace) { |
3404 BeginSpecificTrace("-*"); | 3334 BeginSpecificTrace("-*"); |
3405 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1); | 3335 TRACE_EVENT_CLOCK_SYNC_RECEIVER(1); |
3406 EndTraceAndFlush(); | 3336 EndTraceAndFlush(); |
3407 EXPECT_TRUE(FindNamePhase("clock_sync", "c")); | 3337 EXPECT_TRUE(FindNamePhase("clock_sync", "c")); |
3408 } | 3338 } |
3409 | 3339 |
3410 } // namespace trace_event | 3340 } // namespace trace_event |
3411 } // namespace base | 3341 } // namespace base |
OLD | NEW |