Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3054)

Unified Diff: base/trace_event/trace_event_unittest.cc

Issue 2354163002: [tracing] Remove event callback mode in TraceLog (Closed)
Patch Set: Add comment. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/trace_event/trace_event.h ('k') | base/trace_event/trace_log.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/trace_event/trace_event_unittest.cc
diff --git a/base/trace_event/trace_event_unittest.cc b/base/trace_event/trace_event_unittest.cc
index c6d43d1366ceaebd7f8175455a930ea77634e93f..4d7a89ca4bb860f4460c5cf71bf3a7c02040af6f 100644
--- a/base/trace_event/trace_event_unittest.cc
+++ b/base/trace_event/trace_event_unittest.cc
@@ -2530,233 +2530,6 @@ TEST_F(TraceEventTestFixture, ArgsWhitelisting) {
EXPECT_EQ(args_string, "__stripped__");
}
-class TraceEventCallbackTest : public TraceEventTestFixture {
- public:
- void SetUp() override {
- TraceEventTestFixture::SetUp();
- ASSERT_EQ(NULL, s_instance);
- s_instance = this;
- }
- void TearDown() override {
- TraceLog::GetInstance()->SetDisabled();
- ASSERT_TRUE(s_instance);
- s_instance = NULL;
- TraceEventTestFixture::TearDown();
- }
-
- protected:
- // For TraceEventCallbackAndRecordingX tests.
- void VerifyCallbackAndRecordedEvents(size_t expected_callback_count,
- size_t expected_recorded_count) {
- // Callback events.
- EXPECT_EQ(expected_callback_count, collected_events_names_.size());
- for (size_t i = 0; i < collected_events_names_.size(); ++i) {
- EXPECT_EQ("callback", collected_events_categories_[i]);
- EXPECT_EQ("yes", collected_events_names_[i]);
- }
-
- // Recorded events.
- EXPECT_EQ(expected_recorded_count, trace_parsed_.GetSize());
- EXPECT_TRUE(FindTraceEntry(trace_parsed_, "recording"));
- EXPECT_FALSE(FindTraceEntry(trace_parsed_, "callback"));
- EXPECT_TRUE(FindTraceEntry(trace_parsed_, "yes"));
- EXPECT_FALSE(FindTraceEntry(trace_parsed_, "no"));
- }
-
- void VerifyCollectedEvent(size_t i,
- unsigned phase,
- const std::string& category,
- const std::string& name) {
- EXPECT_EQ(phase, collected_events_phases_[i]);
- EXPECT_EQ(category, collected_events_categories_[i]);
- EXPECT_EQ(name, collected_events_names_[i]);
- }
-
- std::vector<std::string> collected_events_categories_;
- std::vector<std::string> collected_events_names_;
- std::vector<unsigned char> collected_events_phases_;
- std::vector<TimeTicks> collected_events_timestamps_;
-
- static TraceEventCallbackTest* s_instance;
- static void Callback(TimeTicks timestamp,
- char phase,
- const unsigned char* category_group_enabled,
- const char* name,
- const char* scope,
- unsigned long long id,
- int num_args,
- const char* const arg_names[],
- const unsigned char arg_types[],
- const unsigned long long arg_values[],
- unsigned int flags) {
- s_instance->collected_events_phases_.push_back(phase);
- s_instance->collected_events_categories_.push_back(
- TraceLog::GetCategoryGroupName(category_group_enabled));
- s_instance->collected_events_names_.push_back(name);
- s_instance->collected_events_timestamps_.push_back(timestamp);
- }
-};
-
-TraceEventCallbackTest* TraceEventCallbackTest::s_instance;
-
-TEST_F(TraceEventCallbackTest, TraceEventCallback) {
- TRACE_EVENT_INSTANT0("all", "before enable", TRACE_EVENT_SCOPE_THREAD);
- TraceLog::GetInstance()->SetEventCallbackEnabled(
- TraceConfig(kRecordAllCategoryFilter, ""), Callback);
- TRACE_EVENT_INSTANT0("all", "event1", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("all", "event2", TRACE_EVENT_SCOPE_GLOBAL);
- {
- TRACE_EVENT0("all", "duration");
- TRACE_EVENT_INSTANT0("all", "event3", TRACE_EVENT_SCOPE_GLOBAL);
- }
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- TRACE_EVENT_INSTANT0("all", "after callback removed",
- TRACE_EVENT_SCOPE_GLOBAL);
- ASSERT_EQ(5u, collected_events_names_.size());
- EXPECT_EQ("event1", collected_events_names_[0]);
- EXPECT_EQ(TRACE_EVENT_PHASE_INSTANT, collected_events_phases_[0]);
- EXPECT_EQ("event2", collected_events_names_[1]);
- EXPECT_EQ(TRACE_EVENT_PHASE_INSTANT, collected_events_phases_[1]);
- EXPECT_EQ("duration", collected_events_names_[2]);
- EXPECT_EQ(TRACE_EVENT_PHASE_BEGIN, collected_events_phases_[2]);
- EXPECT_EQ("event3", collected_events_names_[3]);
- EXPECT_EQ(TRACE_EVENT_PHASE_INSTANT, collected_events_phases_[3]);
- EXPECT_EQ("duration", collected_events_names_[4]);
- EXPECT_EQ(TRACE_EVENT_PHASE_END, collected_events_phases_[4]);
- for (size_t i = 1; i < collected_events_timestamps_.size(); i++) {
- EXPECT_LE(collected_events_timestamps_[i - 1],
- collected_events_timestamps_[i]);
- }
-}
-
-TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) {
- TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""),
- TraceLog::RECORDING_MODE);
- do {
- TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL);
- } while (!TraceLog::GetInstance()->BufferIsFull());
- TraceLog::GetInstance()->SetEventCallbackEnabled(
- TraceConfig(kRecordAllCategoryFilter, ""), Callback);
- TRACE_EVENT_INSTANT0("all", "a snake", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- ASSERT_EQ(1u, collected_events_names_.size());
- EXPECT_EQ("a snake", collected_events_names_[0]);
-}
-
-// 1: Enable callback, enable recording, disable callback, disable recording.
-TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) {
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackEnabled(TraceConfig("callback", ""),
- Callback);
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEnabled(TraceConfig("recording", ""),
- TraceLog::RECORDING_MODE);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- EndTraceAndFlush();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
-
- DropTracedMetadataRecords();
- VerifyCallbackAndRecordedEvents(2, 2);
-}
-
-// 2: Enable callback, enable recording, disable recording, disable callback.
-TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) {
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackEnabled(TraceConfig("callback", ""),
- Callback);
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEnabled(TraceConfig("recording", ""),
- TraceLog::RECORDING_MODE);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- EndTraceAndFlush();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
-
- DropTracedMetadataRecords();
- VerifyCallbackAndRecordedEvents(3, 1);
-}
-
-// 3: Enable recording, enable callback, disable callback, disable recording.
-TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) {
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEnabled(TraceConfig("recording", ""),
- TraceLog::RECORDING_MODE);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackEnabled(TraceConfig("callback", ""),
- Callback);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- EndTraceAndFlush();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
-
- DropTracedMetadataRecords();
- VerifyCallbackAndRecordedEvents(1, 3);
-}
-
-// 4: Enable recording, enable callback, disable recording, disable callback.
-TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording4) {
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEnabled(TraceConfig("recording", ""),
- TraceLog::RECORDING_MODE);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackEnabled(TraceConfig("callback", ""),
- Callback);
- TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- EndTraceAndFlush();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
- TraceLog::GetInstance()->SetEventCallbackDisabled();
- TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
- TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
-
- DropTracedMetadataRecords();
- VerifyCallbackAndRecordedEvents(2, 2);
-}
-
-TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecordingDuration) {
- TraceLog::GetInstance()->SetEventCallbackEnabled(
- TraceConfig(kRecordAllCategoryFilter, ""), Callback);
- {
- TRACE_EVENT0("callback", "duration1");
- TraceLog::GetInstance()->SetEnabled(
- TraceConfig(kRecordAllCategoryFilter, ""), TraceLog::RECORDING_MODE);
- TRACE_EVENT0("callback", "duration2");
- EndTraceAndFlush();
- TRACE_EVENT0("callback", "duration3");
- }
- TraceLog::GetInstance()->SetEventCallbackDisabled();
-
- ASSERT_EQ(6u, collected_events_names_.size());
- VerifyCollectedEvent(0, TRACE_EVENT_PHASE_BEGIN, "callback", "duration1");
- VerifyCollectedEvent(1, TRACE_EVENT_PHASE_BEGIN, "callback", "duration2");
- VerifyCollectedEvent(2, TRACE_EVENT_PHASE_BEGIN, "callback", "duration3");
- VerifyCollectedEvent(3, TRACE_EVENT_PHASE_END, "callback", "duration3");
- VerifyCollectedEvent(4, TRACE_EVENT_PHASE_END, "callback", "duration2");
- VerifyCollectedEvent(5, TRACE_EVENT_PHASE_END, "callback", "duration1");
-}
-
TEST_F(TraceEventTestFixture, TraceBufferVectorReportFull) {
TraceLog* trace_log = TraceLog::GetInstance();
trace_log->SetEnabled(
« no previous file with comments | « base/trace_event/trace_event.h ('k') | base/trace_event/trace_log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698