prosperity 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/prosperity/graph.js.coffee +15 -1
  3. data/app/models/prosperity/graph.rb +1 -1
  4. data/lib/prosperity/aggregate/average.rb +1 -1
  5. data/lib/prosperity/aggregate/count.rb +1 -1
  6. data/lib/prosperity/aggregate/maximum.rb +1 -1
  7. data/lib/prosperity/aggregate/minimum.rb +1 -1
  8. data/lib/prosperity/aggregate/sql.rb +31 -0
  9. data/lib/prosperity/aggregate/sum.rb +1 -1
  10. data/lib/prosperity/extractors/interval.rb +3 -2
  11. data/lib/prosperity/extractors/total.rb +2 -1
  12. data/lib/prosperity/version.rb +1 -1
  13. data/spec/dummy/db/development.sqlite3 +0 -0
  14. data/spec/dummy/db/test.sqlite3 +0 -0
  15. data/spec/dummy/log/development.log +7 -365
  16. data/spec/dummy/log/test.log +89069 -5028
  17. data/spec/dummy/tmp/cache/assets/development/sass/{d62c06e531d3f4bbf9b34de0b6398df7d59dbe71 → 34a577735054231563e7022ea73e1468db9203ba}/application.css.scssc +0 -0
  18. data/spec/dummy/tmp/cache/assets/development/sass/34a577735054231563e7022ea73e1468db9203ba/bootstrap-ext.css.scssc +0 -0
  19. data/spec/dummy/tmp/cache/assets/development/sass/{d62c06e531d3f4bbf9b34de0b6398df7d59dbe71 → 34a577735054231563e7022ea73e1468db9203ba}/graph.css.scssc +0 -0
  20. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_alerts.scssc +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_badges.scssc +0 -0
  22. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_bootstrap.scssc +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_breadcrumbs.scssc +0 -0
  24. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_button-groups.scssc +0 -0
  25. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_buttons.scssc +0 -0
  26. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_carousel.scssc +0 -0
  27. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_close.scssc +0 -0
  28. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_code.scssc +0 -0
  29. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_component-animations.scssc +0 -0
  30. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_dropdowns.scssc +0 -0
  31. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_forms.scssc +0 -0
  32. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_glyphicons.scssc +0 -0
  33. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_grid.scssc +0 -0
  34. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_input-groups.scssc +0 -0
  35. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_jumbotron.scssc +0 -0
  36. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_labels.scssc +0 -0
  37. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_list-group.scssc +0 -0
  38. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_media.scssc +0 -0
  39. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_mixins.scssc +0 -0
  40. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_modals.scssc +0 -0
  41. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_navbar.scssc +0 -0
  42. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_navs.scssc +0 -0
  43. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_normalize.scssc +0 -0
  44. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_pager.scssc +0 -0
  45. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_pagination.scssc +0 -0
  46. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_panels.scssc +0 -0
  47. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_popovers.scssc +0 -0
  48. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_print.scssc +0 -0
  49. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_progress-bars.scssc +0 -0
  50. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_responsive-utilities.scssc +0 -0
  51. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_scaffolding.scssc +0 -0
  52. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_tables.scssc +0 -0
  53. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_thumbnails.scssc +0 -0
  54. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_tooltip.scssc +0 -0
  55. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_type.scssc +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_utilities.scssc +0 -0
  57. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_variables.scssc +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sass/994e9de37e7f58fef085c22ad997b3c9ce2a4b39/_wells.scssc +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sass/be34d2a735e9e523a3c8b9414be4508380964813/bootstrap.scssc +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/043337ddb7f545a88004b2eb2a069b4d +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/05ee6e5d8777628542d4ed27eab34c5a +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/07080bfb6d1d7b60d61990c547c0f47a +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/073948f1a0c619142ecfcb14a5806302 +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/{6197cc2dec2f73e61bc944164f6aa471 → 07e8fb2db7d85e29590a6b05160ca825} +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/0800f54ee19cf3cee10b956fa9786799 +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/{7730fd339613e71fbcd52c8ad4b1cfdc → 0a40fa5e0d6c0de40a8a698dcd697305} +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/12eb9637e2c654371ecf7033d5a5cb36 +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/{300ae81e3cf2bc226b25a91f5e7b07a3 → 141de7c3ad5525ad5025adc93847a47a} +0 -0
  70. data/spec/dummy/tmp/cache/assets/development/sprockets/{aac35c5879b84327dbbb68b78aa5bbe8 → 14242b0a1c79331cfd3be73d3b740edd} +0 -0
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/1502b34f91cda1f4222490f78c0fea39 +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/{98f1ffb67f1aecb1c332a7bdd82446bb → 1533bcf4a8f5a745dfda80cebd88d217} +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/1643e7f9f85637df140a850af6674f10 +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/18d7d771937643bc7e9210b1a80e5763 +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/{dd6d9181ce5f325d7454a19c9c23d83d → 197492ed379339e17a0f5d01d3b01b8c} +0 -0
  77. data/spec/dummy/tmp/cache/assets/{test/sprockets/eeb508c9b2c8783281d5dd085a4e4c19 → development/sprockets/1c55cf24465f311353197ce336df0178} +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/1cb94582c835e73b3fd3c276f9a7de56 +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/203047a4141cf08162077e7290421bbb +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/{e470f035d066f0fea4a59139cf66aa9c → 204a30f61e29169229793bc31dd34207} +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/{5ba8f1711f14a9d6f32933b109c5b8f6 → 210050da208fb75a75b701bfa4e8470f} +0 -0
  82. data/spec/dummy/tmp/cache/assets/development/sprockets/2733033a48e2e8a6fdd6e4ab371689ee +0 -0
  83. data/spec/dummy/tmp/cache/assets/development/sprockets/{ec69181256c560278e0bb31551dbcad6 → 27a59e08207d3ae723f2b2b3d22264c3} +0 -0
  84. data/spec/dummy/tmp/cache/assets/development/sprockets/29a6c93aeb91d07a5533b3adba7697d0 +0 -0
  85. data/spec/dummy/tmp/cache/assets/development/sprockets/29ac2be474969468157245a7f8737fa4 +0 -0
  86. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  87. data/spec/dummy/tmp/cache/assets/development/sprockets/314e44d29ecc7449c9ca3b754329c245 +0 -0
  88. data/spec/dummy/tmp/cache/assets/development/sprockets/3162d1398d6940ee5e933b7ab4d2273d +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  90. data/spec/dummy/tmp/cache/assets/development/sprockets/{2d4306296d3245a46894d3915dd4299f → 362e15a54951b12cfa5c6ad2c3dda49c} +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  92. data/spec/dummy/tmp/cache/assets/development/sprockets/{8f6988360fd4828f2072ff3706cf7a94 → 3be1fec30b381948e1e84408642a618f} +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sprockets/3d80e2a5faaf2bd987d804c17aead745 +0 -0
  94. data/spec/dummy/tmp/cache/assets/development/sprockets/3e21790900d62ae3954585f08a1cb28a +0 -0
  95. data/spec/dummy/tmp/cache/assets/development/sprockets/{d0156c9e5a897d047469c60eea1149eb → 3e6afb4834057e5b5c7e593d0894a8bb} +0 -0
  96. data/spec/dummy/tmp/cache/assets/development/sprockets/{e05b92214ffe30a00a25707787b49b10 → 3f76425644a701b85db3d385f077052d} +0 -0
  97. data/spec/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea +0 -0
  98. data/spec/dummy/tmp/cache/assets/development/sprockets/414bfb6ed6c6042f920d3a558de81180 +0 -0
  99. data/spec/dummy/tmp/cache/assets/development/sprockets/4155a156cc6ffb880b56dbc34346fbc0 +0 -0
  100. data/spec/dummy/tmp/cache/assets/development/sprockets/4166fe47cddf4ba18c53b843d69b4c5f +0 -0
  101. data/spec/dummy/tmp/cache/assets/development/sprockets/{7e3d32b212b3ee798d09b3d71ef5b0de → 441f922b26aae90d40e319b6ed0a3bc8} +0 -0
  102. data/spec/dummy/tmp/cache/assets/development/sprockets/4432a4b71ce9551df8d4b3860f4b9be3 +0 -0
  103. data/spec/dummy/tmp/cache/assets/development/sprockets/448c1e44da04c20f27eaa31ad8c4391e +0 -0
  104. data/spec/dummy/tmp/cache/assets/development/sprockets/{fbf576ea13ee6c13c2a832d274524211 → 47cc93f04a83c418e8f544aeab9208d8} +0 -0
  105. data/spec/dummy/tmp/cache/assets/development/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5 +0 -0
  106. data/spec/dummy/tmp/cache/assets/development/sprockets/4f72e7a78aa2fb9fe4382697f281cecb +0 -0
  107. data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
  108. data/spec/dummy/tmp/cache/assets/development/sprockets/{aedda4492b7d88e518d1db2addb6d2a3 → 526534cd50ee53edadd65c1df71398fc} +0 -0
  109. data/spec/dummy/tmp/cache/assets/development/sprockets/5479c7b4fba9179d4d1dc59ae64964c1 +0 -0
  110. data/spec/dummy/tmp/cache/assets/development/sprockets/566fbede2036fd06a20e7e52e30ddc7d +0 -0
  111. data/spec/dummy/tmp/cache/assets/development/sprockets/5a3ab9afd151c265cf11c621c0ddbe00 +0 -0
  112. data/spec/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174 +0 -0
  113. data/spec/dummy/tmp/cache/assets/development/sprockets/5f1aaf22720701db690538726e896a39 +0 -0
  114. data/spec/dummy/tmp/cache/assets/development/sprockets/5f7660fd92b228b2de09f92d54ca6b49 +0 -0
  115. data/spec/dummy/tmp/cache/assets/development/sprockets/{10fb43451e29b228a7e4c96eb8832e5d → 647038c58f26163a9217646e1e5f09ae} +0 -0
  116. data/spec/dummy/tmp/cache/assets/development/sprockets/64e0150fafbd9aaa3822efa1abb0211d +0 -0
  117. data/spec/dummy/tmp/cache/assets/development/sprockets/6536a3eb4b5d05368d260a46f2485ead +0 -0
  118. data/spec/dummy/tmp/cache/assets/development/sprockets/65c2d908dbca1bc833ae0b552f6c27fa +0 -0
  119. data/spec/dummy/tmp/cache/assets/development/sprockets/6882b260ae69f1594eff540d803e5ac3 +0 -0
  120. data/spec/dummy/tmp/cache/assets/{test/sprockets/07ff2bcc96ddf342512995a11735dff5 → development/sprockets/69f4b83d363269ee4122bbbaaa1325d1} +0 -0
  121. data/spec/dummy/tmp/cache/assets/development/sprockets/6dc76d12fddcc72e41bf23ad7c816620 +0 -0
  122. data/spec/dummy/tmp/cache/assets/development/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb +0 -0
  123. data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  124. data/spec/dummy/tmp/cache/assets/development/sprockets/726d3f6850549a59954f0bf5584cfd9f +0 -0
  125. data/spec/dummy/tmp/cache/assets/development/sprockets/{a17599497eaaab4ed2148782281d3519 → 72c0d4a0eeedae5e79ae49abb24f6d32} +0 -0
  126. data/spec/dummy/tmp/cache/assets/development/sprockets/75f2f1e32219e0b89c069e43b49e0e49 +0 -0
  127. data/spec/dummy/tmp/cache/assets/development/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f +0 -0
  128. data/spec/dummy/tmp/cache/assets/development/sprockets/7abbc975e6786a54d660e0cf19aab1f0 +0 -0
  129. data/spec/dummy/tmp/cache/assets/development/sprockets/7bac3aca131c870ad5b07d8ccdc86e06 +0 -0
  130. data/spec/dummy/tmp/cache/assets/development/sprockets/{102839d9f310cc836f4997f130511ba1 → 7eb9384654be8c4fc859b9736c0da9d0} +0 -0
  131. data/spec/dummy/tmp/cache/assets/development/sprockets/7ffb7c821c008cd2a390dc7aba74361f +0 -0
  132. data/spec/dummy/tmp/cache/assets/development/sprockets/80392355fc6e00cf69b2cd46978ebcbe +0 -0
  133. data/spec/dummy/tmp/cache/assets/development/sprockets/{15b5a0931c54a717e2fb95dfad425e22 → 8084620ce7f95d2b2aeb65c977c62af1} +0 -0
  134. data/spec/dummy/tmp/cache/assets/development/sprockets/{10446c65bee552db6d0b26aa0d6c3c7c → 828a046f0e7dc2dad0eecfe49d31e14d} +0 -0
  135. data/spec/dummy/tmp/cache/assets/development/sprockets/872d17fb6fb4675e5c24b21bdd90bc86 +0 -0
  136. data/spec/dummy/tmp/cache/assets/development/sprockets/874b42463fefbb0bce47775722ebb4ae +0 -0
  137. data/spec/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6 +0 -0
  138. data/spec/dummy/tmp/cache/assets/development/sprockets/87ef8ddd2847d19f22a16d726b88b433 +0 -0
  139. data/spec/dummy/tmp/cache/assets/development/sprockets/{25fb90067ef6a139aa49b89e3b2bd46e → 8ac3ddd03a0ca38df655faf85c8a054d} +0 -0
  140. data/spec/dummy/tmp/cache/assets/development/sprockets/8c8bcb1384dcbb664e642754f197c899 +0 -0
  141. data/spec/dummy/tmp/cache/assets/development/sprockets/{f92fa305aeb0617ec33305e1cd771dc5 → 91ae0bd43f98b4f1f111e0bdc178302c} +0 -0
  142. data/spec/dummy/tmp/cache/assets/development/sprockets/97d99b466bedb69706f4815fa26b69f3 +0 -0
  143. data/spec/dummy/tmp/cache/assets/development/sprockets/{956ecc56779d99ab18a5f0921fcc45f5 → 990cf740a7968767a327f6186313badb} +0 -0
  144. data/spec/dummy/tmp/cache/assets/{test/sprockets/1ada118c3fa1dbfcc18e313f73c0cfcf → development/sprockets/9a690664139b0393787d6454b4697183} +0 -0
  145. data/spec/dummy/tmp/cache/assets/development/sprockets/9a7970620504bfe92af14fd57ee08365 +0 -0
  146. data/spec/dummy/tmp/cache/assets/development/sprockets/9c8440c4efec99d4a380eeda42f089c7 +0 -0
  147. data/spec/dummy/tmp/cache/assets/development/sprockets/9e4cf41800946fd32bcfa3591b304eb6 +0 -0
  148. data/spec/dummy/tmp/cache/assets/development/sprockets/{dd75d7b289063f8490f95046223ba216 → a2b14d5c46db32da9183354fb3fcd0bf} +0 -0
  149. data/spec/dummy/tmp/cache/assets/development/sprockets/a6d6196cfd275dea0718553a95f997a5 +0 -0
  150. data/spec/dummy/tmp/cache/assets/development/sprockets/a7a8652a3fb42ef81fac3ab77949f82d +0 -0
  151. data/spec/dummy/tmp/cache/assets/development/sprockets/a851ad85f810c1c7a60c10d6faaba40f +0 -0
  152. data/spec/dummy/tmp/cache/assets/development/sprockets/a9d839f632f9ce73fc221b79b39b0924 +0 -0
  153. data/spec/dummy/tmp/cache/assets/development/sprockets/aacfd4457155e8607cbe66d5fdaf11b3 +0 -0
  154. data/spec/dummy/tmp/cache/assets/development/sprockets/{e843897879fbb9c8f9b18867c1a5737a → b8a9886650603baf49c9a1e13f3fd7bf} +0 -0
  155. data/spec/dummy/tmp/cache/assets/development/sprockets/bae0ea1201e2ec9420712ff54b3254aa +0 -0
  156. data/spec/dummy/tmp/cache/assets/development/sprockets/bb1f5ffb0ccbeec2c6499044b356f7c6 +0 -0
  157. data/spec/dummy/tmp/cache/assets/development/sprockets/{5e819b57a5b768cd857cd968ad919be7 → bc83340720a76d8208112f6aecbff08e} +0 -0
  158. data/spec/dummy/tmp/cache/assets/development/sprockets/be67cef79122a71f7432c2f984f1f258 +0 -0
  159. data/spec/dummy/tmp/cache/assets/development/sprockets/c05c4a514cf0b61ad7b223ee732cd6df +0 -0
  160. data/spec/dummy/tmp/cache/assets/development/sprockets/c29c465933e7e86d6f6224f5e78c5baf +0 -0
  161. data/spec/dummy/tmp/cache/assets/development/sprockets/c83e71ece967e80f8df838874c130431 +0 -0
  162. data/spec/dummy/tmp/cache/assets/development/sprockets/c975834a35907ecd2d314bbd6844ee88 +0 -0
  163. data/spec/dummy/tmp/cache/assets/development/sprockets/cad26971ff72bbf5aa5f4e6a469389eb +0 -0
  164. data/spec/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f +0 -0
  165. data/spec/dummy/tmp/cache/assets/development/sprockets/cf4affc50c6303e717d6514380d1f417 +0 -0
  166. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  167. data/spec/dummy/tmp/cache/assets/development/sprockets/{a28460da9c8f70a7a12df29a8a3d1745 → d0194b0fba4290072cfff0be06b348fd} +0 -0
  168. data/spec/dummy/tmp/cache/assets/development/sprockets/d0d5517256edcd1f83b11a13c6ca040f +0 -0
  169. data/spec/dummy/tmp/cache/assets/development/sprockets/d0f0c5e105bfb1d6e5cd7295fbd1f65d +0 -0
  170. data/spec/dummy/tmp/cache/assets/development/sprockets/d3087f7df919b7f0d8142ee163db6c79 +0 -0
  171. data/spec/dummy/tmp/cache/assets/development/sprockets/{4be441ed3523796ee063e403cf825d5f → d57d1e79cd42526c98315f2a51ac895d} +0 -0
  172. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  173. data/spec/dummy/tmp/cache/assets/development/sprockets/d8487b3a1dc72a1361b96fbbc93255c6 +0 -0
  174. data/spec/dummy/tmp/cache/assets/development/sprockets/d8b357d5741711da2dd710af0e15d268 +0 -0
  175. data/spec/dummy/tmp/cache/assets/development/sprockets/d94883bc533251c5e4b4821c716ae300 +0 -0
  176. data/spec/dummy/tmp/cache/assets/development/sprockets/decc27a1fa9ea32fe0dcc18619e32587 +0 -0
  177. data/spec/dummy/tmp/cache/assets/development/sprockets/{b55e3dfa7d480e87a03ae5bbd957ff89 → df796f7ea525be06a82ebc3a4f97ffec} +0 -0
  178. data/spec/dummy/tmp/cache/assets/development/sprockets/{977be073d05065b826c0c984a0bd6932 → e02b5049cf477b43a72b4a00e2fceb46} +0 -0
  179. data/spec/dummy/tmp/cache/assets/development/sprockets/e0be9bf6ab486a790bda60b51224b404 +0 -0
  180. data/spec/dummy/tmp/cache/assets/development/sprockets/e0d03169ae2f0680d574ca2e19129450 +0 -0
  181. data/spec/dummy/tmp/cache/assets/development/sprockets/e22a1b318499e7f06ea9274e18ab004f +0 -0
  182. data/spec/dummy/tmp/cache/assets/development/sprockets/e298cc3a8203ab1fb6978a90254f8926 +0 -0
  183. data/spec/dummy/tmp/cache/assets/development/sprockets/{0efaf32772de3bc613e7e4daec5cf5c9 → e2a9bdd87a2d19256837fce6544a122c} +0 -0
  184. data/spec/dummy/tmp/cache/assets/development/sprockets/e378dcebf3c529db0d6e57d0c8dc3904 +0 -0
  185. data/spec/dummy/tmp/cache/assets/development/sprockets/{c1cba7e74bac33cad7cd2bb757e0ea0e → e76f5e84c165c22920d69c5dafce2fe1} +0 -0
  186. data/spec/dummy/tmp/cache/assets/development/sprockets/e868f358fe87542c483951a2d9f532b6 +0 -0
  187. data/spec/dummy/tmp/cache/assets/development/sprockets/e8a6adf580ebd1942f4aabe6738678c2 +0 -0
  188. data/spec/dummy/tmp/cache/assets/development/sprockets/ea081ed20ad78a3e8f41a529b6baa2e1 +0 -0
  189. data/spec/dummy/tmp/cache/assets/development/sprockets/ec956e1f28c818063bb61958fe5ae855 +0 -0
  190. data/spec/dummy/tmp/cache/assets/development/sprockets/ed71f99e0a9653296abd5d6f501dd898 +0 -0
  191. data/spec/dummy/tmp/cache/assets/development/sprockets/{f9b3bfef9e49730d4748e4e5b9b38a17 → ee3031bd54230ddf2addb5fa5718c86b} +0 -0
  192. data/spec/dummy/tmp/cache/assets/development/sprockets/eee3cb53f216eaa12dd927f144640d0d +0 -0
  193. data/spec/dummy/tmp/cache/assets/development/sprockets/efe6f2d16d3a1819817efb8734daf8af +0 -0
  194. data/spec/dummy/tmp/cache/assets/development/sprockets/f03e99bdb4159ae3485ca2858716e19b +0 -0
  195. data/spec/dummy/tmp/cache/assets/development/sprockets/f29bc513eb7c7d4b79d53d51363f7f1f +0 -0
  196. data/spec/dummy/tmp/cache/assets/development/sprockets/{d6f53a039b9f6fe9a91b740752fa1e08 → f4648036e284d9aa3468f4f7b9bbb967} +0 -0
  197. data/spec/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124 +0 -0
  198. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  199. data/spec/dummy/tmp/cache/assets/development/sprockets/{e35a2d39c42309e06581c5a42a3db2b8 → f961f7434a28c0fe24bf4ffe6cba75fb} +0 -0
  200. data/spec/dummy/tmp/cache/assets/development/sprockets/f9bbf698d099ead559e5ba4a5a4c5538 +0 -0
  201. data/spec/dummy/tmp/cache/assets/development/sprockets/{07ff2bcc96ddf342512995a11735dff5 → fb8d3825617fcc11dfa614a51effee0e} +0 -0
  202. data/spec/dummy/tmp/cache/assets/development/sprockets/{33d4a0ef15f498772a0ea19eb4750aa7 → fc2c22310cbb7abb26ae64d4aafa37cb} +0 -0
  203. data/spec/dummy/tmp/cache/assets/test/sass/{d62c06e531d3f4bbf9b34de0b6398df7d59dbe71 → 34a577735054231563e7022ea73e1468db9203ba}/application.css.scssc +0 -0
  204. data/spec/dummy/tmp/cache/assets/test/sass/{d62c06e531d3f4bbf9b34de0b6398df7d59dbe71 → 34a577735054231563e7022ea73e1468db9203ba}/graph.css.scssc +0 -0
  205. data/spec/dummy/tmp/cache/assets/test/sprockets/{6197cc2dec2f73e61bc944164f6aa471 → 07e8fb2db7d85e29590a6b05160ca825} +0 -0
  206. data/spec/dummy/tmp/cache/assets/test/sprockets/{e843897879fbb9c8f9b18867c1a5737a → 0a40fa5e0d6c0de40a8a698dcd697305} +0 -0
  207. data/spec/dummy/tmp/cache/assets/test/sprockets/{300ae81e3cf2bc226b25a91f5e7b07a3 → 141de7c3ad5525ad5025adc93847a47a} +0 -0
  208. data/spec/dummy/tmp/cache/assets/test/sprockets/14242b0a1c79331cfd3be73d3b740edd +0 -0
  209. data/spec/dummy/tmp/cache/assets/test/sprockets/{98f1ffb67f1aecb1c332a7bdd82446bb → 1533bcf4a8f5a745dfda80cebd88d217} +0 -0
  210. data/spec/dummy/tmp/cache/assets/test/sprockets/1643e7f9f85637df140a850af6674f10 +0 -0
  211. data/spec/dummy/tmp/cache/assets/test/sprockets/177ca1f3e92db4f8a8f6e7ad9786ebfc +0 -0
  212. data/spec/dummy/tmp/cache/assets/{development/sprockets/eeb508c9b2c8783281d5dd085a4e4c19 → test/sprockets/197492ed379339e17a0f5d01d3b01b8c} +0 -0
  213. data/spec/dummy/tmp/cache/assets/test/sprockets/{7730fd339613e71fbcd52c8ad4b1cfdc → 1c403eecc3f3074418f5252d35741448} +0 -0
  214. data/spec/dummy/tmp/cache/assets/test/sprockets/{dd6d9181ce5f325d7454a19c9c23d83d → 1c55cf24465f311353197ce336df0178} +0 -0
  215. data/spec/dummy/tmp/cache/assets/test/sprockets/1cb94582c835e73b3fd3c276f9a7de56 +0 -0
  216. data/spec/dummy/tmp/cache/assets/test/sprockets/203047a4141cf08162077e7290421bbb +0 -0
  217. data/spec/dummy/tmp/cache/assets/test/sprockets/{5ba8f1711f14a9d6f32933b109c5b8f6 → 210050da208fb75a75b701bfa4e8470f} +0 -0
  218. data/spec/dummy/tmp/cache/assets/test/sprockets/2733033a48e2e8a6fdd6e4ab371689ee +0 -0
  219. data/spec/dummy/tmp/cache/assets/test/sprockets/{ec69181256c560278e0bb31551dbcad6 → 27a59e08207d3ae723f2b2b3d22264c3} +0 -0
  220. data/spec/dummy/tmp/cache/assets/test/sprockets/29a6c93aeb91d07a5533b3adba7697d0 +0 -0
  221. data/spec/dummy/tmp/cache/assets/test/sprockets/29ac2be474969468157245a7f8737fa4 +0 -0
  222. data/spec/dummy/tmp/cache/assets/test/sprockets/314e44d29ecc7449c9ca3b754329c245 +0 -0
  223. data/spec/dummy/tmp/cache/assets/test/sprockets/3162d1398d6940ee5e933b7ab4d2273d +0 -0
  224. data/spec/dummy/tmp/cache/assets/test/sprockets/{aedda4492b7d88e518d1db2addb6d2a3 → 362e15a54951b12cfa5c6ad2c3dda49c} +0 -0
  225. data/spec/dummy/tmp/cache/assets/{development/sprockets/1ada118c3fa1dbfcc18e313f73c0cfcf → test/sprockets/3a2f0b99e45099334ed17c5d9b050cfc} +0 -0
  226. data/spec/dummy/tmp/cache/assets/test/sprockets/{e470f035d066f0fea4a59139cf66aa9c → 3be1fec30b381948e1e84408642a618f} +0 -0
  227. data/spec/dummy/tmp/cache/assets/test/sprockets/3d80e2a5faaf2bd987d804c17aead745 +0 -0
  228. data/spec/dummy/tmp/cache/assets/test/sprockets/{d0156c9e5a897d047469c60eea1149eb → 3e6afb4834057e5b5c7e593d0894a8bb} +0 -0
  229. data/spec/dummy/tmp/cache/assets/test/sprockets/414bfb6ed6c6042f920d3a558de81180 +0 -0
  230. data/spec/dummy/tmp/cache/assets/test/sprockets/4155a156cc6ffb880b56dbc34346fbc0 +0 -0
  231. data/spec/dummy/tmp/cache/assets/test/sprockets/4166fe47cddf4ba18c53b843d69b4c5f +0 -0
  232. data/spec/dummy/tmp/cache/assets/test/sprockets/441f922b26aae90d40e319b6ed0a3bc8 +0 -0
  233. data/spec/dummy/tmp/cache/assets/test/sprockets/4432a4b71ce9551df8d4b3860f4b9be3 +0 -0
  234. data/spec/dummy/tmp/cache/assets/test/sprockets/448c1e44da04c20f27eaa31ad8c4391e +0 -0
  235. data/spec/dummy/tmp/cache/assets/test/sprockets/47df4fdca8a2ff6a43c18d7aa1ffd9c5 +0 -0
  236. data/spec/dummy/tmp/cache/assets/test/sprockets/5479c7b4fba9179d4d1dc59ae64964c1 +0 -0
  237. data/spec/dummy/tmp/cache/assets/test/sprockets/566fbede2036fd06a20e7e52e30ddc7d +0 -0
  238. data/spec/dummy/tmp/cache/assets/test/sprockets/5a3ab9afd151c265cf11c621c0ddbe00 +0 -0
  239. data/spec/dummy/tmp/cache/assets/test/sprockets/{10fb43451e29b228a7e4c96eb8832e5d → 647038c58f26163a9217646e1e5f09ae} +0 -0
  240. data/spec/dummy/tmp/cache/assets/test/sprockets/64e0150fafbd9aaa3822efa1abb0211d +0 -0
  241. data/spec/dummy/tmp/cache/assets/test/sprockets/65c2d908dbca1bc833ae0b552f6c27fa +0 -0
  242. data/spec/dummy/tmp/cache/assets/test/sprockets/6882b260ae69f1594eff540d803e5ac3 +0 -0
  243. data/spec/dummy/tmp/cache/assets/{development/sprockets/ab1ce6f3aecd81fbe0ca7431bfa2da16 → test/sprockets/69f4b83d363269ee4122bbbaaa1325d1} +0 -0
  244. data/spec/dummy/tmp/cache/assets/test/sprockets/6e1aee34907ba1ccdbfca2deb18a5adb +0 -0
  245. data/spec/dummy/tmp/cache/assets/test/sprockets/7192ea75c4532f55bc9158f0868b9341 +0 -0
  246. data/spec/dummy/tmp/cache/assets/test/sprockets/726d3f6850549a59954f0bf5584cfd9f +0 -0
  247. data/spec/dummy/tmp/cache/assets/test/sprockets/7ab9ac7cc2529219a4c68fd7854d5c0f +0 -0
  248. data/spec/dummy/tmp/cache/assets/test/sprockets/7bac3aca131c870ad5b07d8ccdc86e06 +0 -0
  249. data/spec/dummy/tmp/cache/assets/test/sprockets/{25fb90067ef6a139aa49b89e3b2bd46e → 7eb9384654be8c4fc859b9736c0da9d0} +0 -0
  250. data/spec/dummy/tmp/cache/assets/test/sprockets/80392355fc6e00cf69b2cd46978ebcbe +0 -0
  251. data/spec/dummy/tmp/cache/assets/test/sprockets/874b42463fefbb0bce47775722ebb4ae +0 -0
  252. data/spec/dummy/tmp/cache/assets/test/sprockets/87ef8ddd2847d19f22a16d726b88b433 +0 -0
  253. data/spec/dummy/tmp/cache/assets/test/sprockets/{977be073d05065b826c0c984a0bd6932 → 91ae0bd43f98b4f1f111e0bdc178302c} +0 -0
  254. data/spec/dummy/tmp/cache/assets/test/sprockets/97d99b466bedb69706f4815fa26b69f3 +0 -0
  255. data/spec/dummy/tmp/cache/assets/test/sprockets/{5e819b57a5b768cd857cd968ad919be7 → 990cf740a7968767a327f6186313badb} +0 -0
  256. data/spec/dummy/tmp/cache/assets/test/sprockets/9a690664139b0393787d6454b4697183 +0 -0
  257. data/spec/dummy/tmp/cache/assets/test/sprockets/9cccd1bdd67e768213ab2d30bfa25717 +0 -0
  258. data/spec/dummy/tmp/cache/assets/test/sprockets/{dd75d7b289063f8490f95046223ba216 → a2b14d5c46db32da9183354fb3fcd0bf} +0 -0
  259. data/spec/dummy/tmp/cache/assets/test/sprockets/a6d6196cfd275dea0718553a95f997a5 +0 -0
  260. data/spec/dummy/tmp/cache/assets/test/sprockets/aacfd4457155e8607cbe66d5fdaf11b3 +0 -0
  261. data/spec/dummy/tmp/cache/assets/test/sprockets/{956ecc56779d99ab18a5f0921fcc45f5 → bc83340720a76d8208112f6aecbff08e} +0 -0
  262. data/spec/dummy/tmp/cache/assets/test/sprockets/c29c465933e7e86d6f6224f5e78c5baf +0 -0
  263. data/spec/dummy/tmp/cache/assets/test/sprockets/c975834a35907ecd2d314bbd6844ee88 +0 -0
  264. data/spec/dummy/tmp/cache/assets/test/sprockets/cad26971ff72bbf5aa5f4e6a469389eb +0 -0
  265. data/spec/dummy/tmp/cache/assets/test/sprockets/cf4affc50c6303e717d6514380d1f417 +0 -0
  266. data/spec/dummy/tmp/cache/assets/test/sprockets/d0d5517256edcd1f83b11a13c6ca040f +0 -0
  267. data/spec/dummy/tmp/cache/assets/test/sprockets/d3087f7df919b7f0d8142ee163db6c79 +0 -0
  268. data/spec/dummy/tmp/cache/assets/test/sprockets/d8b357d5741711da2dd710af0e15d268 +0 -0
  269. data/spec/dummy/tmp/cache/assets/test/sprockets/d94883bc533251c5e4b4821c716ae300 +0 -0
  270. data/spec/dummy/tmp/cache/assets/test/sprockets/decc27a1fa9ea32fe0dcc18619e32587 +0 -0
  271. data/spec/dummy/tmp/cache/assets/test/sprockets/df796f7ea525be06a82ebc3a4f97ffec +0 -0
  272. data/spec/dummy/tmp/cache/assets/test/sprockets/e22a1b318499e7f06ea9274e18ab004f +0 -0
  273. data/spec/dummy/tmp/cache/assets/test/sprockets/e298cc3a8203ab1fb6978a90254f8926 +0 -0
  274. data/spec/dummy/tmp/cache/assets/test/sprockets/e378dcebf3c529db0d6e57d0c8dc3904 +0 -0
  275. data/spec/dummy/tmp/cache/assets/test/sprockets/{2d4306296d3245a46894d3915dd4299f → e76f5e84c165c22920d69c5dafce2fe1} +0 -0
  276. data/spec/dummy/tmp/cache/assets/test/sprockets/e868f358fe87542c483951a2d9f532b6 +0 -0
  277. data/spec/dummy/tmp/cache/assets/test/sprockets/e8a6adf580ebd1942f4aabe6738678c2 +0 -0
  278. data/spec/dummy/tmp/cache/assets/test/sprockets/ed71f99e0a9653296abd5d6f501dd898 +0 -0
  279. data/spec/dummy/tmp/cache/assets/test/sprockets/efe6f2d16d3a1819817efb8734daf8af +0 -0
  280. data/spec/dummy/tmp/cache/assets/test/sprockets/f03e99bdb4159ae3485ca2858716e19b +0 -0
  281. data/spec/dummy/tmp/cache/assets/test/sprockets/{10446c65bee552db6d0b26aa0d6c3c7c → f4648036e284d9aa3468f4f7b9bbb967} +0 -0
  282. data/spec/dummy/tmp/cache/assets/test/sprockets/f961f7434a28c0fe24bf4ffe6cba75fb +0 -0
  283. data/spec/dummy/tmp/cache/assets/test/sprockets/f9bbf698d099ead559e5ba4a5a4c5538 +0 -0
  284. data/spec/dummy/tmp/cache/assets/test/sprockets/{ab1ce6f3aecd81fbe0ca7431bfa2da16 → fb8d3825617fcc11dfa614a51effee0e} +0 -0
  285. data/spec/dummy/tmp/restart.txt +0 -0
  286. data/spec/lib/prosperity/extractors/interval_spec.rb +1 -1
  287. data/spec/lib/prosperity/extractors/total_spec.rb +1 -1
  288. data/spec/lib/prosperity/metric_spec.rb +1 -1
  289. data/spec/models/prosperity/graph_spec.rb +5 -5
  290. data/spec/spec_helper.rb +1 -1
  291. data/spec/support/shared/extractors.rb +17 -1
  292. metadata +365 -185
  293. data/spec/dummy/tmp/cache/assets/development/sprockets/11d42dc6f7d021d2bb12621bc88d7169 +0 -0
  294. data/spec/dummy/tmp/cache/assets/development/sprockets/27a965b115efdc9b17424bc81c573662 +0 -0
  295. data/spec/dummy/tmp/cache/assets/development/sprockets/2d0a5fb529266a7af7f0941db4634efe +0 -0
  296. data/spec/dummy/tmp/cache/assets/development/sprockets/8298aac422d38bb4b9a213a41750bbf9 +0 -0
  297. data/spec/dummy/tmp/cache/assets/development/sprockets/85cb5362d2c477e6fc4d29d02520fb14 +0 -0
  298. data/spec/dummy/tmp/cache/assets/development/sprockets/a0b2f36fb1c78f0ef7f19b703b5982e6 +0 -0
  299. data/spec/dummy/tmp/cache/assets/development/sprockets/ac07188c05c7631be03408708285b130 +0 -0
  300. data/spec/dummy/tmp/cache/assets/development/sprockets/b134ddf771e46a832ba344082d2f058d +0 -0
  301. data/spec/dummy/tmp/cache/assets/development/sprockets/f40d5403e647c902a41493ae83badf0c +0 -0
  302. data/spec/dummy/tmp/cache/assets/development/sprockets/ffdc6b45c0c395ed9dc5161d108ddf2f +0 -0
  303. data/spec/dummy/tmp/cache/assets/test/sprockets/27a965b115efdc9b17424bc81c573662 +0 -0
  304. data/spec/dummy/tmp/cache/assets/test/sprockets/2d0a5fb529266a7af7f0941db4634efe +0 -0
  305. data/spec/dummy/tmp/cache/assets/test/sprockets/33d4a0ef15f498772a0ea19eb4750aa7 +0 -0
  306. data/spec/dummy/tmp/cache/assets/test/sprockets/4be441ed3523796ee063e403cf825d5f +0 -0
  307. data/spec/dummy/tmp/cache/assets/test/sprockets/85cb5362d2c477e6fc4d29d02520fb14 +0 -0
  308. data/spec/dummy/tmp/cache/assets/test/sprockets/a0b2f36fb1c78f0ef7f19b703b5982e6 +0 -0
  309. data/spec/dummy/tmp/cache/assets/test/sprockets/a28460da9c8f70a7a12df29a8a3d1745 +0 -0
  310. data/spec/dummy/tmp/cache/assets/test/sprockets/ac07188c05c7631be03408708285b130 +0 -0
  311. data/spec/dummy/tmp/cache/assets/test/sprockets/b134ddf771e46a832ba344082d2f058d +0 -0
  312. data/spec/dummy/tmp/cache/assets/test/sprockets/b55e3dfa7d480e87a03ae5bbd957ff89 +0 -0
  313. data/spec/dummy/tmp/cache/assets/test/sprockets/e35a2d39c42309e06581c5a42a3db2b8 +0 -0
  314. data/spec/dummy/tmp/cache/assets/test/sprockets/f40d5403e647c902a41493ae83badf0c +0 -0
  315. data/spec/dummy/tmp/cache/assets/test/sprockets/ffdc6b45c0c395ed9dc5161d108ddf2f +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8043ea5a21b609bec47b7a5f4817d88d0bfcbc22
