Merge branch 'add-instrumentation-for-15137' into 'master'
Instrument methods used in email diffs See merge request !4038
This commit is contained in:
commit
917c26ced7
2 changed files with 24 additions and 14 deletions
|
@ -18,6 +18,9 @@ v 8.8.0 (unreleased)
|
|||
- Added multiple colors for labels in dropdowns when dups happen.
|
||||
- Improve description for the Two-factor Authentication sign-in screen. (Connor Shea)
|
||||
|
||||
v 8.7.3
|
||||
- Emails, Gitlab::Email::Message, Gitlab::Diff, and Premailer::Adapter::Nokogiri are now instrumented
|
||||
|
||||
v 8.7.2
|
||||
- The "New Branch" button is now loaded asynchronously
|
||||
- Fix error 500 when trying to create a wiki page
|
||||
|
|
|
@ -61,12 +61,30 @@ if Gitlab::Metrics.enabled?
|
|||
config.instrument_instance_methods(const)
|
||||
end
|
||||
|
||||
Dir[Rails.root.join('app', 'finders', '*.rb')].each do |path|
|
||||
const = File.basename(path, '.rb').camelize.constantize
|
||||
# Path to search => prefix to strip from constant
|
||||
paths_to_instrument = {
|
||||
['app', 'finders'] => ['app', 'finders'],
|
||||
['app', 'mailers', 'emails'] => ['app', 'mailers'],
|
||||
['app', 'services', '**'] => ['app', 'services'],
|
||||
['lib', 'gitlab', 'diff'] => ['lib'],
|
||||
['lib', 'gitlab', 'email', 'message'] => ['lib']
|
||||
}
|
||||
|
||||
config.instrument_instance_methods(const)
|
||||
paths_to_instrument.each do |(path, prefix)|
|
||||
prefix = Rails.root.join(*prefix)
|
||||
|
||||
Dir[Rails.root.join(*path + ['*.rb'])].each do |file_path|
|
||||
path = Pathname.new(file_path).relative_path_from(prefix)
|
||||
const = path.to_s.sub('.rb', '').camelize.constantize
|
||||
|
||||
config.instrument_methods(const)
|
||||
config.instrument_instance_methods(const)
|
||||
end
|
||||
end
|
||||
|
||||
config.instrument_methods(Premailer::Adapter::Nokogiri)
|
||||
config.instrument_instance_methods(Premailer::Adapter::Nokogiri)
|
||||
|
||||
[
|
||||
:Blame, :Branch, :BranchCollection, :Blob, :Commit, :Diff, :Repository,
|
||||
:Tag, :TagCollection, :Tree
|
||||
|
@ -97,17 +115,6 @@ if Gitlab::Metrics.enabled?
|
|||
config.instrument_methods(Gitlab::ReferenceExtractor)
|
||||
config.instrument_instance_methods(Gitlab::ReferenceExtractor)
|
||||
|
||||
# Instrument all service classes
|
||||
services = Rails.root.join('app', 'services')
|
||||
|
||||
Dir[services.join('**', '*.rb')].each do |file_path|
|
||||
path = Pathname.new(file_path).relative_path_from(services)
|
||||
const = path.to_s.sub('.rb', '').camelize.constantize
|
||||
|
||||
config.instrument_methods(const)
|
||||
config.instrument_instance_methods(const)
|
||||
end
|
||||
|
||||
# Instrument the classes used for checking if somebody has push access.
|
||||
config.instrument_instance_methods(Gitlab::GitAccess)
|
||||
config.instrument_instance_methods(Gitlab::GitAccessWiki)
|
||||
|
|
Loading…
Reference in a new issue