Skip to content

Instantly share code, notes, and snippets.

@badboy
Last active August 21, 2018 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save badboy/ed570f179a7bdd81944ef3cb90599288 to your computer and use it in GitHub Desktop.
Save badboy/ed570f179a7bdd81944ef3cb90599288 to your computer and use it in GitHub Desktop.
/* This file is auto-generated, see gen_histogram_phf.py. */
#ifndef mozilla_TelemetryHistogramNameMap_h
#define mozilla_TelemetryHistogramNameMap_h
namespace mozilla {
namespace Telemetry {
const uint32_t sHistogramIDByNameLookupEntries[] = {
691,
693,
1042,
628,
680,
826,
919,
1673,
1539,
562,
1560,
1064,
1337,
1612,
1288,
180,
34,
641,
506,
763,
343,
1606,
852,
1454,
411,
437,
1587,
1306,
1397,
1076,
552,
1254,
744,
466,
388,
543,
792,
31,
272,
236,
162,
999,
1675,
1010,
1060,
103,
1484,
41,
1360,
976,
1495,
1415,
357,
380,
1229,
814,
929,
1347,
758,
899,
1476,
190,
273,
1733,
253,
1473,
986,
1499,
127,
1595,
1083,
1557,
1167,
308,
540,
615,
128,
1231,
214,
534,
1594,
1234,
1317,
811,
1034,
1578,
524,
1267,
993,
652,
259,
1522,
1259,
389,
141,
886,
733,
279,
832,
1573,
90,
1079,
368,
1170,
286,
104,
1220,
11,
94,
1093,
932,
1580,
1427,
1281,
1477,
1236,
1425,
1590,
431,
1006,
1581,
20,
271,
1485,
499,
1437,
837,
451,
1634,
401,
1262,
956,
1598,
1009,
813,
1375,
587,
1177,
1228,
1684,
447,
1572,
1440,
505,
1500,
76,
135,
105,
646,
1611,
1685,
1052,
1403,
66,
23,
1741,
82,
706,
119,
940,
46,
1633,
872,
446,
7,
406,
1620,
1503,
1035,
52,
460,
1616,
331,
1084,
1638,
1102,
79,
1129,
1125,
1012,
1669,
797,
964,
1021,
321,
1000,
339,
573,
442,
1056,
29,
1623,
1301,
725,
1472,
35,
1233,
526,
719,
1193,
1111,
459,
313,
366,
639,
154,
618,
1218,
958,
296,
1613,
1610,
808,
963,
1640,
1723,
784,
309,
1705,
106,
1351,
359,
673,
1379,
215,
212,
254,
450,
24,
972,
593,
1570,
640,
1520,
527,
1087,
144,
1014,
1693,
408,
1704,
909,
1700,
703,
1107,
991,
752,
146,
787,
1053,
1216,
327,
1730,
1230,
842,
1131,
55,
1737,
73,
571,
606,
1187,
873,
917,
1119,
954,
1157,
493,
504,
1688,
1315,
856,
737,
790,
485,
476,
1431,
905,
642,
907,
1635,
1618,
771,
705,
759,
1199,
1419,
217,
1497,
878,
1043,
998,
966,
671,
113,
726,
304,
688,
520,
96,
194,
1121,
1442,
906,
218,
502,
1527,
1747,
423,
1400,
1165,
381,
1507,
889,
1313,
358,
567,
1206,
1630,
661,
32,
936,
1215,
16,
1486,
1321,
1185,
1548,
728,
457,
172,
1025,
349,
1698,
1334,
1396,
667,
1660,
883,
1464,
867,
831,
1535,
707,
685,
1643,
412,
533,
1022,
1593,
713,
1434,
301,
996,
894,
475,
949,
1123,
293,
1474,
1222,
1328,
550,
948,
898,
486,
1137,
1380,
625,
490,
1596,
480,
201,
1294,
220,
323,
1407,
988,
1516,
1656,
537,
1714,
248,
1357,
57,
624,
1104,
840,
1488,
230,
6,
793,
1645,
1579,
791,
404,
69,
136,
345,
754,
370,
579,
819,
1204,
314,
1054,
789,
1426,
724,
1364,
122,
708,
191,
1521,
1461,
1,
364,
1251,
851,
1646,
508,
1402,
115,
674,
1344,
895,
1699,
1302,
672,
735,
1666,
635,
1619,
945,
1655,
762,
664,
1569,
1617,
1258,
1460,
443,
371,
1142,
369,
780,
258,
1213,
921,
994,
1568,
681,
47,
54,
1373,
689,
731,
166,
1388,
1465,
1641,
766,
1505,
256,
1748,
1534,
1341,
1141,
495,
1051,
1676,
1734,
1272,
92,
1467,
223,
1098,
310,
1536,
277,
1134,
95,
1300,
197,
1550,
848,
1455,
1232,
1389,
1164,
1745,
1482,
89,
989,
1248,
1654,
312,
1679,
10,
518,
1650,
924,
1547,
1628,
997,
1558,
1190,
1731,
264,
1212,
1181,
1604,
1405,
171,
658,
42,
456,
419,
340,
862,
367,
439,
1475,
1456,
5,
535,
1387,
950,
1374,
289,
1082,
1518,
746,
920,
679,
1268,
1028,
1563,
1729,
306,
1067,
176,
1105,
330,
1707,
585,
1591,
767,
1444,
868,
970,
1519,
843,
531,
1667,
468,
151,
1226,
374,
828,
433,
1275,
325,
750,
501,
782,
1562,
1448,
1540,
1366,
282,
549,
484,
189,
925,
740,
1749,
747,
392,
1047,
796,
938,
373,
1069,
71,
117,
637,
1412,
1710,
426,
995,
402,
333,
1122,
857,
1130,
1583,
247,
1608,
574,
939,
188,
984,
835,
1316,
1377,
717,
98,
43,
649,
474,
1529,
897,
1720,
97,
242,
1436,
1135,
957,
276,
1445,
891,
497,
1296,
195,
488,
1354,
1725,
841,
1152,
1050,
344,
887,
503,
619,
177,
1029,
1269,
116,
410,
774,
613,
353,
1266,
1312,
270,
1493,
1661,
700,
123,
576,
1309,
1564,
1046,
605,
580,
1247,
1555,
1077,
698,
1483,
695,
1566,
203,
1653,
1636,
65,
269,
1651,
387,
1176,
781,
558,
316,
1632,
156,
1559,
351,
583,
1552,
1197,
1044,
1227,
1719,
118,
1443,
1114,
14,
1297,
1541,
481,
913,
420,
982,
590,
465,
454,
1088,
507,
441,
1381,
1257,
1626,
261,
823,
124,
812,
1457,
783,
1343,
1394,
12,
1658,
184,
444,
1032,
56,
736,
1279,
1468,
168,
912,
911,
1391,
1310,
578,
50,
1253,
1392,
471,
1680,
1183,
1169,
99,
1501,
445,
300,
961,
100,
80,
1358,
213,
382,
138,
1627,
469,
892,
1241,
427,
770,
435,
601,
1264,
1432,
715,
1739,
1242,
1159,
871,
335,
18,
951,
489,
607,
1146,
941,
1718,
1401,
1097,
1697,
1036,
243,
1329,
375,
385,
592,
120,
1599,
155,
668,
721,
621,
1298,
839,
384,
280,
1338,
1265,
0,
594,
1649,
1671,
1068,
290,
931,
153,
885,
928,
8,
1538,
647,
922,
547,
1386,
249,
1191,
1331,
866,
251,
219,
139,
298,
59,
756,
1346,
1333,
239,
877,
880,
1011,
379,
1549,
1694,
1614,
833,
235,
1735,
1589,
684,
1195,
3,
1188,
1071,
669,
983,
1683,
1345,
1179,
169,
1575,
1194,
1184,
1162,
1458,
48,
1509,
145,
228,
193,
200,
622,
875,
1243,
470,
803,
1702,
1332,
1244,
1450,
1246,
26,
595,
1709,
968,
1533,
1370,
1545,
743,
1597,
926,
810,
861,
1424,
528,
1108,
1217,
51,
1120,
1350,
415,
1586,
334,
175,
1463,
1023,
930,
21,
675,
1727,
274,
1175,
761,
1174,
915,
405,
291,
425,
299,
360,
556,
1624,
666,
19,
1249,
514,
1726,
257,
542,
655,
1211,
1182,
45,
709,
1447,
1609,
1063,
900,
315,
1019,
1554,
742,
1750,
1200,
1138,
1439,
548,
38,
1508,
424,
255,
1585,
121,
711,
987,
1237,
1553,
1514,
438,
545,
969,
935,
904,
1031,
1421,
1263,
566,
799,
159,
347,
1303,
563,
638,
645,
727,
1542,
1143,
829,
937,
204,
1041,
554,
165,
1363,
77,
297,
1070,
1744,
1441,
58,
81,
1150,
947,
111,
1642,
738,
422,
1094,
1318,
1577,
795,
108,
600,
626,
1020,
1686,
599,
1565,
462,
710,
1361,
769,
1103,
584,
806,
284,
1172,
617,
1489,
229,
237,
192,
682,
2,
677,
597,
1677,
1039,
985,
1214,
614,
134,
1219,
206,
409,
869,
714,
1515,
555,
1622,
676,
850,
1192,
207,
1551,
1117,
656,
1208,
174,
225,
1691,
1295,
112,
17,
246,
1582,
536,
551,
1260,
1270,
1491,
398,
1355,
1647,
1145,
107,
1013,
1524,
1320,
1168,
226,
376,
630,
1171,
1664,
686,
472,
482,
1154,
1112,
1410,
858,
1160,
179,
397,
651,
860,
1299,
1201,
453,
1352,
1271,
149,
1602,
777,
1205,
396,
1113,
683,
1090,
914,
483,
487,
943,
1293,
1161,
1223,
632,
1099,
448,
463,
221,
1326,
1696,
182,
1057,
604,
1621,
452,
417,
760,
365,
1453,
1359,
61,
1339,
511,
960,
1494,
1588,
1203,
356,
516,
660,
1124,
1030,
1210,
1324,
962,
434,
62,
1282,
157,
49,
348,
458,
1081,
800,
500,
609,
1637,
363,
84,
285,
1528,
311,
1096,
1376,
1109,
974,
1481,
477,
765,
91,
602,
513,
227,
393,
749,
196,
980,
776,
1625,
240,
109,
824,
63,
529,
1681,
1479,
244,
1378,
1462,
292,
692,
9,
85,
1721,
802,
1423,
40,
959,
198,
324,
992,
515,
1728,
1287,
553,
975,
1414,
1692,
720,
1404,
884,
231,
620,
1631,
863,
199,
1511,
879,
1652,
1657,
1149,
712,
1073,
1305,
133,
1576,
1715,
821,
1682,
588,
1556,
1722,
1314,
1058,
1001,
1066,
1008,
650,
1390,
391,
152,
186,
773,
825,
87,
730,
1224,
569,
916,
1480,
663,
1307,
1078,
28,
25,
1428,
288,
1433,
337,
1584,
822,
890,
224,
183,
561,
764,
538,
978,
510,
1133,
1348,
1430,
981,
934,
1238,
1399,
775,
881,
302,
816,
745,
238,
322,
33,
757,
187,
722,
1139,
287,
167,
467,
1525,
72,
1603,
874,
704,
233,
1644,
1209,
326,
1711,
1322,
1178,
1308,
137,
216,
1153,
39,
377,
1140,
525,
1592,
1080,
1040,
927,
1278,
1703,
13,
1163,
283,
1033,
1571,
1239,
1708,
1311,
1290,
1289,
1221,
670,
1393,
1062,
407,
1523,
1225,
723,
1510,
910,
564,
1743,
1408,
1256,
603,
60,
295,
1471,
544,
846,
478,
102,
479,
430,
142,
208,
1128,
1304,
1452,
855,
634,
616,
1059,
440,
801,
449,
830,
690,
699,
636,
1085,
147,
657,
131,
643,
498,
1498,
338,
572,
946,
1724,
1277,
629,
610,
1330,
148,
847,
1446,
68,
1368,
1250,
1422,
864,
390,
1284,
971,
1055,
27,
67,
1016,
1273,
1532,
436,
1574,
44,
140,
965,
132,
1356,
83,
252,
1502,
143,
753,
281,
1342,
342,
977,
1048,
844,
294,
1717,
1089,
1716,
1276,
734,
93,
955,
596,
1504,
1095,
395,
1365,
265,
633,
222,
1340,
1751,
1037,
853,
598,
820,
354,
1151,
1648,
1323,
1049,
1413,
1738,
414,
400,
211,
565,
1470,
241,
702,
432,
809,
361,
1005,
64,
559,
22,
1091,
589,
687,
332,
1166,
1349,
741,
923,
560,
659,
1687,
1325,
130,
665,
494,
818,
1701,
1601,
372,
1240,
1255,
1478,
250,
608,
568,
1546,
694,
336,
496,
202,
1074,
1490,
611,
1732,
1662,
1526,
362,
260,
1429,
461,
1513,
492,
1395,
1367,
413,
1411,
209,
1672,
1027,
1189,
1274,
1561,
581,
612,
1144,
163,
901,
1409,
1327,
870,
849,
1706,
1286,
1147,
836,
521,
1690,
185,
1398,
74,
827,
1537,
854,
1007,
729,
512,
1451,
1156,
129,
1713,
944,
1435,
755,
1004,
1235,
1530,
4,
275,
1118,
896,
1406,
262,
541,
778,
1362,
1371,
1742,
88,
1003,
320,
546,
266,
952,
158,
882,
539,
785,
1101,
1469,
232,
1531,
170,
519,
967,
15,
591,
1026,
1002,
1420,
739,
845,
627,
278,
1155,
421,
1017,
1116,
1674,
1092,
1045,
644,
1198,
319,
1385,
125,
817,
30,
532,
1746,
403,
1336,
908,
1252,
234,
1115,
1335,
653,
697,
893,
834,
1245,
328,
1018,
164,
1261,
1639,
798,
582,
804,
1207,
268,
1086,
805,
1615,
267,
318,
779,
386,
210,
1186,
346,
1678,
1492,
530,
114,
429,
557,
1695,
1605,
1416,
1283,
751,
1668,
263,
523,
570,
718,
1110,
1382,
1353,
1670,
933,
1061,
36,
1148,
748,
383,
1740,
53,
1544,
942,
1072,
631,
1202,
575,
888,
953,
416,
378,
1291,
1665,
1285,
1280,
1459,
577,
1496,
1517,
1065,
245,
181,
768,
794,
1075,
1319,
1038,
648,
455,
160,
696,
86,
352,
173,
464,
865,
623,
307,
418,
150,
1369,
1629,
205,
1417,
305,
1180,
101,
859,
716,
355,
350,
1466,
1449,
1543,
161,
838,
78,
317,
1136,
662,
807,
509,
1106,
1015,
1132,
701,
586,
126,
1567,
1487,
1512,
979,
75,
786,
1383,
329,
772,
110,
517,
178,
341,
303,
1607,
990,
491,
399,
732,
473,
1292,
678,
37,
1506,
1418,
876,
1689,
902,
1372,
788,
1384,
1196,
918,
1126,
1173,
1127,
1024,
1712,
1659,
1736,
815,
973,
654,
522,
1600,
428,
1438,
1100,
1158,
903,
1663,
70,
394
};
const uint32_t&
HistogramIDByNameLookup(const nsACString& aKey)
{
const char* bytes = aKey.BeginReading();
size_t length = aKey.Length();
auto hash = [&] (uint32_t basis) -> uint32_t {
for (size_t i = 0; i < length; ++i) {
basis = (basis ^ uint8_t(bytes[i])) * 16777619;
}
return basis;
};
static const uint16_t BASES[] = {
17, 2, 55, 1, 10, 6, 22, 30, 82, 19, 0, 2, 12, 19, 7, 23,
32, 14, 8, 112, 50, 25, 8, 3, 10, 12, 26, 139, 4, 3, 113, 3,
71, 9, 3, 15, 23, 3, 11, 30, 6, 33, 15, 6, 44, 29, 2, 1,
28, 16, 10, 72, 28, 28, 2, 12, 8, 28, 32, 2, 22, 14, 2, 4,
31, 26, 22, 16, 35, 27, 7, 100, 115, 9, 9, 20, 12, 4, 30, 130,
4, 102, 299, 1, 1, 4, 82, 25, 11, 10, 1, 166, 2, 10, 29, 0,
6, 20, 15, 6, 13, 43, 10, 1, 1, 99, 47, 151, 51, 1, 100, 57,
45, 175, 25, 30, 81, 88, 0, 8, 1, 345, 140, 35, 6, 18, 1, 5,
1, 29, 45, 10, 41, 142, 35, 7, 3, 104, 90, 2, 29, 35, 6, 51,
76, 11, 6, 227, 48, 7, 36, 3, 19, 42, 103, 67, 18, 5, 19, 23,
113, 6, 1, 5, 13, 11, 25, 13, 4, 3, 1, 7, 8, 23, 1, 114,
18, 8, 63, 1, 1, 39, 1, 53, 59, 42, 65, 1, 35, 1, 143, 2,
16, 158, 6, 135, 32, 197, 1, 38, 12, 64, 1, 51, 4, 99, 34, 1,
6, 192, 40, 11, 4, 5, 35, 40, 21, 40, 59, 40, 9, 206, 41, 68,
6, 173, 65, 8, 23, 157, 3, 101, 119, 38, 70, 10, 413, 1, 61, 1,
52, 1, 16, 288, 19, 19, 78, 8, 12, 6, 87, 446, 1, 25, 121, 5,
25, 1, 23, 137, 65, 2, 35, 0, 44, 1, 6, 34, 81, 2, 0, 117,
48, 1, 8, 9, 98, 8, 6, 141, 0, 3, 2, 0, 142, 40, 48, 7,
8, 150, 68, 22, 36, 12, 44, 6, 7, 317, 3, 9, 23, 454, 129, 19,
200, 1, 1, 18, 3, 3, 13, 15, 4, 4, 89, 1, 43, 8, 111, 106,
53, 24, 0, 132, 1, 221, 90, 74, 100, 403, 3, 8, 87, 35, 285, 12,
59, 22, 16, 84, 4, 27, 468, 17, 30, 31, 37, 83, 116, 303, 65, 91,
709, 32, 346, 2, 12, 23, 96, 113, 202, 273, 85, 5, 29, 1, 51, 10,
75, 33, 8, 250, 11, 5, 519, 1, 36, 33, 11, 67, 422, 234, 122, 508,
5, 18, 113, 47, 171, 1, 4, 53, 0, 127, 20, 52, 7, 0, 428, 140,
1, 7, 235, 250, 266, 89, 91, 30, 196, 34, 67, 219, 48, 3, 104, 44,
457, 241, 8, 528, 661, 31, 59, 44, 81, 36, 60, 1, 296, 38, 320, 55,
2, 116, 1, 107, 150, 2, 6, 3, 2, 2, 18, 343, 2, 114, 3, 764,
59,1224, 195, 0, 450, 308, 25, 636, 0, 7, 7, 28, 435, 1, 26, 134,
98, 0, 98, 39, 30, 4, 23, 43,2372, 174, 496, 4, 3, 30, 56, 589,
171, 9, 23, 8, 11, 36, 26, 58, 93, 328, 401, 1, 257, 609, 122, 113,
0, 399, 103, 568,1040, 562, 22, 27, 2, 306, 24,1749, 0, 10, 12, 59,
};
uint16_t basis = BASES[hash(2166136261) % 512];
auto& entry = sHistogramIDByNameLookupEntries[hash(basis) % 1752];
return entry;
}
} // namespace mozilla
} // namespace Telemetry
#endif // mozilla_TelemetryHistogramNameMap_h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment