diff options
author | Andrew Newdigate <andrew@gitlab.com> | 2019-08-23 10:11:19 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-08-23 10:11:19 +0000 |
commit | 3956e7bb8695ebea0038d529162127fd514ea8f1 (patch) | |
tree | 5e4777e71d95a093776b6af0363e011406703a6b | |
parent | f7f3b3c3efd58f31ed422808722b0c81a0bf1064 (diff) | |
download | gitlab-ce-3956e7bb8695ebea0038d529162127fd514ea8f1.tar.gz |
Add cache tracing and Redis tracing
This change adds Distributed Tracing support for two new types of events
1. Redis Calls
1. ActiveSupport (Rails) Caching Operations
The intention is to help application developers and infrastructure
SREs to understand the pressure that caching operations can have on
the application when running at scale.
The Redis and Caching spans can be viewed in the Jaeger UI by clicking
the "Trace" link in the performance bar when running on GDK.
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | Gemfile.lock | 7 | ||||
-rw-r--r-- | changelogs/unreleased/labkit-cache-tracing.yml | 5 | ||||
-rw-r--r-- | config/initializers/tracing.rb | 4 |
4 files changed, 14 insertions, 4 deletions
@@ -283,7 +283,7 @@ gem 'sentry-raven', '~> 2.9' gem 'premailer-rails', '~> 1.9.7' # LabKit: Tracing and Correlation -gem 'gitlab-labkit', '~> 0.4.2' +gem 'gitlab-labkit', '~> 0.5' # I18n gem 'ruby_parser', '~> 3.8', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 0ecf3aa2840..d9a32027f3c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -311,12 +311,13 @@ GEM gitaly (1.58.0) grpc (~> 1.0) github-markup (1.7.0) - gitlab-labkit (0.4.2) + gitlab-labkit (0.5.2) actionpack (~> 5) activesupport (~> 5) grpc (~> 1.19) jaeger-client (~> 0.10) opentracing (~> 0.4) + redis (> 3.0.0, < 5.0.0) gitlab-markup (1.7.0) gitlab-sidekiq-fetcher (0.5.1) sidekiq (~> 5) @@ -712,7 +713,7 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.0.4) + rails-html-sanitizer (1.2.0) loofah (~> 2.2, >= 2.2.2) rails-i18n (5.1.1) i18n (>= 0.7, < 2) @@ -1100,7 +1101,7 @@ DEPENDENCIES gettext_i18n_rails_js (~> 1.3) gitaly (~> 1.58.0) github-markup (~> 1.7.0) - gitlab-labkit (~> 0.4.2) + gitlab-labkit (~> 0.5) gitlab-markup (~> 1.7.0) gitlab-sidekiq-fetcher (= 0.5.1) gitlab-styles (~> 2.7) diff --git a/changelogs/unreleased/labkit-cache-tracing.yml b/changelogs/unreleased/labkit-cache-tracing.yml new file mode 100644 index 00000000000..7e58e1b88dd --- /dev/null +++ b/changelogs/unreleased/labkit-cache-tracing.yml @@ -0,0 +1,5 @@ +--- +title: Add Redis interceptor tracing +merge_request: 30238 +author: +type: other diff --git a/config/initializers/tracing.rb b/config/initializers/tracing.rb index 3c8779f238f..5b55a06692e 100644 --- a/config/initializers/tracing.rb +++ b/config/initializers/tracing.rb @@ -21,9 +21,13 @@ if Labkit::Tracing.enabled? end end + # Instrument Redis + Labkit::Tracing::Redis.instrument + # Instrument Rails Labkit::Tracing::Rails::ActiveRecordSubscriber.instrument Labkit::Tracing::Rails::ActionViewSubscriber.instrument + Labkit::Tracing::Rails::ActiveSupportSubscriber.instrument # In multi-processed clustered architectures (puma, unicorn) don't # start tracing until the worker processes are spawned. This works |