Merge branch 'update-profiler-docs-explaining-how-to-provide-user' into 'master'
Add documentation about how to provide a user to Gitlab::Profiler See merge request gitlab-org/gitlab-ce!17169
This commit is contained in:
commit
049d2cc435
3 changed files with 21 additions and 0 deletions
|
@ -27,6 +27,17 @@ Gitlab::Profiler.profile('/my-user')
|
|||
# Returns a RubyProf::Profile where 100 seconds is spent in UsersController#show
|
||||
```
|
||||
|
||||
For routes that require authorization you will need to provide a user to
|
||||
`Gitlab::Profiler`. You can do this like so:
|
||||
|
||||
```ruby
|
||||
Gitlab::Profiler.profile('/gitlab-org/gitlab-test', user: User.first)
|
||||
```
|
||||
|
||||
The user you provide will need to have a [personal access
|
||||
token](https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html) in
|
||||
the GitLab instance.
|
||||
|
||||
Passing a `logger:` keyword argument to `Gitlab::Profiler.profile` will send
|
||||
ActiveRecord and ActionController log output to that logger. Further options are
|
||||
documented with the method source.
|
||||
|
|
|
@ -45,6 +45,7 @@ module Gitlab
|
|||
|
||||
if user
|
||||
private_token ||= user.personal_access_tokens.active.pluck(:token).first
|
||||
raise 'Your user must have a personal_access_token' unless private_token
|
||||
end
|
||||
|
||||
headers['Private-Token'] = private_token if private_token
|
||||
|
|
|
@ -53,6 +53,15 @@ describe Gitlab::Profiler do
|
|||
described_class.profile('/', user: user)
|
||||
end
|
||||
|
||||
context 'when providing a user without a personal access token' do
|
||||
it 'raises an error' do
|
||||
user = double(:user)
|
||||
allow(user).to receive_message_chain(:personal_access_tokens, :active, :pluck).and_return([])
|
||||
|
||||
expect { described_class.profile('/', user: user) }.to raise_error('Your user must have a personal_access_token')
|
||||
end
|
||||
end
|
||||
|
||||
it 'uses the private_token for auth if both it and user are set' do
|
||||
user = double(:user)
|
||||
user_token = 'user'
|
||||
|
|
Loading…
Reference in a new issue