Commit 9955111c authored by Yorick Peterse's avatar Yorick Peterse

Merge branch 'more-instrumentation-down-the-pipeline' into 'master'

Add instrumentation to push hooks

See merge request !106
parents ed59fbc3 265df408
v4.0.1
- Add instrumentation to push hooks
v4.0.0
- Use full repository path for API calls
......
......@@ -2,6 +2,7 @@ require_relative 'gitlab_init'
require_relative 'gitlab_net'
require_relative 'gitlab_access_status'
require_relative 'names_helper'
require_relative 'gitlab_metrics'
require 'json'
class GitlabAccess
......@@ -20,7 +21,9 @@ class GitlabAccess
end
def exec
status = api.check_access('git-receive-pack', @repo_path, @actor, @changes, @protocol)
status = GitlabMetrics.measure('check-access:git-receive-pack') do
api.check_access('git-receive-pack', @repo_path, @actor, @changes, @protocol)
end
raise AccessDeniedError, status.message unless status.allowed?
......
require 'open3'
require_relative 'gitlab_metrics'
class GitlabCustomHook
attr_reader :vars
......@@ -11,21 +12,21 @@ class GitlabCustomHook
hook = hook_file('pre-receive', repo_path)
return true if hook.nil?
call_receive_hook(hook, changes)
GitlabMetrics.measure("pre-receive-hook") { call_receive_hook(hook, changes) }
end
def post_receive(changes, repo_path)
hook = hook_file('post-receive', repo_path)
return true if hook.nil?
call_receive_hook(hook, changes)
GitlabMetrics.measure("post-receive-hook") { call_receive_hook(hook, changes) }
end
def update(ref_name, old_value, new_value, repo_path)
hook = hook_file('update', repo_path)
return true if hook.nil?
system(vars, hook, ref_name, old_value, new_value)
GitlabMetrics.measure("update-hook") { system(vars, hook, ref_name, old_value, new_value) }
end
private
......
require_relative 'gitlab_init'
require_relative 'gitlab_net'
require_relative 'gitlab_reference_counter'
require_relative 'gitlab_metrics'
require 'json'
require 'base64'
require 'securerandom'
......@@ -21,14 +22,18 @@ class GitlabPostReceive
result = update_redis
begin
broadcast_message = api.broadcast_message
broadcast_message = GitlabMetrics.measure("broadcast-message") do
api.broadcast_message
end
if broadcast_message.has_key?("message")
puts
print_broadcast_message(broadcast_message["message"])
end
merge_request_urls = api.merge_request_urls(@repo_path, @changes)
merge_request_urls = GitlabMetrics.measure("merge-request-urls") do
api.merge_request_urls(@repo_path, @changes)
end
print_merge_request_links(merge_request_urls)
rescue GitlabNet::ApiUnreachableError
nil
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment