Commit 6647542c authored by Nick Thomas's avatar Nick Thomas

Fix Gitlab::Metrics metaprogramming magic

On initial startup with no rows in the application_settings table, the
metaprogramming call to `if enabled?` attempts to create a row. This triggers
the HTML caching path, which attempts to store metrics.

At this point, not all the methods in `Gitlab::Metrics` have been defined! Move
`current_transaction` to be defined before running the metaprogramming, to
avoid a confusing NoMethodError
parent bc14c4f0
......@@ -138,6 +138,11 @@ module Gitlab
@series_prefix ||= Sidekiq.server? ? 'sidekiq_' : 'rails_'
end
# Allow access from other metrics related middlewares
def self.current_transaction
Transaction.current
end
# When enabled this should be set before being used as the usual pattern
# "@foo ||= bar" is _not_ thread-safe.
if enabled?
......@@ -149,10 +154,5 @@ module Gitlab
new(udp: { host: host, port: port })
end
end
# Allow access from other metrics related middlewares
def self.current_transaction
Transaction.current
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment