Commit graph

6 commits

Author SHA1 Message Date
Sean McGivern
f1a7e7fea1 Allow profiler to authenticate by stubbing users directly
Previously, we used a personal access token. This had a couple of
problems:

1. If the user didn't have a PAT, we couldn't impersonate them.
2. It depended on reading the raw PAT from the database.

Instead, we can monkey-patch the authentication methods on
ApplicationController (overriding the Devise ones), and remove them once
we're done. This does mean that profiles will not profile auth
correctly, so for that, use a PAT directly.
2018-11-26 11:18:03 +00:00
Sean McGivern
d304f88352 Expose a clean_backtrace method from Gitlab::Profiler
This method makes it easier for other parts of the app to get clean backtraces,
as well as console users.
2018-06-15 13:29:55 +01:00
Sean McGivern
e236180618 Add query counts by model to profiler output 2018-03-21 17:18:33 +00:00
Sean McGivern
68f8a798f2 Include the ee/ directory in backtraces 2018-03-12 10:14:52 +00:00
Dylan Griffith
bda4f0811e Improve error handling for Gitlab::Profiler and improve doc about providing a user 2018-02-16 19:47:44 +11:00
Sean McGivern
b16c0080ac Add Gitlab::Profiler for profiling from a console or runner
Gitlab::Profiler.profile takes a URL to profile, and returns the ruby-prof
profile result.

This is currently only for interactive use (in a console) or from the script
runner. Note that when using this interactively, changes to the application
within that console session will be used, so this can be used to test proposed
performance changes.
2018-01-19 12:31:54 +00:00