summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcharlieablett <cablett@gitlab.com>2019-05-21 10:30:11 +1200
committercharlieablett <cablett@gitlab.com>2019-05-30 18:27:28 +1200
commitb94a17e00efc89187aefd24d388e36584cd11784 (patch)
tree9275b3be42cea3fdaddf8be5955b52e7efb44cd3
parent2a1006416748950805294793f1bc8d6fa7435eea (diff)
downloadgitlab-ce-b94a17e00efc89187aefd24d388e36584cd11784.tar.gz
Add GraphQL logging feature flag
-rw-r--r--lib/gitlab/graphql/query_analyzers/logger_analyzer.rb2
-rw-r--r--spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb19
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/gitlab/graphql/query_analyzers/logger_analyzer.rb b/lib/gitlab/graphql/query_analyzers/logger_analyzer.rb
index 2cebd739a4e..e229e66849b 100644
--- a/lib/gitlab/graphql/query_analyzers/logger_analyzer.rb
+++ b/lib/gitlab/graphql/query_analyzers/logger_analyzer.rb
@@ -7,7 +7,7 @@ module Gitlab
# Called before initializing the analyzer.
# Returns true to run this analyzer, or false to skip it.
def analyze?(query)
- true # unless there's some reason why we wouldn't log?
+ Feature.enabled?(:graphql_logging, default_enabled: true)
end
# Called before the visit.
diff --git a/spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb b/spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb
index f85a3a206b1..a975af1cda2 100644
--- a/spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb
+++ b/spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb
@@ -3,7 +3,6 @@
require 'spec_helper'
describe Gitlab::Graphql::QueryAnalyzers::LoggerAnalyzer do
-
subject { described_class.new }
let(:query_string) { "abc" }
let(:provided_variables) { { a: 1, b: 2, c: 3 } }
@@ -22,6 +21,24 @@ describe Gitlab::Graphql::QueryAnalyzers::LoggerAnalyzer do
allow(Gitlab::Metrics::System).to receive(:monotonic_time).and_return(now)
end
+ describe '#analyze?' do
+ context 'feature flag disabled' do
+ before do
+ stub_feature_flags(graphql_logging: false)
+ end
+
+ specify do
+ expect(subject.analyze?(anything)).to be_falsey
+ end
+ end
+
+ context 'feature flag enabled by default' do
+ specify do
+ expect(subject.analyze?(anything)).to be_truthy
+ end
+ end
+ end
+
describe '#initial_value' do
it 'assembles a hash with initial values' do
query = OpenStruct.new(query_string: query_string, provided_variables: provided_variables)