summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-07-25 15:45:04 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2016-07-25 15:45:42 +0200
commit67012f4ae0c914473162d3d84d62e96dad2b3fc4 (patch)
tree174c80b942d8bdfa8bd00f561c471db5fa7a88fc
parent8987257498c785e1ecf90c6cb85b9d1db06d9797 (diff)
downloadgitlab-ce-67012f4ae0c914473162d3d84d62e96dad2b3fc4.tar.gz
Instrument Nokogiri parsing methods
This allows us to see how much time is being spent in just parsing HTML/XML documents.
-rw-r--r--CHANGELOG1
-rw-r--r--config/initializers/metrics.rb7
2 files changed, 8 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 2f9b6e0da24..e741dbf374b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@ v 8.11.0 (unreleased)
- Fix of 'Commits being passed to custom hooks are already reachable when using the UI'
- Limit git rev-list output count to one in forced push check
- Retrieve rendered HTML from cache in one request
+ - Nokogiri's various parsing methods are now instrumented
- Make fork counter always clickable !5463 (winniehell)
- Load project invited groups and members eagerly in ProjectTeam#fetch_members
- Add GitLab Workhorse version to admin dashboard (Katarzyna Kobierska Ula Budziszewska)
diff --git a/config/initializers/metrics.rb b/config/initializers/metrics.rb
index c4266ab8ba5..f3cddac5b36 100644
--- a/config/initializers/metrics.rb
+++ b/config/initializers/metrics.rb
@@ -136,6 +136,13 @@ if Gitlab::Metrics.enabled?
config.instrument_instance_methods(Rouge::Plugins::Redcarpet)
config.instrument_instance_methods(Rouge::Formatters::HTMLGitlab)
+ [:XML, :HTML].each do |namespace|
+ namespace_mod = Nokogiri.const_get(namespace)
+
+ config.instrument_methods(namespace_mod)
+ config.instrument_methods(namespace_mod::Document)
+ end
+
config.instrument_methods(Rinku)
end