Guest User

Untitled

a guest
Jan 16th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.91 KB | None | 0 0
  1. {
  2. "name": "node-golden-signals-example",
  3. "description": "Golden Signals for the Nike SignalFx Node Metrics Lib with Express middleware.",
  4. "judge": {
  5. "judgeConfigurations": {},
  6. "name": "NetflixACAJudge-v1.0"
  7. },
  8. "metrics": [
  9. {
  10. "name": "95th Percentile Request Latency for /hello",
  11. "query": {
  12. "metricName": "requests.p95",
  13. "queryPairs": [
  14. {
  15. "key": "uri",
  16. "value": "/hello"
  17. },
  18. {
  19. "key": "statusCode",
  20. "value": "2*"
  21. }
  22. ],
  23. "aggregationMethod": "mean",
  24. "serviceType": "signalfx",
  25. "type": "signalfx"
  26. },
  27. "analysisConfigurations": {
  28. "canary": {
  29. "direction": "increase",
  30. "critical": false
  31. }
  32. },
  33. "groups": [
  34. "Latency"
  35. ],
  36. "scopeName": "default"
  37. },
  38. {
  39. "name": "95th Percentile Request Latency for /foo",
  40. "query": {
  41. "metricName": "requests.p95",
  42. "queryPairs": [
  43. {
  44. "key": "uri",
  45. "value": "/foo"
  46. },
  47. {
  48. "key": "statusCode",
  49. "value": "2*"
  50. }
  51. ],
  52. "aggregationMethod": "mean",
  53. "serviceType": "signalfx",
  54. "type": "signalfx"
  55. },
  56. "analysisConfigurations": {
  57. "canary": {
  58. "direction": "increase",
  59. "nanStrategy": "replace",
  60. "critical": false
  61. }
  62. },
  63. "groups": [
  64. "Latency"
  65. ],
  66. "scopeName": "default"
  67. },
  68. {
  69. "name": "Successful request count",
  70. "query": {
  71. "metricName": "requests.count",
  72. "queryPairs": [
  73. {
  74. "key": "statusCode",
  75. "value": "2*"
  76. }
  77. ],
  78. "aggregationMethod": "sum",
  79. "serviceType": "signalfx",
  80. "type": "signalfx"
  81. },
  82. "analysisConfigurations": {
  83. "canary": {
  84. "direction": "decrease",
  85. "nanStrategy": "remove",
  86. "critical": false
  87. }
  88. },
  89. "groups": [
  90. "Traffic"
  91. ],
  92. "scopeName": "default"
  93. },
  94. {
  95. "name": "Successful request count for /hello",
  96. "query": {
  97. "metricName": "requests.count",
  98. "queryPairs": [
  99. {
  100. "key": "uri",
  101. "value": "/hello"
  102. },
  103. {
  104. "key": "statusCode",
  105. "value": "2*"
  106. }
  107. ],
  108. "aggregationMethod": "sum",
  109. "serviceType": "signalfx",
  110. "type": "signalfx"
  111. },
  112. "analysisConfigurations": {
  113. "canary": {
  114. "direction": "decrease",
  115. "nanStrategy": "replace",
  116. "mustHaveData": true
  117. }
  118. },
  119. "groups": [
  120. "Traffic"
  121. ],
  122. "scopeName": "default"
  123. },
  124. {
  125. "name": "Successful request count for /foo",
  126. "query": {
  127. "metricName": "requests.count",
  128. "queryPairs": [
  129. {
  130. "key": "uri",
  131. "value": "/foo"
  132. },
  133. {
  134. "key": "statusCode",
  135. "value": "2*"
  136. }
  137. ],
  138. "aggregationMethod": "sum",
  139. "serviceType": "signalfx",
  140. "type": "signalfx"
  141. },
  142. "analysisConfigurations": {
  143. "canary": {
  144. "direction": "decrease",
  145. "nanStrategy": "replace",
  146. "critical": false
  147. }
  148. },
  149. "groups": [
  150. "Traffic"
  151. ],
  152. "scopeName": "default"
  153. },
  154. {
  155. "name": "Server Error count for /hello",
  156. "query": {
  157. "metricName": "requests.count",
  158. "queryPairs": [
  159. {
  160. "key": "uri",
  161. "value": "/hello"
  162. },
  163. {
  164. "key": "statusCode",
  165. "value": "5*"
  166. }
  167. ],
  168. "aggregationMethod": "sum",
  169. "serviceType": "signalfx",
  170. "type": "signalfx"
  171. },
  172. "analysisConfigurations": {
  173. "canary": {
  174. "direction": "increase",
  175. "nanStrategy": "replace",
  176. "critical": false
  177. }
  178. },
  179. "groups": [
  180. "Errors",
  181. "Traffic"
  182. ],
  183. "scopeName": "default"
  184. },
  185. {
  186. "name": "Request Error count for /hello",
  187. "query": {
  188. "metricName": "requests.count",
  189. "queryPairs": [
  190. {
  191. "key": "uri",
  192. "value": "/hello"
  193. },
  194. {
  195. "key": "statusCode",
  196. "value": "4*"
  197. }
  198. ],
  199. "aggregationMethod": "sum",
  200. "serviceType": "signalfx",
  201. "type": "signalfx"
  202. },
  203. "analysisConfigurations": {
  204. "canary": {
  205. "direction": "increase",
  206. "nanStrategy": "replace",
  207. "critical": false
  208. }
  209. },
  210. "groups": [
  211. "Errors",
  212. "Traffic"
  213. ],
  214. "scopeName": "default"
  215. },
  216. {
  217. "name": "Server Error count for /foo",
  218. "query": {
  219. "metricName": "requests.count",
  220. "queryPairs": [
  221. {
  222. "key": "uri",
  223. "value": "/foo"
  224. },
  225. {
  226. "key": "statusCode",
  227. "value": "5*"
  228. }
  229. ],
  230. "aggregationMethod": "sum",
  231. "serviceType": "signalfx",
  232. "type": "signalfx"
  233. },
  234. "analysisConfigurations": {
  235. "canary": {
  236. "direction": "increase",
  237. "nanStrategy": "replace",
  238. "critical": false
  239. }
  240. },
  241. "groups": [
  242. "Errors",
  243. "Traffic"
  244. ],
  245. "scopeName": "default"
  246. },
  247. {
  248. "name": "Request Error count for /foo",
  249. "query": {
  250. "metricName": "requests.count",
  251. "queryPairs": [
  252. {
  253. "key": "uri",
  254. "value": "/foo"
  255. },
  256. {
  257. "key": "statusCode",
  258. "value": "4*"
  259. }
  260. ],
  261. "aggregationMethod": "sum",
  262. "serviceType": "signalfx",
  263. "type": "signalfx"
  264. },
  265. "analysisConfigurations": {
  266. "canary": {
  267. "direction": "increase",
  268. "nanStrategy": "replace",
  269. "critical": false
  270. }
  271. },
  272. "groups": [
  273. "Errors"
  274. ],
  275. "scopeName": "default"
  276. },
  277. {
  278. "name": "Available System Memory",
  279. "query": {
  280. "metricName": "node.os.freemem",
  281. "aggregationMethod": "mean",
  282. "serviceType": "signalfx",
  283. "type": "signalfx"
  284. },
  285. "analysisConfigurations": {
  286. "canary": {
  287. "direction": "decrease",
  288. "nanStrategy": "remove",
  289. "critical": false,
  290. "effectSize": {
  291. "allowedIncrease": 1.10,
  292. "criticalIncrease": 25
  293. }
  294. }
  295. },
  296. "groups": [
  297. "Saturation"
  298. ],
  299. "scopeName": "default"
  300. },
  301. {
  302. "name": "OS 1m Load Average",
  303. "query": {
  304. "metricName": "node.os.loadavg.1m",
  305. "aggregationMethod": "mean",
  306. "serviceType": "signalfx",
  307. "type": "signalfx"
  308. },
  309. "analysisConfigurations": {
  310. "canary": {
  311. "direction": "increase",
  312. "nanStrategy": "remove",
  313. "critical": false,
  314. "effectSize": {
  315. "allowedIncrease": 1.50,
  316. "criticalIncrease": 25
  317. }
  318. }
  319. },
  320. "groups": [
  321. "Saturation"
  322. ],
  323. "scopeName": "default"
  324. },
  325. {
  326. "name": "Node Heap Used",
  327. "query": {
  328. "metricName": "node.process.memory-usage.heap-used",
  329. "aggregationMethod": "mean",
  330. "serviceType": "signalfx",
  331. "type": "signalfx"
  332. },
  333. "analysisConfigurations": {
  334. "canary": {
  335. "direction": "increase",
  336. "nanStrategy": "remove",
  337. "critical": false,
  338. "effectSize": {
  339. "allowedIncrease": 1.10,
  340. "criticalIncrease": 25
  341. }
  342. }
  343. },
  344. "groups": [
  345. "Saturation"
  346. ],
  347. "scopeName": "default"
  348. }
  349. ],
  350. "classifier": {
  351. "groupWeights": {
  352. "Latency": 20,
  353. "Traffic": 20,
  354. "Errors": 50,
  355. "Saturation": 10
  356. }
  357. }
  358. }
Add Comment
Please, Sign In to add comment