4
- data.tar.gz: 3c3bd81fbe4b02cdec4d3f8d4d1fa34142f03560
3
+ metadata.gz: 1a284f5537871f1011c6a7b345a3769e6b6dbff2
4
+ data.tar.gz: 53a51339a32855d1626866ac3d1c982001089fdb
5
5
  SHA512:
6
- metadata.gz: 59ee56c77f71309b14bba8380396d6546cb9b3aecea048b3769bc55c01cdde5813e366c1cecd2c7e3645c2f6e3317cee38e78610126420f95c0fe593ff75a667
7
- data.tar.gz: a59381cfc4ac2fb7dfebf334cb7e7a5403846106e0ad49d580c92cc440cb523fc3db599b7fa32eb8f422bebff949a3f5b23fa046c7b291860056b1e0ed8b5942
6
+ metadata.gz: 4251f65a73946c06e891ef2cdb25ba2925862043d8b5a87916f2e8da8023db0d84cc1ae5912247bdaa22e7245279f1a681c3e168e915f1e028542ce626e889c3
7
+ data.tar.gz: 5acff210c62f4a5ce921baf198ca741968886bcb57bfbd09eaf35681cb0c7549f4b7159a895659a4a28a166e23033a4de80d45b0f6643e5817e83b08b572f020
@@ -57,7 +57,7 @@ class SubGraph
57
57
  @el
