Commit Graph

29 Commits

Author SHA1 Message Date
Winnie Hellmann 0bf740fa32 Replace `=== true` with `parseBoolean()` 2018-11-27 09:18:48 +01:00
Mike Greiling 5b9495c5db
Prettify all the things 2018-11-20 09:30:01 -06:00
Mike Greiling b49c400a96
Prettify performance_bar notes and profile modules 2018-10-17 00:44:22 -05:00
Sean McGivern 22d6ad7550 Show if the host is a canary host in the perf bar
If the request came from a canary host, show this in the performance bar
by:

1. Adding a bird emoji.
2. Colouring the hostname yellow.
2018-10-12 12:37:18 +01:00
Filipa Lacerda e373b2e972 Fixes performance bar looking for a key in a undefined prop 2018-09-27 07:45:48 +00:00
Mike Greiling f829b181bc
Resolve eslint-plugin-vue errors
The eslint-plugin-vue upgrade had some breaking changes to
vue/attribute-order which needed to be resolved in order to avoid
disabling the rule entirely
2018-09-20 02:39:50 -05:00
Sean McGivern 51f2588fda Warn to console, not flash, when performance bar fails
This isn't interesting most of the time and is may go over other flash banners.
2018-08-29 12:38:48 +01:00
Sean McGivern 96904b0236 Ignore API requests in performance bar
These don't have performance data saved as they use Grape.
2018-08-29 12:01:17 +01:00
Sean McGivern 8e1a8deee3 Lazy-load performance bar UI
We need to eagerly load the performance bar wrapper component
(`performance_bar/index.js`) when the page is loaded and the container element
is present, to ensure that we register the interceptor early enough in the
page's lifecycle.

However, we don't need to load the UI at that point. Not doing so means that we
can let Webpack extract the UI (`performance_bar/components/*`) into its own
chunk, so users who don't see the performance bar don't have to load too much
unnecessary JavaScript.
2018-07-13 11:25:40 +01:00
Simon Knox 05a66a09e8 Resolve "SQL Queries are not shown from the Performance Bar in Safari" 2018-06-28 21:56:31 +00:00
Annabel Gray 4d098451c3 Resolve "Performance bar Gitaly modal is hard to read" 2018-06-14 16:34:58 +00:00
Filipa Lacerda 647a4d6a3b
Updates eslint vue plugin version 2018-06-11 15:36:54 +01:00
Annabel Dunstone Gray 5377e97da1
Use md as default modal size 2018-06-04 13:33:23 -07:00
Annabel Dunstone Gray e54d456b47
Add class to fix wrapping 2018-06-01 15:08:25 -07:00
Annabel Dunstone Gray adbdd8e309
Add modal-size option to modal component 2018-06-01 14:58:19 -07:00
Clement Ho 9cc1294d27 Merge branch 'master' into bootstrap4 2018-04-26 15:55:32 -05:00
Pirate Praveen c1b416e19f
remove peek performance_bar
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-04-26 09:03:30 +02:00
Clement Ho 694b290a2e [skip ci] Merge branch 'master' into bootstrap4 2018-04-17 12:24:25 -05:00
Sean McGivern d77db0adbd Fix flash errors in performance bar for cached responses
When a request contains an ETag value in its If-None-Match header, the backend
may send a request ID (from Rack) that does not correspond to a value in Peek's
Redis cache (because we aborted the Rails processing in our ETag middleware).

Because a cached response (304) has to replace the headers with those from the
previous 200 - https://tools.ietf.org/html/rfc7234#section-4.3.4 - we add a
custom header that will only be present in cache hits, that can tell the
frontend to ignore these.
2018-04-17 11:50:27 +01:00
Clement Ho b413785e1d [skip ci] Replace .pull-right with .float-right 2018-04-09 12:42:45 -05:00
Filipa Lacerda 757da4dd33 Merge branch 'performance-bar-vue-resource' into 'master'
Add Vue resource interceptor to performance bar

See merge request gitlab-org/gitlab-ce!17915
2018-03-23 16:07:04 +00:00
Filipa Lacerda 3886489a47
Fix class name 2018-03-22 10:55:35 +00:00
Phil Hughes 58fe13ec9c Merge branch 'master' into '44453-performance-bar-modalbox'
# Conflicts:
#   app/assets/javascripts/performance_bar/components/detailed_metric.vue
2018-03-22 10:17:02 +00:00
Phil Hughes 27cd947489
fixed eslint 2018-03-21 17:42:24 +00:00
Phil Hughes fc32b57384
Add Vue resource interceptor to performance bar 2018-03-21 17:16:25 +00:00
Phil Hughes 7d651ad1de
removed check for host
changed wrapper to container with correct widths
2018-03-21 16:49:57 +00:00
Phil Hughes ab53f7aa13
Fix performance bar spacing 2018-03-21 16:28:07 +00:00
Filipa Lacerda 7224b8cea6
Adds a bigger width to the performance bar modal box and breaks the content 2018-03-20 17:26:30 +00:00
Sean McGivern a200619d14 Show Ajax requests in performance bar
But first, rewrite the performance bar in Vue:

1. Remove the peek-host gem and replace it with existing code. This also allows
   us to include the host in the JSON response, rather than in the page HTML.
2. Leave the line profiler parts as here-be-dragons: nicer would be a separate
   endpoint for these, so we could use them on Ajax requests too.
3. The performance bar is too fiddly to rewrite right now, so apply the same
   logic to that.

Then, add features! All requests made through Axios are able to be tracked. To
keep a lid on memory usage, only the first two requests for a given URL are
tracked, though. Each request that's tracked has the same data as the initial
page load, with the exception of the performance bar and the line profiler, as
explained above.
2018-03-19 19:06:09 +00:00