OLD | NEW |
1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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 import json | 5 import json |
6 import math | 6 import math |
7 import time | 7 import time |
8 import unittest | 8 import unittest |
9 | 9 |
10 from tracing.value import histogram | 10 from tracing.value import histogram |
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 def testMerge(self): | 947 def testMerge(self): |
948 events = histogram.RelatedEventSet() | 948 events = histogram.RelatedEventSet() |
949 events.Add({ | 949 events.Add({ |
950 'stableId': '0.0', | 950 'stableId': '0.0', |
951 'title': 'foo', | 951 'title': 'foo', |
952 'start': 0, | 952 'start': 0, |
953 'duration': 1, | 953 'duration': 1, |
954 }) | 954 }) |
955 generic = histogram.GenericSet(['generic diagnostic']) | 955 generic = histogram.GenericSet(['generic diagnostic']) |
956 generic2 = histogram.GenericSet(['generic diagnostic 2']) | 956 generic2 = histogram.GenericSet(['generic diagnostic 2']) |
957 related_set = histogram.RelatedHistogramSet([ | 957 related_map = histogram.RelatedHistogramMap() |
958 histogram.Histogram('histogram', 'count'), | 958 related_map.Set('a', histogram.Histogram('histogram', 'count')) |
959 ]) | |
960 | 959 |
961 hist = histogram.Histogram('', 'count') | 960 hist = histogram.Histogram('', 'count') |
962 | 961 |
963 # When Histograms are merged, first an empty clone is created with an empty | 962 # When Histograms are merged, first an empty clone is created with an empty |
964 # DiagnosticMap. | 963 # DiagnosticMap. |
965 hist2 = histogram.Histogram('', 'count') | 964 hist2 = histogram.Histogram('', 'count') |
966 hist2.diagnostics['a'] = generic | 965 hist2.diagnostics['a'] = generic |
967 hist.diagnostics.Merge(hist2.diagnostics, hist, hist2) | 966 hist.diagnostics.Merge(hist2.diagnostics, hist, hist2) |
968 self.assertIs(generic, hist.diagnostics['a']) | 967 self.assertIs(generic, hist.diagnostics['a']) |
969 | 968 |
970 # Separate keys are not merged. | 969 # Separate keys are not merged. |
971 hist3 = histogram.Histogram('', 'count') | 970 hist3 = histogram.Histogram('', 'count') |
972 hist3.diagnostics['b'] = generic2 | 971 hist3.diagnostics['b'] = generic2 |
973 hist.diagnostics.Merge(hist3.diagnostics, hist, hist3) | 972 hist.diagnostics.Merge(hist3.diagnostics, hist, hist3) |
974 self.assertIs(generic, hist.diagnostics['a']) | 973 self.assertIs(generic, hist.diagnostics['a']) |
975 self.assertIs(generic2, hist.diagnostics['b']) | 974 self.assertIs(generic2, hist.diagnostics['b']) |
976 | 975 |
977 # Merging unmergeable diagnostics should produce an | 976 # Merging unmergeable diagnostics should produce an |
978 # UnmergeableDiagnosticSet. | 977 # UnmergeableDiagnosticSet. |
979 hist4 = histogram.Histogram('', 'count') | 978 hist4 = histogram.Histogram('', 'count') |
980 hist4.diagnostics['a'] = related_set | 979 hist4.diagnostics['a'] = related_map |
981 hist.diagnostics.Merge(hist4.diagnostics, hist, hist4) | 980 hist.diagnostics.Merge(hist4.diagnostics, hist, hist4) |
982 self.assertIsInstance( | 981 self.assertIsInstance( |
983 hist.diagnostics['a'], histogram.UnmergeableDiagnosticSet) | 982 hist.diagnostics['a'], histogram.UnmergeableDiagnosticSet) |
984 diagnostics = list(hist.diagnostics['a']) | 983 diagnostics = list(hist.diagnostics['a']) |
985 self.assertIs(generic, diagnostics[0]) | 984 self.assertIs(generic, diagnostics[0]) |
986 self.assertIs(related_set, diagnostics[1]) | 985 self.assertIs(related_map, diagnostics[1]) |
987 | 986 |
988 # UnmergeableDiagnosticSets are mergeable. | 987 # UnmergeableDiagnosticSets are mergeable. |
989 hist5 = histogram.Histogram('', 'count') | 988 hist5 = histogram.Histogram('', 'count') |
990 hist5.diagnostics['a'] = histogram.UnmergeableDiagnosticSet( | 989 hist5.diagnostics['a'] = histogram.UnmergeableDiagnosticSet( |
991 [events, generic2]) | 990 [events, generic2]) |
992 hist.diagnostics.Merge(hist5.diagnostics, hist, hist5) | 991 hist.diagnostics.Merge(hist5.diagnostics, hist, hist5) |
993 self.assertIsInstance( | 992 self.assertIsInstance( |
994 hist.diagnostics['a'], histogram.UnmergeableDiagnosticSet) | 993 hist.diagnostics['a'], histogram.UnmergeableDiagnosticSet) |
995 diagnostics = list(hist.diagnostics['a']) | 994 diagnostics = list(hist.diagnostics['a']) |
996 self.assertIs(generic, diagnostics[0]) | 995 self.assertIs(generic, diagnostics[0]) |
997 self.assertIs(related_set, diagnostics[1]) | 996 self.assertIs(related_map, diagnostics[1]) |
998 self.assertIs(events, diagnostics[2]) | 997 self.assertIs(events, diagnostics[2]) |
999 self.assertIs(generic2, diagnostics[3]) | 998 self.assertIs(generic2, diagnostics[3]) |
OLD | NEW |