58
58
 
59
59
  class: =>
60
- if @graphType == 'area'
60
+ if ['area', 'ratio'].indexOf(@graphType) >= 0
61
61
  Morris.Area
62
62
  else
63
63
  Morris.Line
@@ -66,8 +66,22 @@ class SubGraph
66
66
  # Because of a bug in Morris (https://github.com/morrisjs/morris.js/issues/388)
67
67
  # it's not possible to add data on a hidden element. We just redraw the
68
68
  # entire thing in the meantime.
69
+ if @graphType == 'ratio'
70
+ @calculateRatios()
71
+
69
72
  @chart = new @class()(@chartOptions)
70
73
 
74
+ calculateRatios: ->
75
+ for item, index in @data
76
+ sum = 0
77
+ for key, value of item
78
+ sum += value unless key == 'x'
79
+ for key, value of item
80
+ if sum == 0
81
+ item[key] = 0 unless key == 'x'
82
+ else
83
+ item[key] = (value / sum) * 100 unless key == 'x'
84
+
71
85
  class Graph
72
86
  constructor: (options) ->
73
87
  @url = options.url
@@ -8,7 +8,7 @@ module Prosperity
8
8
 
9
9
  attr_accessible *ATTR_ACCESSIBLE unless defined?(ActionController::StrongParameters)
