constants.ts 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. export enum MetricKind {
  2. METRIC_KIND_UNSPECIFIED = 'METRIC_KIND_UNSPECIFIED',
  3. GAUGE = 'GAUGE',
  4. DELTA = 'DELTA',
  5. CUMULATIVE = 'CUMULATIVE',
  6. }
  7. export enum ValueTypes {
  8. VALUE_TYPE_UNSPECIFIED = 'VALUE_TYPE_UNSPECIFIED',
  9. BOOL = 'BOOL',
  10. INT64 = 'INT64',
  11. DOUBLE = 'DOUBLE',
  12. STRING = 'STRING',
  13. DISTRIBUTION = 'DISTRIBUTION',
  14. MONEY = 'MONEY',
  15. }
  16. export const alignOptions = [
  17. {
  18. text: 'delta',
  19. value: 'ALIGN_DELTA',
  20. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  21. metricKinds: [MetricKind.CUMULATIVE, MetricKind.DELTA],
  22. },
  23. {
  24. text: 'rate',
  25. value: 'ALIGN_RATE',
  26. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  27. metricKinds: [MetricKind.CUMULATIVE, MetricKind.DELTA],
  28. },
  29. {
  30. text: 'interpolate',
  31. value: 'ALIGN_INTERPOLATE',
  32. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  33. metricKinds: [MetricKind.GAUGE],
  34. },
  35. {
  36. text: 'next older',
  37. value: 'ALIGN_NEXT_OLDER',
  38. valueTypes: [
  39. ValueTypes.INT64,
  40. ValueTypes.DOUBLE,
  41. ValueTypes.MONEY,
  42. ValueTypes.DISTRIBUTION,
  43. ValueTypes.STRING,
  44. ValueTypes.VALUE_TYPE_UNSPECIFIED,
  45. ValueTypes.BOOL,
  46. ],
  47. metricKinds: [MetricKind.GAUGE],
  48. },
  49. {
  50. text: 'min',
  51. value: 'ALIGN_MIN',
  52. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  53. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  54. },
  55. {
  56. text: 'max',
  57. value: 'ALIGN_MAX',
  58. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  59. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  60. },
  61. {
  62. text: 'mean',
  63. value: 'ALIGN_MEAN',
  64. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  65. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  66. },
  67. {
  68. text: 'count',
  69. value: 'ALIGN_COUNT',
  70. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.BOOL],
  71. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  72. },
  73. {
  74. text: 'sum',
  75. value: 'ALIGN_SUM',
  76. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  77. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  78. },
  79. {
  80. text: 'stddev',
  81. value: 'ALIGN_STDDEV',
  82. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  83. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  84. },
  85. {
  86. text: 'count true',
  87. value: 'ALIGN_COUNT_TRUE',
  88. valueTypes: [ValueTypes.BOOL],
  89. metricKinds: [MetricKind.GAUGE],
  90. },
  91. {
  92. text: 'count false',
  93. value: 'ALIGN_COUNT_FALSE',
  94. valueTypes: [ValueTypes.BOOL],
  95. metricKinds: [MetricKind.GAUGE],
  96. },
  97. {
  98. text: 'fraction true',
  99. value: 'ALIGN_FRACTION_TRUE',
  100. valueTypes: [ValueTypes.BOOL],
  101. metricKinds: [MetricKind.GAUGE],
  102. },
  103. {
  104. text: 'percentile 99',
  105. value: 'ALIGN_PERCENTILE_99',
  106. valueTypes: [ValueTypes.DISTRIBUTION],
  107. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  108. },
  109. {
  110. text: 'percentile 95',
  111. value: 'ALIGN_PERCENTILE_95',
  112. valueTypes: [ValueTypes.DISTRIBUTION],
  113. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  114. },
  115. {
  116. text: 'percentile 50',
  117. value: 'ALIGN_PERCENTILE_50',
  118. valueTypes: [ValueTypes.DISTRIBUTION],
  119. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  120. },
  121. {
  122. text: 'percentile 05',
  123. value: 'ALIGN_PERCENTILE_05',
  124. valueTypes: [ValueTypes.DISTRIBUTION],
  125. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  126. },
  127. {
  128. text: 'percent change',
  129. value: 'ALIGN_PERCENT_CHANGE',
  130. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  131. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  132. },
  133. ];
  134. export const aggOptions = [
  135. {
  136. text: 'none',
  137. value: 'REDUCE_NONE',
  138. valueTypes: [
  139. ValueTypes.INT64,
  140. ValueTypes.DOUBLE,
  141. ValueTypes.MONEY,
  142. ValueTypes.DISTRIBUTION,
  143. ValueTypes.BOOL,
  144. ValueTypes.STRING,
  145. ],
  146. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE, MetricKind.METRIC_KIND_UNSPECIFIED],
  147. },
  148. {
  149. text: 'mean',
  150. value: 'REDUCE_MEAN',
  151. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  152. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  153. },
  154. {
  155. text: 'min',
  156. value: 'REDUCE_MIN',
  157. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  158. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE, MetricKind.METRIC_KIND_UNSPECIFIED],
  159. },
  160. {
  161. text: 'max',
  162. value: 'REDUCE_MAX',
  163. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY],
  164. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE, MetricKind.METRIC_KIND_UNSPECIFIED],
  165. },
  166. {
  167. text: 'sum',
  168. value: 'REDUCE_SUM',
  169. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  170. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE, MetricKind.METRIC_KIND_UNSPECIFIED],
  171. },
  172. {
  173. text: 'std. dev.',
  174. value: 'REDUCE_STDDEV',
  175. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  176. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE, MetricKind.METRIC_KIND_UNSPECIFIED],
  177. },
  178. {
  179. text: 'count',
  180. value: 'REDUCE_COUNT',
  181. valueTypes: [
  182. ValueTypes.INT64,
  183. ValueTypes.DOUBLE,
  184. ValueTypes.MONEY,
  185. ValueTypes.DISTRIBUTION,
  186. ValueTypes.BOOL,
  187. ValueTypes.STRING,
  188. ],
  189. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE],
  190. },
  191. {
  192. text: 'count true',
  193. value: 'REDUCE_COUNT_TRUE',
  194. valueTypes: [ValueTypes.BOOL],
  195. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  196. },
  197. {
  198. text: 'count false',
  199. value: 'REDUCE_COUNT_FALSE',
  200. valueTypes: [ValueTypes.BOOL],
  201. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA],
  202. },
  203. {
  204. text: '99th percentile',
  205. value: 'REDUCE_PERCENTILE_99',
  206. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  207. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE],
  208. },
  209. {
  210. text: '95th percentile',
  211. value: 'REDUCE_PERCENTILE_95',
  212. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  213. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE],
  214. },
  215. {
  216. text: '50th percentile',
  217. value: 'REDUCE_PERCENTILE_50',
  218. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  219. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE],
  220. },
  221. {
  222. text: '5th percentile',
  223. value: 'REDUCE_PERCENTILE_05',
  224. valueTypes: [ValueTypes.INT64, ValueTypes.DOUBLE, ValueTypes.MONEY, ValueTypes.DISTRIBUTION],
  225. metricKinds: [MetricKind.GAUGE, MetricKind.DELTA, MetricKind.CUMULATIVE],
  226. },
  227. ];
  228. export const alignmentPeriods = [
  229. { text: 'grafana auto', value: 'grafana-auto' },
  230. { text: 'stackdriver auto', value: 'stackdriver-auto' },
  231. { text: '1m', value: '+60s' },
  232. { text: '5m', value: '+300s' },
  233. { text: '30m', value: '+1800s' },
  234. { text: '1h', value: '+3600s' },
  235. { text: '6h', value: '+21600s' },
  236. { text: '1d', value: '+86400s' },
  237. { text: '1w', value: '+604800s' },
  238. ];
  239. export const stackdriverUnitMappings = {
  240. bit: 'bits',
  241. By: 'bytes',
  242. s: 's',
  243. min: 'm',
  244. h: 'h',
  245. d: 'd',
  246. us: 'µs',
  247. ms: 'ms',
  248. ns: 'ns',
  249. percent: 'percent',
  250. MiBy: 'mbytes',
  251. 'By/s': 'Bps',
  252. GBy: 'decgbytes',
  253. };