From 67012f4ae0c914473162d3d84d62e96dad2b3fc4 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Mon, 25 Jul 2016 15:45:04 +0200 Subject: Instrument Nokogiri parsing methods This allows us to see how much time is being spent in just parsing HTML/XML documents. --- CHANGELOG | 1 + config/initializers/metrics.rb | 7 +++++++ 2 files changed, 8 insertions(+) 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 -- cgit v1.2.1