10
10
 
11
- VALID_GRAPH_TYPES = %w(line area)
11
+ VALID_GRAPH_TYPES = %w(line area ratio)
12
12
  validates :graph_type, inclusion: {in: VALID_GRAPH_TYPES}
13
13
 
14
14
  private
@@ -4,7 +4,7 @@ module Prosperity
4
4
  "AVG(#{column})"
5
5
  end
6
6
 
7
- def apply(scope)
7
+ def apply(scope, options = {})
8
8
  scope.average(column)
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module Prosperity
4
4
  "COUNT(1)"
5
5
  end
6
6
 
7
- def apply(scope)
7
+ def apply(scope, options = {})
8
8
  scope.count
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module Prosperity
4
4
  "MAX(#{column})"
5
5
  end
6
6
 
7
- def apply(scope)
7
+ def apply(scope, options = {})
8
8
  scope.maximum(column)
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module Prosperity
4
4
  "MIN(#{column})"
5
5
  end
6
6
 
7
- def apply(scope)
7
+ def apply(scope, options = {})
8
8
  scope.minimum(column)
9
9
  end
10
10
  end
@@ -7,6 +7,37 @@ module Prosperity
7
7
  def to_sql
8
8
  @sql
9
9
  end
10
+
11
+ def apply(scope, group_by_sql: nil)
12
+ # This is pretty hacky.. this assumes that the aggregate SQL can be
13
+ # inserted into this query and provide a valid query. We also leave it to
14
+ # the extractor to set this value if needed
15
+ if group_by_sql
16
+ s = scope.select("#{group_by_sql} AS bucket, #{to_sql}")
17
+ s.inject({}) {|accum, el|
18
+ attr = el.attributes.keys.select do |key|
19
+ !%w(id bucket).include?(key)
20
+ end.first
21
+ accum[el["bucket"]] = el.attributes[attr].to_f
22
+ accum
23
+ }
24
+ else
25
+ s = scope.select(to_sql)
26
+
27
+ # This isn't a group by, we should return a single value rather than a
28
+ # scope
29
+ if s.group_values.empty?
30
+ raise "Unexpected size" unless s.to_a.size == 1
31
+ record = s.first
32
+ # Assumes that the select statement as a single value attribute
33
+ # AR always add id, so get rid of that
34
+ value_attr = record.attributes.keys.first { |a| a != "id" }
35
+ record.attributes[value_attr]
36
+ else
37
+ s
38
+ end
39
+ end
40
+ end
10
41
  end
