A game about forced loneliness, made by TACStudios
1using System;
2
3namespace Unity.PerformanceTesting
4{
5 /// <summary>
6 /// Measurement unit used for sample groups.
7 /// </summary>
8 public enum SampleUnit
9 {
10 /// <summary>
11 /// Nanoseconds.
12 /// </summary>
13 Nanosecond,
14
15 /// <summary>
16 /// Microseconds.
17 /// </summary>
18 Microsecond,
19
20 /// <summary>
21 /// Milliseconds.
22 /// </summary>
23 Millisecond,
24
25 /// <summary>
26 /// Seconds.
27 /// </summary>
28 Second,
29
30 /// <summary>
31 /// Bytes.
32 /// </summary>
33 Byte,
34
35 /// <summary>
36 /// Kilobytes.
37 /// </summary>
38 Kilobyte,
39
40 /// <summary>
41 /// Megabytes.
42 /// </summary>
43 Megabyte,
44
45 /// <summary>
46 /// Gigabytes.
47 /// </summary>
48 Gigabyte,
49
50 /// <summary>
51 /// Undefined, represents any other unit we don't have by default. When using it make sure your sample group name represents the measurement.
52 /// </summary>
53 Undefined
54 }
55
56 static class SampleUnitExtensions
57 {
58 public static string ShortName(this SampleUnit s)
59 {
60 switch (s)
61 {
62 case SampleUnit.Nanosecond:
63 return "ns";
64 case SampleUnit.Microsecond:
65 return "μs";
66 case SampleUnit.Millisecond:
67 return "ms";
68 case SampleUnit.Second:
69 return "s";
70 case SampleUnit.Byte:
71 return "b";
72 case SampleUnit.Kilobyte:
73 return "kb";
74 case SampleUnit.Megabyte:
75 return "mb";
76 case SampleUnit.Gigabyte:
77 return "gb";
78 case SampleUnit.Undefined:
79 return "";
80 default:
81 throw new ArgumentOutOfRangeException(nameof(s), s, null);
82 }
83 }
84 }
85}