OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/renderer/devtools/v8_sampling_profiler.h" | 5 #include "content/renderer/devtools/v8_sampling_profiler.h" |
6 | 6 |
7 #if defined(OS_POSIX) | 7 #if defined(OS_POSIX) |
8 #include <signal.h> | 8 #include <signal.h> |
9 #define USE_SIGNALS | 9 #define USE_SIGNALS |
10 #endif | 10 #endif |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 bool enabled; | 592 bool enabled; |
593 TRACE_EVENT_CATEGORY_GROUP_ENABLED( | 593 TRACE_EVENT_CATEGORY_GROUP_ENABLED( |
594 TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile"), &enabled); | 594 TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile"), &enabled); |
595 if (!enabled) | 595 if (!enabled) |
596 return; | 596 return; |
597 | 597 |
598 // Do not enable sampling profiler in continuous mode, as losing | 598 // Do not enable sampling profiler in continuous mode, as losing |
599 // Jit code events may not be afforded. | 599 // Jit code events may not be afforded. |
600 // TODO(alph): add support of infinite recording of meta trace events. | 600 // TODO(alph): add support of infinite recording of meta trace events. |
601 base::trace_event::TraceRecordMode record_mode = | 601 base::trace_event::TraceRecordMode record_mode = |
602 TraceLog::GetInstance()->GetCurrentTraceOptions().record_mode; | 602 TraceLog::GetInstance()->GetCurrentTraceConfig().GetTraceRecordMode(); |
603 if (record_mode == base::trace_event::TraceRecordMode::RECORD_CONTINUOUSLY) | 603 if (record_mode == base::trace_event::TraceRecordMode::RECORD_CONTINUOUSLY) |
604 return; | 604 return; |
605 | 605 |
606 task_runner_->PostTask(FROM_HERE, | 606 task_runner_->PostTask(FROM_HERE, |
607 base::Bind(&V8SamplingProfiler::StartSamplingThread, | 607 base::Bind(&V8SamplingProfiler::StartSamplingThread, |
608 base::Unretained(this))); | 608 base::Unretained(this))); |
609 } | 609 } |
610 | 610 |
611 void V8SamplingProfiler::OnTraceLogDisabled() { | 611 void V8SamplingProfiler::OnTraceLogDisabled() { |
612 if (!sampling_thread_.get()) | 612 if (!sampling_thread_.get()) |
613 return; | 613 return; |
614 sampling_thread_->Stop(); | 614 sampling_thread_->Stop(); |
615 sampling_thread_.reset(); | 615 sampling_thread_.reset(); |
616 } | 616 } |
617 | 617 |
618 void V8SamplingProfiler::EnableSamplingEventForTesting(int code_added_events, | 618 void V8SamplingProfiler::EnableSamplingEventForTesting(int code_added_events, |
619 int sample_events) { | 619 int sample_events) { |
620 render_thread_sampler_->SetEventsToCollectForTest(code_added_events, | 620 render_thread_sampler_->SetEventsToCollectForTest(code_added_events, |
621 sample_events); | 621 sample_events); |
622 waitable_event_for_testing_.reset(new base::WaitableEvent(false, false)); | 622 waitable_event_for_testing_.reset(new base::WaitableEvent(false, false)); |
623 } | 623 } |
624 | 624 |
625 void V8SamplingProfiler::WaitSamplingEventForTesting() { | 625 void V8SamplingProfiler::WaitSamplingEventForTesting() { |
626 waitable_event_for_testing_->Wait(); | 626 waitable_event_for_testing_->Wait(); |
627 } | 627 } |
628 | 628 |
629 } // namespace blink | 629 } // namespace blink |
OLD | NEW |