11
42
  end
12
43
 
@@ -4,7 +4,7 @@ module Prosperity
4
4
  "SUM(#{column})"
5
5
  end
6
6
 
7
- def apply(scope)
7
+ def apply(scope, options = {})
8
8
  scope.sum(column)
9
9
  end
10
10
  end
@@ -31,8 +31,9 @@ module Prosperity
31
31
  return data
32
32
  else
33
33
  s = scope.where("#{metric.group_by} BETWEEN ? AND ?", @start_time, @end_time)
34
- s = s.group("to_char(#{metric.group_by}, '#{period.db_strf_str}')")
35
- s = aggregate.apply(s)
34
+ group_by_sql = "to_char(#{metric.group_by}, '#{period.db_strf_str}')"
35
+ s = s.group(group_by_sql)
36
+ s = aggregate.apply(s, group_by_sql: group_by_sql)
36
37
  end
37
38
 
38
39
 
@@ -13,7 +13,8 @@ module Prosperity
13
13
  elsif metric.ruby?
14
14
  data << metric.value_at.call(start_time, period)
15
15
  else
16
- data << metric.aggregate.apply(scope.where("#{metric.group_by} < ?", start_time))
16
+ s = scope.where("#{metric.group_by} < ?", start_time)
17
+ data << metric.aggregate.apply(s)
17
18
  end
