| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
| 6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "content/browser/tracing/background_tracing_config_impl.h" | 9 #include "content/browser/tracing/background_tracing_config_impl.h" |
| 10 #include "content/browser/tracing/background_tracing_rule.h" | 10 #include "content/browser/tracing/background_tracing_rule.h" |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 288 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
| 289 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 289 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
| 290 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\"}]}"); | 290 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\"}]}"); |
| 291 EXPECT_TRUE(config); | 291 EXPECT_TRUE(config); |
| 292 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); | 292 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
| 293 EXPECT_EQ(config->rules().size(), 1u); | 293 EXPECT_EQ(config->rules().size(), 1u); |
| 294 EXPECT_EQ(RuleToString(config->rules()[0]), | 294 EXPECT_EQ(RuleToString(config->rules()[0]), |
| 295 "{\"category\":\"BENCHMARK_DEEP\"," | 295 "{\"category\":\"BENCHMARK_DEEP\"," |
| 296 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," | 296 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
| 297 "\"trigger_name\":\"foo\"}"); | 297 "\"trigger_name\":\"foo\"}"); |
| 298 |
| 298 config = ReadFromJSONString( | 299 config = ReadFromJSONString( |
| 299 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " | 300 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
| 300 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 301 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
| 302 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo\", " |
| 303 "\"trigger_chance\": 0.5}]}"); |
| 304 EXPECT_TRUE(config); |
| 305 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
| 306 EXPECT_EQ(config->rules().size(), 1u); |
| 307 EXPECT_EQ(RuleToString(config->rules()[0]), |
| 308 "{\"category\":\"BENCHMARK_DEEP\"," |
| 309 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
| 310 "\"trigger_chance\":0.5,\"trigger_name\":\"foo\"}"); |
| 311 |
| 312 config = ReadFromJSONString( |
| 313 "{\"mode\":\"REACTIVE_TRACING_MODE\",\"configs\": [{\"rule\": " |
| 314 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
| 301 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": " | 315 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": " |
| 302 "\"foo1\"},{\"rule\": " | 316 "\"foo1\"},{\"rule\": " |
| 303 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " | 317 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\", " |
| 304 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo2\"}]}"); | 318 "\"category\": \"BENCHMARK_DEEP\", \"trigger_name\": \"foo2\"}]}"); |
| 305 EXPECT_TRUE(config); | 319 EXPECT_TRUE(config); |
| 306 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); | 320 EXPECT_EQ(config->tracing_mode(), BackgroundTracingConfig::REACTIVE); |
| 307 EXPECT_EQ(config->rules().size(), 2u); | 321 EXPECT_EQ(config->rules().size(), 2u); |
| 308 EXPECT_EQ(RuleToString(config->rules()[0]), | 322 EXPECT_EQ(RuleToString(config->rules()[0]), |
| 309 "{\"category\":\"BENCHMARK_DEEP\"," | 323 "{\"category\":\"BENCHMARK_DEEP\"," |
| 310 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," | 324 "\"rule\":\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\"," |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 "\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); | 370 "\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); |
| 357 } | 371 } |
| 358 | 372 |
| 359 { | 373 { |
| 360 config.reset( | 374 config.reset( |
| 361 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); | 375 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); |
| 362 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); | 376 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); |
| 363 | 377 |
| 364 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 378 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
| 365 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); | 379 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); |
| 380 dict->SetString("trigger_name", "foo"); |
| 381 dict->SetDouble("trigger_chance", 0.5); |
| 382 config->AddPreemptiveRule(dict.get()); |
| 383 |
| 384 EXPECT_EQ( |
| 385 ConfigToString(config.get()), |
| 386 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" |
| 387 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_chance\":0.5," |
| 388 "\"trigger_name\":\"foo\"}],\"mode\":\"PREEMPTIVE_TRACING_MODE\"}"); |
| 389 } |
| 390 |
| 391 { |
| 392 config.reset( |
| 393 new BackgroundTracingConfigImpl(BackgroundTracingConfig::PREEMPTIVE)); |
| 394 config->set_category_preset(BackgroundTracingConfigImpl::BENCHMARK_DEEP); |
| 395 |
| 396 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
| 397 dict->SetString("rule", "MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED"); |
| 366 dict->SetString("trigger_name", "foo1"); | 398 dict->SetString("trigger_name", "foo1"); |
| 367 config->AddPreemptiveRule(dict.get()); | 399 config->AddPreemptiveRule(dict.get()); |
| 368 | 400 |
| 369 dict->SetString("trigger_name", "foo2"); | 401 dict->SetString("trigger_name", "foo2"); |
| 370 config->AddPreemptiveRule(dict.get()); | 402 config->AddPreemptiveRule(dict.get()); |
| 371 | 403 |
| 372 EXPECT_EQ(ConfigToString(config.get()), | 404 EXPECT_EQ(ConfigToString(config.get()), |
| 373 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" | 405 "{\"category\":\"BENCHMARK_DEEP\",\"configs\":[{\"rule\":" |
| 374 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" | 406 "\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\",\"trigger_name\":" |
| 375 "\"foo1\"},{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," | 407 "\"foo1\"},{\"rule\":\"MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED\"," |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 ConfigToString(config.get()), | 564 ConfigToString(config.get()), |
| 533 "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" | 565 "{\"configs\":[{\"category\":\"BENCHMARK_DEEP\",\"rule\":\"TRACE_" |
| 534 "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" | 566 "ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":\"foo1\"},{" |
| 535 "\"category\":\"BENCHMARK_DEEP\",\"rule\":" | 567 "\"category\":\"BENCHMARK_DEEP\",\"rule\":" |
| 536 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" | 568 "\"TRACE_ON_NAVIGATION_UNTIL_TRIGGER_OR_FULL\",\"trigger_name\":" |
| 537 "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); | 569 "\"foo2\"}],\"mode\":\"REACTIVE_TRACING_MODE\"}"); |
| 538 } | 570 } |
| 539 } | 571 } |
| 540 | 572 |
| 541 } // namspace content | 573 } // namspace content |
| OLD | NEW |