Class: Gitlab::Database::Capture::Storage

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/database/capture/storage.rb

Constant Summary collapse

CONNECTORS =
{
  'Gcs' => StorageConnectors::Gcs
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.uploadObject



11
12
13
# File 'lib/gitlab/database/capture/storage.rb', line 11

def self.upload(...)
  new.upload(...)
end

Instance Method Details

#upload(filename, data) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/gitlab/database/capture/storage.rb', line 15

def upload(filename, data)
  log("Upload request for database capture", filename)
  start_monotonic_time = ::Gitlab::Metrics::System.monotonic_time

  result = connector.upload(filename, data)

  duration_s = ::Gitlab::Metrics::System.monotonic_time - start_monotonic_time
  log("Database capture upload completed", filename, duration_s)

  result
rescue StandardError => error
  log("Database capture upload failed: #{error}", filename)

  raise
end