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 "platform/scheduler/base/task_queue_impl.h" | 5 #include "platform/scheduler/base/task_queue_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/format_macros.h" | |
10 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
11 #include "base/strings/stringprintf.h" | |
12 #include "base/time/time.h" | 10 #include "base/time/time.h" |
13 #include "base/trace_event/blame_context.h" | 11 #include "base/trace_event/blame_context.h" |
14 #include "platform/scheduler/base/task_queue_manager.h" | 12 #include "platform/scheduler/base/task_queue_manager.h" |
15 #include "platform/scheduler/base/task_queue_manager_delegate.h" | 13 #include "platform/scheduler/base/task_queue_manager_delegate.h" |
16 #include "platform/scheduler/base/time_domain.h" | 14 #include "platform/scheduler/base/time_domain.h" |
| 15 #include "platform/scheduler/base/trace_helper.h" |
17 #include "platform/scheduler/base/work_queue.h" | 16 #include "platform/scheduler/base/work_queue.h" |
18 | 17 |
19 namespace blink { | 18 namespace blink { |
20 namespace scheduler { | 19 namespace scheduler { |
21 | 20 |
22 // static | 21 // static |
23 const char* TaskQueue::NameForQueueType(TaskQueue::QueueType queue_type) { | 22 const char* TaskQueue::NameForQueueType(TaskQueue::QueueType queue_type) { |
24 switch (queue_type) { | 23 switch (queue_type) { |
25 case TaskQueue::QueueType::CONTROL: | 24 case TaskQueue::QueueType::CONTROL: |
26 return "control_tq"; | 25 return "control_tq"; |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 DCHECK_EQ(set_index, delayed_work_queue()->work_queue_set_index()); | 496 DCHECK_EQ(set_index, delayed_work_queue()->work_queue_set_index()); |
498 return static_cast<TaskQueue::QueuePriority>(set_index); | 497 return static_cast<TaskQueue::QueuePriority>(set_index); |
499 } | 498 } |
500 | 499 |
501 void TaskQueueImpl::AsValueInto(base::TimeTicks now, | 500 void TaskQueueImpl::AsValueInto(base::TimeTicks now, |
502 base::trace_event::TracedValue* state) const { | 501 base::trace_event::TracedValue* state) const { |
503 base::AutoLock lock(any_thread_lock_); | 502 base::AutoLock lock(any_thread_lock_); |
504 base::AutoLock immediate_incoming_queue_lock(immediate_incoming_queue_lock_); | 503 base::AutoLock immediate_incoming_queue_lock(immediate_incoming_queue_lock_); |
505 state->BeginDictionary(); | 504 state->BeginDictionary(); |
506 state->SetString("name", GetName()); | 505 state->SetString("name", GetName()); |
507 state->SetString( | 506 state->SetString("task_queue_id", TraceHelper::PointerToString(this, false)); |
508 "task_queue_id", | |
509 base::StringPrintf("%" PRIx64, static_cast<uint64_t>( | |
510 reinterpret_cast<uintptr_t>(this)))); | |
511 state->SetBoolean("enabled", IsQueueEnabled()); | 507 state->SetBoolean("enabled", IsQueueEnabled()); |
512 state->SetString("time_domain_name", | 508 state->SetString("time_domain_name", |
513 main_thread_only().time_domain->GetName()); | 509 main_thread_only().time_domain->GetName()); |
514 bool verbose_tracing_enabled = false; | 510 bool verbose_tracing_enabled = false; |
515 TRACE_EVENT_CATEGORY_GROUP_ENABLED( | 511 TRACE_EVENT_CATEGORY_GROUP_ENABLED( |
516 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug"), | 512 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug"), |
517 &verbose_tracing_enabled); | 513 &verbose_tracing_enabled); |
518 state->SetInteger("immediate_incoming_queue_size", | 514 state->SetInteger("immediate_incoming_queue_size", |
519 immediate_incoming_queue().size()); | 515 immediate_incoming_queue().size()); |
520 state->SetInteger("delayed_incoming_queue_size", | 516 state->SetInteger("delayed_incoming_queue_size", |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 } | 901 } |
906 | 902 |
907 void TaskQueueImpl::NotifyWakeUpChangedOnMainThread(base::TimeTicks wake_up) { | 903 void TaskQueueImpl::NotifyWakeUpChangedOnMainThread(base::TimeTicks wake_up) { |
908 if (main_thread_only().observer) | 904 if (main_thread_only().observer) |
909 main_thread_only().observer->OnQueueNextWakeUpChanged(this, wake_up); | 905 main_thread_only().observer->OnQueueNextWakeUpChanged(this, wake_up); |
910 } | 906 } |
911 | 907 |
912 } // namespace internal | 908 } // namespace internal |
913 } // namespace scheduler | 909 } // namespace scheduler |
914 } // namespace blink | 910 } // namespace blink |
OLD | NEW |