18
19
  end
19
20
 
@@ -1,3 +1,3 @@
1
1
  module Prosperity
2
- VERSION = "0.0.10"
2
+ VERSION = "0.0.11"
3
3
  end
@@ -1,365 +1,7 @@
1
-
2
-
3
- Started GET "/prosperity/" for 127.0.0.1 at 2014-05-17 16:57:07 -0700
4
- ActiveRecord::SchemaMigration Load (2.9ms) SELECT "schema_migrations".* FROM "schema_migrations"
5
- Processing by Prosperity::MetricsController#index as HTML
6
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/metrics/index.html.erb within layouts/prosperity/application (3.4ms)
7
- Completed 200 OK in 104ms (Views: 93.2ms | ActiveRecord: 0.0ms)
8
-
9
-
10
- Started GET "/assets/bootstrap.min.css?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
11
-
12
-
13
- Started GET "/assets/bootstrap-theme.min.css?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
14
-
15
-
16
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
17
-
18
-
19
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
20
-
21
-
22
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
23
-
24
-
25
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:08 -0700
26
-
27
-
28
- Started GET "/assets/prosperity/application.css?body=1" for 127.0.0.1 at 2014-05-17 16:57:09 -0700
29
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
30
-
31
-
32
- Started GET "/assets/prosperity/graph.css?body=1" for 127.0.0.1 at 2014-05-17 16:57:10 -0700
33
-
34
-
35
- Started GET "/assets/prosperity/dashboards.css?body=1" for 127.0.0.1 at 2014-05-17 16:57:10 -0700
36
-
37
-
38
- Started GET "/assets/highcharts.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:10 -0700
39
-
40
-
41
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-05-17 16:57:10 -0700
42
-
43
-
44
- Started GET "/prosperity/" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
45
- ActiveRecord::SchemaMigration Load (2.9ms) SELECT "schema_migrations".* FROM "schema_migrations"
46
- Processing by Prosperity::MetricsController#index as HTML
47
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/metrics/index.html.erb within layouts/prosperity/application (3.2ms)
48
- Completed 200 OK in 104ms (Views: 91.5ms | ActiveRecord: 0.0ms)
49
-
50
-
51
- Started GET "/assets/bootstrap.min.css?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
52
-
53
-
54
- Started GET "/assets/prosperity/application.css?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
55
-
56
-
57
- Started GET "/assets/prosperity/graph.css?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
58
-
59
-
60
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
61
-
62
-
63
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
64
-
65
-
66
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:13 -0700
67
-
68
-
69
- Started GET "/assets/bootstrap-theme.min.css?body=1" for 127.0.0.1 at 2014-07-29 22:34:15 -0700
70
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
71
-
72
-
73
- Started GET "/assets/prosperity/dashboards.css?body=1" for 127.0.0.1 at 2014-07-29 22:34:15 -0700
74
-
75
-
76
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:15 -0700
77
-
78
-
79
- Started GET "/assets/highcharts.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:15 -0700
80
-
81
-
82
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-29 22:34:15 -0700
83
-
84
-
85
- Started GET "/prosperity/" for 127.0.0.1 at 2014-07-31 21:55:02 -0700
86
- ActiveRecord::SchemaMigration Load (1.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
87
-
88
- ActiveRecord::PendingMigrationError (
89
-
90
- Migrations are pending. To resolve this issue, run:
91
-
92
- bin/rake db:migrate RAILS_ENV=development
93
-
94
- ):
95
- activerecord (4.1.4) lib/active_record/migration.rb:389:in `check_pending!'
96
- activerecord (4.1.4) lib/active_record/migration.rb:377:in `call'
97
- actionpack (4.1.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
98
- activesupport (4.1.4) lib/active_support/callbacks.rb:82:in `run_callbacks'
99
- actionpack (4.1.4) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
100
- actionpack (4.1.4) lib/action_dispatch/middleware/reloader.rb:73:in `call'
101
- actionpack (4.1.4) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
102
- actionpack (4.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
103
- actionpack (4.1.4) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
104
- railties (4.1.4) lib/rails/rack/logger.rb:38:in `call_app'
105
- railties (4.1.4) lib/rails/rack/logger.rb:20:in `block in call'
106
- activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `block in tagged'
107
- activesupport (4.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
108
- activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `tagged'
109
- railties (4.1.4) lib/rails/rack/logger.rb:20:in `call'
110
- actionpack (4.1.4) lib/action_dispatch/middleware/request_id.rb:21:in `call'
111
- rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
112
- rack (1.5.2) lib/rack/runtime.rb:17:in `call'
113
- activesupport (4.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
114
- rack (1.5.2) lib/rack/lock.rb:17:in `call'
115
- actionpack (4.1.4) lib/action_dispatch/middleware/static.rb:64:in `call'
116
- rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
117
- railties (4.1.4) lib/rails/engine.rb:514:in `call'
118
- railties (4.1.4) lib/rails/application.rb:144:in `call'
119
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:145:in `handle'
120
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
121
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
122
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:86:in `each'
123
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:86:in `block in start'
124
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:66:in `loop'
125
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:66:in `start'
126
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:13:in `run'
127
- /Users/simon/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/bin/nack_worker:4:in `<main>'
128
-
129
-
130
- Rendered /Users/simon/.rvm/gems/ruby-2.1.0@prosperity/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.6ms)
131
- Rendered /Users/simon/.rvm/gems/ruby-2.1.0@prosperity/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.3ms)
132
- Rendered /Users/simon/.rvm/gems/ruby-2.1.0@prosperity/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms)
133
- Rendered /Users/simon/.rvm/gems/ruby-2.1.0@prosperity/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (19.5ms)
134
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
135
- Migrating to AddGraphTypeToGraphs (20140516222642)
136
-  (0.6ms) BEGIN
137
-  (10.3ms) ALTER TABLE "prosperity_graphs" ADD COLUMN "graph_type" character varying(255)
138
-  (2.1ms) UPDATE prosperity_graphs SET graph_type='line'
139
-  (3.2ms) ALTER TABLE "prosperity_graphs" ALTER COLUMN "graph_type" TYPE character varying(255)
140
-  (0.2ms) ALTER TABLE "prosperity_graphs" ALTER "graph_type" SET NOT NULL
141
- SQL (6.0ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20140516222642"]]
142
-  (189.6ms) COMMIT
143
- Migrating to CreateTransactions (20140606175543)
144
-  (0.1ms) BEGIN
145
-  (28.9ms) CREATE TABLE "transactions" ("id" serial primary key, "date" timestamp NOT NULL, "amount_in_cents" integer NOT NULL, "created_at" timestamp, "updated_at" timestamp)
146
- SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) [["version", "20140606175543"]]
147
-  (1.0ms) COMMIT
148
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
149
-
150
-
151
- Started GET "/prosperity/" for 127.0.0.1 at 2014-07-31 21:55:23 -0700
152
- ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
153
- Processing by Prosperity::DashboardsController#index as HTML
154
- Prosperity::Dashboard Load (1.7ms) SELECT "prosperity_dashboards".* FROM "prosperity_dashboards"
155
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/dashboards/index.html.erb within layouts/prosperity/application (10.4ms)
156
- Rendered /Users/simon/Documents/code/prosperity/app/views/layouts/prosperity/base.html.erb (11.3ms)
157
- Completed 200 OK in 1029ms (Views: 1018.9ms | ActiveRecord: 3.8ms)
158
-
159
-
160
- Started GET "/assets/bootstrap.min.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
161
-
162
-
163
- Started GET "/assets/morris.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
164
-
165
-
166
- Started GET "/assets/prosperity/application.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
167
-
168
-
169
- Started GET "/assets/prosperity/graph.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
170
-
171
-
172
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
173
-
174
-
175
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
176
-
177
-
178
- Started GET "/assets/prosperity/deletable_attribute.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
179
-
180
-
181
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
182
-
183
-
184
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:24 -0700
185
-
186
-
187
- Started GET "/assets/bootstrap-theme.min.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
188
- ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
189
-
190
-
191
- Started GET "/assets/prosperity/dashboards.css?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
192
-
193
-
194
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
195
-
196
-
197
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
198
-
199
-
200
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
201
-
202
-
203
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
204
-
205
-
206
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
207
-
208
-
209
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
210
-
211
-
212
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:26 -0700
213
-
214
-
215
- Started GET "/prosperity/" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
216
- Processing by Prosperity::DashboardsController#index as HTML
217
- Prosperity::Dashboard Load (0.5ms) SELECT "prosperity_dashboards".* FROM "prosperity_dashboards"
218
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/dashboards/index.html.erb within layouts/prosperity/application (2.2ms)
219
- Rendered /Users/simon/Documents/code/prosperity/app/views/layouts/prosperity/base.html.erb (1.4ms)
220
- Completed 200 OK in 12ms (Views: 11.3ms | ActiveRecord: 0.5ms)
221
-
222
-
223
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
224
-
225
-
226
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
227
-
228
-
229
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
230
-
231
-
232
- Started GET "/assets/prosperity/deletable_attribute.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
233
-
234
-
235
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
236
-
237
-
238
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
239
-
240
-
241
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:28 -0700
242
-
243
-
244
- Started GET "/prosperity/metrics" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
245
- Processing by Prosperity::MetricsController#index as HTML
246
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/metrics/index.html.erb within layouts/prosperity/application (2.2ms)
247
- Rendered /Users/simon/Documents/code/prosperity/app/views/layouts/prosperity/base.html.erb (1.4ms)
248
- Completed 200 OK in 20ms (Views: 10.4ms | ActiveRecord: 0.0ms)
249
-
250
-
251
-
252
-
253
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
254
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
255
-
256
-
257
-
258
-
259
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
260
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
261
-
262
-
263
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
264
-
265
-
266
- Started GET "/assets/prosperity/deletable_attribute.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
267
-
268
-
269
-
270
-
271
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
272
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:29 -0700
273
-
274
-
275
- Started GET "/prosperity/dashboards" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
276
- Processing by Prosperity::DashboardsController#index as HTML
277
- Prosperity::Dashboard Load (0.4ms) SELECT "prosperity_dashboards".* FROM "prosperity_dashboards"
278
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/dashboards/index.html.erb within layouts/prosperity/application (2.0ms)
279
- Rendered /Users/simon/Documents/code/prosperity/app/views/layouts/prosperity/base.html.erb (1.3ms)
280
- Completed 200 OK in 10ms (Views: 9.8ms | ActiveRecord: 0.4ms)
281
-
282
-
283
-
284
-
285
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
286
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
287
-
288
-
289
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
290
-
291
-
292
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
293
-
294
-
295
- Started GET "/assets/prosperity/deletable_attribute.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
296
-
297
-
298
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
299
-
300
-
301
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
302
-
303
-
304
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:31 -0700
305
-
306
-
307
- Started GET "/prosperity/dashboards/1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
308
- Processing by Prosperity::DashboardsController#show as HTML
309
- Parameters: {"id"=>"1"}
310
- Prosperity::Dashboard Load (6.1ms) SELECT "prosperity_dashboards".* FROM "prosperity_dashboards" WHERE "prosperity_dashboards"."id" = $1 LIMIT 1 [["id", 1]]
311
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/shared/_date_range.html.erb (1.0ms)
312
- Prosperity::Graph Exists (2.1ms) SELECT 1 AS one FROM "prosperity_graphs" INNER JOIN "prosperity_dashboard_graphs" ON "prosperity_graphs"."id" = "prosperity_dashboard_graphs"."graph_id" WHERE "prosperity_dashboard_graphs"."dashboard_id" = $1 LIMIT 1 [["dashboard_id", 1]]
313
- Prosperity::Graph Load (0.3ms) SELECT "prosperity_graphs".* FROM "prosperity_graphs" INNER JOIN "prosperity_dashboard_graphs" ON "prosperity_graphs"."id" = "prosperity_dashboard_graphs"."graph_id" WHERE "prosperity_dashboard_graphs"."dashboard_id" = $1 [["dashboard_id", 1]]
314
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/graphs/_render_graph.html.erb (0.4ms)
315
- Rendered /Users/simon/Documents/code/prosperity/app/views/prosperity/dashboards/show.html.erb within layouts/prosperity/application (115.3ms)
316
- Rendered /Users/simon/Documents/code/prosperity/app/views/layouts/prosperity/base.html.erb (1.2ms)
317
- Completed 200 OK in 131ms (Views: 118.0ms | ActiveRecord: 10.9ms)
318
-
319
-
320
- Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
321
-
322
-
323
- Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
324
-
325
-
326
- Started GET "/assets/morris.min-0.5.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
327
-
328
-
329
- Started GET "/assets/prosperity/dashboards.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
330
-
331
-
332
- Started GET "/assets/raphael-min-2.1.2.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
333
-
334
-
335
- Started GET "/assets/prosperity/graph.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
336
-
337
-
338
- Started GET "/assets/prosperity/deletable_attribute.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
339
-
340
-
341
- Started GET "/assets/prosperity/application.js?body=1" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
342
-
343
-
344
- Started GET "/prosperity/graphs/1?end_time=2014-07-31+21%3A55%3A32+-0700&start_time=2014-04-30+21%3A55%3A32+-0700" for 127.0.0.1 at 2014-07-31 21:55:32 -0700
345
- Processing by Prosperity::GraphsController#show as JSON
346
- Parameters: {"end_time"=>"2014-07-31 21:55:32 -0700", "start_time"=>"2014-04-30 21:55:32 -0700", "id"=>"1"}
347
- Prosperity::Graph Load (0.8ms) SELECT "prosperity_graphs".* FROM "prosperity_graphs" WHERE "prosperity_graphs"."id" = $1 LIMIT 1 [["id", 1]]
348
- Prosperity::GraphLine Load (2.0ms) SELECT "prosperity_graph_lines".* FROM "prosperity_graph_lines" WHERE "prosperity_graph_lines"."graph_id" = $1 [["graph_id", 1]]
349
- Completed 200 OK in 18ms (Views: 0.4ms | ActiveRecord: 5.1ms)
350
-
351
-
352
- Started GET "/prosperity/metrics/UsersMetric/data?end_time=2014-07-31+21%3A55%3A32+-0700&extractor=change&option=default&period=month&start_time=2014-04-30+21%3A55%3A32+-0700" for 127.0.0.1 at 2014-07-31 21:55:33 -0700
353
- Processing by Prosperity::MetricsController#data as JSON
354
- Parameters: {"end_time"=>"2014-07-31 21:55:32 -0700", "extractor"=>"change", "option"=>"default", "period"=>"month", "start_time"=>"2014-04-30 21:55:32 -0700", "id"=>"UsersMetric"}
355
-  (4.3ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-04-01 07:00:00.000000')
356
-  (0.6ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-03-01 08:00:00.000000')
357
-  (0.5ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-05-01 07:00:00.000000')
358
- CACHE (0.0ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-04-01 07:00:00.000000')
359
-  (0.5ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-06-01 07:00:00.000000')
360
- CACHE (0.0ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-05-01 07:00:00.000000')
361
-  (0.5ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-07-01 07:00:00.000000')
362
- CACHE (0.0ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-06-01 07:00:00.000000')
363
-  (0.5ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-08-01 07:00:00.000000')
364
- CACHE (0.0ms) SELECT COUNT(*) FROM "users" WHERE (created_at < '2014-07-01 07:00:00.000000')
365
- Completed 200 OK in 20ms (Views: 0.3ms | ActiveRecord: 8.8ms)
1
+ ActiveRecord::SchemaMigration Load (2.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
2
+ Migrating to Dashboards (20131127042251)
3
+  (0.1ms) BEGIN
4
+  (9.6ms) CREATE TABLE "prosperity_dashboards" ("id" serial primary key, "title" character varying(255) NOT NULL, "default" boolean NOT NULL, "created_at" timestamp, "updated_at" timestamp) 
5
+ PG::DuplicateTable: ERROR: relation "prosperity_dashboards" already exists
6
+ : CREATE TABLE "prosperity_dashboards" ("id" serial primary key, "title" character varying(255) NOT NULL, "default" boolean NOT NULL, "created_at" timestamp, "updated_at" timestamp)
7
+  (0.1ms) ROLLBACK