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

Side by Side Diff: ui/latency/latency_info_unittest.cc

Issue 2914023002: Remove LatencyInfo::sequence_number. (May break metrics).
Patch Set: Fix Windows. Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/latency/latency_info.h" 5 #include "ui/latency/latency_info.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace ui { 11 namespace ui {
12 12
13 TEST(LatencyInfoTest, AddTwoSeparateEvent) { 13 TEST(LatencyInfoTest, AddTwoSeparateEvent) {
14 LatencyInfo info; 14 LatencyInfo info;
15 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 15 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
16 0, 16 0,
17 1,
18 base::TimeTicks::FromInternalValue(100), 17 base::TimeTicks::FromInternalValue(100),
19 1); 18 1);
20 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 19 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT,
21 1, 20 1,
22 5,
23 base::TimeTicks::FromInternalValue(1000), 21 base::TimeTicks::FromInternalValue(1000),
24 2); 22 2);
25 23
26 EXPECT_EQ(info.latency_components().size(), 2u); 24 EXPECT_EQ(info.latency_components().size(), 2u);
27 LatencyInfo::LatencyComponent component; 25 LatencyInfo::LatencyComponent component;
28 EXPECT_FALSE( 26 EXPECT_FALSE(
29 info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, &component)); 27 info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, &component));
30 EXPECT_FALSE( 28 EXPECT_FALSE(
31 info.FindLatency(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 1, &component)); 29 info.FindLatency(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 1, &component));
32 EXPECT_TRUE( 30 EXPECT_TRUE(
33 info.FindLatency(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 0, &component)); 31 info.FindLatency(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 0, &component));
34 EXPECT_EQ(component.sequence_number, 1);
35 EXPECT_EQ(component.event_count, 1u); 32 EXPECT_EQ(component.event_count, 1u);
36 EXPECT_EQ(component.event_time.ToInternalValue(), 100); 33 EXPECT_EQ(component.event_time.ToInternalValue(), 100);
37 EXPECT_TRUE( 34 EXPECT_TRUE(
38 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, &component)); 35 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, &component));
39 EXPECT_EQ(component.sequence_number, 5);
40 EXPECT_EQ(component.event_count, 2u); 36 EXPECT_EQ(component.event_count, 2u);
41 EXPECT_EQ(component.event_time.ToInternalValue(), 1000); 37 EXPECT_EQ(component.event_time.ToInternalValue(), 1000);
42 } 38 }
43 39
44 TEST(LatencyInfoTest, AddTwoSameEvent) { 40 TEST(LatencyInfoTest, AddTwoSameEvent) {
45 LatencyInfo info; 41 LatencyInfo info;
46 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 42 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT,
47 0, 43 0,
48 30,
49 base::TimeTicks::FromInternalValue(100), 44 base::TimeTicks::FromInternalValue(100),
50 2); 45 2);
51 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 46 info.AddLatencyNumberWithTimestamp(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT,
52 0, 47 0,
53 13,
54 base::TimeTicks::FromInternalValue(200), 48 base::TimeTicks::FromInternalValue(200),
55 3); 49 3);
56 50
57 EXPECT_EQ(info.latency_components().size(), 1u); 51 EXPECT_EQ(info.latency_components().size(), 1u);
58 LatencyInfo::LatencyComponent component; 52 LatencyInfo::LatencyComponent component;
59 EXPECT_FALSE( 53 EXPECT_FALSE(
60 info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, &component)); 54 info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, &component));
61 EXPECT_FALSE( 55 EXPECT_FALSE(
62 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, &component)); 56 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, &component));
63 EXPECT_TRUE( 57 EXPECT_TRUE(
64 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, &component)); 58 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, &component));
65 EXPECT_EQ(component.sequence_number, 30);
66 EXPECT_EQ(component.event_count, 5u); 59 EXPECT_EQ(component.event_count, 5u);
67 EXPECT_EQ(component.event_time.ToInternalValue(), (100 * 2 + 200 * 3) / 5); 60 EXPECT_EQ(component.event_time.ToInternalValue(), (100 * 2 + 200 * 3) / 5);
68 } 61 }
69 62
70 TEST(LatencyInfoTest, RemoveLatency) { 63 TEST(LatencyInfoTest, RemoveLatency) {
71 LatencyInfo info; 64 LatencyInfo info;
72 info.AddLatencyNumber(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0); 65 info.AddLatencyNumber(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0);
73 info.AddLatencyNumber(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, 0); 66 info.AddLatencyNumber(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1);
74 info.AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); 67 info.AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0);
75 68
76 info.RemoveLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT); 69 info.RemoveLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT);
77 70
78 EXPECT_FALSE(info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0)); 71 EXPECT_FALSE(
79 EXPECT_FALSE(info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 1, 0)); 72 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, nullptr));
80 EXPECT_TRUE(info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0)); 73 EXPECT_FALSE(
74 info.FindLatency(INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, nullptr));
75 EXPECT_TRUE(info.FindLatency(INPUT_EVENT_LATENCY_UI_COMPONENT, nullptr));
76 }
77
78 TEST(LatencyInfoTest, TraceIdsIncrease) {
tdresser 2017/06/08 18:36:44 Real change.
79 LatencyInfo info1;
80 // ID should be -1 until a begin component has been added.
81 EXPECT_EQ(info1.trace_id(), -1);
82
83 info1.AddLatencyNumber(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 0);
84 EXPECT_EQ(info1.trace_id(), 0);
85
86 LatencyInfo info2;
87 // ID should be -1 until a begin component has been added.
88 EXPECT_EQ(info2.trace_id(), -1);
89
90 info2.AddLatencyNumber(INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 0);
91 EXPECT_EQ(info2.trace_id(), 1);
81 } 92 }
82 93
83 } // namespace ui 94 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698