Commit 5c131dac authored by Zeger-Jan van de Weg's avatar Zeger-Jan van de Weg

Fix bug where ID is not set

On HEAD~ we remove the ID from the class, which created a bug. Given we
don't need the ID anymore, it has been removed and simplified.
parent 16346eb5
...@@ -296,15 +296,14 @@ module Gitlab ...@@ -296,15 +296,14 @@ module Gitlab
def self.add_call_details(details) def self.add_call_details(details)
return unless Gitlab::SafeRequestStore[:peek_enabled] return unless Gitlab::SafeRequestStore[:peek_enabled]
Gitlab::SafeRequestStore['gitaly_call_details'] ||= {} Gitlab::SafeRequestStore['gitaly_call_details'] ||= []
Gitlab::SafeRequestStore['gitaly_call_details'][id] ||= {} Gitlab::SafeRequestStore['gitaly_call_details'] << details
Gitlab::SafeRequestStore['gitaly_call_details'][id].merge!(details)
end end
def self.list_call_details def self.list_call_details
return {} unless Gitlab::SafeRequestStore[:peek_enabled] return [] unless Gitlab::SafeRequestStore[:peek_enabled]
Gitlab::SafeRequestStore['gitaly_call_details'] || {} Gitlab::SafeRequestStore['gitaly_call_details'] || []
end end
def self.expected_server_version def self.expected_server_version
......
...@@ -23,7 +23,6 @@ module Peek ...@@ -23,7 +23,6 @@ module Peek
def details def details
::Gitlab::GitalyClient.list_call_details ::Gitlab::GitalyClient.list_call_details
.values
.sort { |a, b| b[:duration] <=> a[:duration] } .sort { |a, b| b[:duration] <=> a[:duration] }
.map(&method(:format_call_details)) .map(&method(:format_call_details))
end end
......
...@@ -216,4 +216,29 @@ describe Gitlab::GitalyClient do ...@@ -216,4 +216,29 @@ describe Gitlab::GitalyClient do
end end
end end
end end
describe 'Peek Performance bar details' do
let(:gitaly_server) { Gitaly::Server.all.first }
before do
Gitlab::SafeRequestStore[:peek_enabled] = true
end
context 'when the request store is active', :request_store do
it 'records call details if a RPC is called' do
gitaly_server.server_version
expect(described_class.list_call_details).not_to be_empty
expect(described_class.list_call_details.size).to be(1)
end
end
context 'when no request store is active' do
it 'records nothing' do
gitaly_server.server_version
expect(described_class.list_call_details).to be_empty
end
end
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