summaryrefslogtreecommitdiff
path: root/lib/gitlab/profiler.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix Profiler to work with Ruby 5.1Stan Hu2019-04-261-1/+1
| | | | | | | Ruby 5.1 now requires keyword arguments to pass along parameters and headers for ActionDispatch::Integration::RequestHelpers. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/61051
* Add backtrace to Gitaly performance barStan Hu2019-04-171-0/+4
| | | | | | | | This adds the backtrace to a table to show exactly where the Gitaly call was made to make it easier to understand where the call originated. This change also collapses the details in the same row to improve the usability when there is a backtrace.
* Allow profiler to authenticate by stubbing users directly54327-profiler-doesn-t-work-with-auth-nowSean McGivern2018-11-261-12/+27
| | | | | | | | | | | | | 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.
* Enable frozen string for lib/gitlab/*.rbgfyoung2018-10-221-0/+2
|
* Disable existing offenses for the CodeReuse copsYorick Peterse2018-09-111-0/+4
| | | | | This whitelists all existing offenses for the various CodeReuse cops, of which most are triggered by the CodeReuse/ActiveRecord cop.
* Add a Gitlab::Profiler.print_by_total_time convenience methodSean McGivern2018-07-191-0/+6
| | | | | | | This method uses Gitlab::Profiler::TotalTimeFlatPrinter internally, which is the same as RubyProf::FlatPrinter, but the min_percent option (and new max_percent option) applies to the _total_ time, not the _self_ time. This helps us figure out if we're calling a library inefficiently, for instance.
* Expose a clean_backtrace method from Gitlab::Profilerexpose-clean-backtrace-method-from-profilerSean McGivern2018-06-151-5/+8
| | | | | This method makes it easier for other parts of the app to get clean backtraces, as well as console users.
* Add query counts by model to profiler outputadd-query-counts-to-profiler-outputSean McGivern2018-03-211-4/+8
|
* Improve error handling for Gitlab::Profiler and improve doc about providing ↵update-profiler-docs-explaining-how-to-provide-userDylan Griffith2018-02-161-0/+1
| | | | a user
* Add Gitlab::Profiler for profiling from a console or runnerSean McGivern2018-01-191-0/+142
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.