OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/task_scheduler/task_tracker.h" | 5 #include "base/task_scheduler/task_tracker.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <utility> | 10 #include <utility> |
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) { | 906 TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) { |
907 auto statistics_recorder = StatisticsRecorder::CreateTemporaryForTesting(); | 907 auto statistics_recorder = StatisticsRecorder::CreateTemporaryForTesting(); |
908 | 908 |
909 TaskTracker tracker; | 909 TaskTracker tracker; |
910 | 910 |
911 struct { | 911 struct { |
912 const TaskTraits traits; | 912 const TaskTraits traits; |
913 const char* const expected_histogram; | 913 const char* const expected_histogram; |
914 } tests[] = { | 914 } tests[] = { |
915 {TaskTraits().WithPriority(TaskPriority::BACKGROUND), | 915 {TaskTraits().WithPriority(TaskPriority::BACKGROUND), |
916 "TaskScheduler.TaskLatency.BackgroundTaskPriority"}, | 916 "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority"}, |
917 {TaskTraits().WithPriority(TaskPriority::BACKGROUND).MayBlock(), | 917 {TaskTraits().WithPriority(TaskPriority::BACKGROUND).MayBlock(), |
918 "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock"}, | 918 "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority.MayBlock"}, |
919 {TaskTraits() | 919 {TaskTraits() |
920 .WithPriority(TaskPriority::BACKGROUND) | 920 .WithPriority(TaskPriority::BACKGROUND) |
921 .WithBaseSyncPrimitives(), | 921 .WithBaseSyncPrimitives(), |
922 "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock"}, | 922 "TaskScheduler.TaskLatencyMicroseconds.BackgroundTaskPriority.MayBlock"}, |
923 {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE), | 923 {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE), |
924 "TaskScheduler.TaskLatency.UserVisibleTaskPriority"}, | 924 "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority"}, |
925 {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE).MayBlock(), | 925 {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE).MayBlock(), |
926 "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock"}, | 926 "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority." |
| 927 "MayBlock"}, |
927 {TaskTraits() | 928 {TaskTraits() |
928 .WithPriority(TaskPriority::USER_VISIBLE) | 929 .WithPriority(TaskPriority::USER_VISIBLE) |
929 .WithBaseSyncPrimitives(), | 930 .WithBaseSyncPrimitives(), |
930 "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock"}, | 931 "TaskScheduler.TaskLatencyMicroseconds.UserVisibleTaskPriority." |
| 932 "MayBlock"}, |
931 {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING), | 933 {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING), |
932 "TaskScheduler.TaskLatency.UserBlockingTaskPriority"}, | 934 "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority"}, |
933 {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING).MayBlock(), | 935 {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING).MayBlock(), |
934 "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock"}, | 936 "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority." |
| 937 "MayBlock"}, |
935 {TaskTraits() | 938 {TaskTraits() |
936 .WithPriority(TaskPriority::USER_BLOCKING) | 939 .WithPriority(TaskPriority::USER_BLOCKING) |
937 .WithBaseSyncPrimitives(), | 940 .WithBaseSyncPrimitives(), |
938 "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock"}}; | 941 "TaskScheduler.TaskLatencyMicroseconds.UserBlockingTaskPriority." |
| 942 "MayBlock"}}; |
939 | 943 |
940 for (const auto& test : tests) { | 944 for (const auto& test : tests) { |
941 auto task = | 945 auto task = |
942 MakeUnique<Task>(FROM_HERE, Bind(&DoNothing), test.traits, TimeDelta()); | 946 MakeUnique<Task>(FROM_HERE, Bind(&DoNothing), test.traits, TimeDelta()); |
943 ASSERT_TRUE(tracker.WillPostTask(task.get())); | 947 ASSERT_TRUE(tracker.WillPostTask(task.get())); |
944 | 948 |
945 HistogramTester tester; | 949 HistogramTester tester; |
946 EXPECT_TRUE(tracker.RunTask(std::move(task), SequenceToken::Create())); | 950 EXPECT_TRUE(tracker.RunTask(std::move(task), SequenceToken::Create())); |
947 tester.ExpectTotalCount(test.expected_histogram, 1); | 951 tester.ExpectTotalCount(test.expected_histogram, 1); |
948 } | 952 } |
949 } | 953 } |
950 | 954 |
951 } // namespace internal | 955 } // namespace internal |
952 } // namespace base | 956 } // namespace base |
OLD | NEW |