Class: Gitlab::Import::Metrics
- Inherits:
-
Object
- Object
- Gitlab::Import::Metrics
show all
- Includes:
- Utils::UsageData
- Defined in:
- lib/gitlab/import/metrics.rb
Constant Summary
collapse
- IMPORT_DURATION_BUCKETS =
[0.5, 1, 3, 5, 10, 60, 120, 240, 360, 720, 1440].freeze
Utils::UsageData::DISTRIBUTED_HLL_FALLBACK, Utils::UsageData::FALLBACK, Utils::UsageData::HISTOGRAM_FALLBACK, Utils::UsageData::MAX_BUCKET_SIZE
Instance Attribute Summary collapse
Instance Method Summary
collapse
#add, #add_metric, #alt_usage_data, #average, #count, #distinct_count, #estimate_batch_distinct_count, #histogram, #maximum_id, #measure_duration, #minimum_id, #redis_usage_data, #sum, #track_usage_event, #with_finished_at, #with_metadata, #with_prometheus_client
Constructor Details
#initialize(importer, project) ⇒ Metrics
Returns a new instance of Metrics.
12
13
14
15
|
# File 'lib/gitlab/import/metrics.rb', line 12
def initialize(importer, project)
@importer = importer
@project = project
end
|
Instance Attribute Details
#duration ⇒ Object
Returns the value of attribute duration.
10
11
12
|
# File 'lib/gitlab/import/metrics.rb', line 10
def duration
@duration
end
|
#importer ⇒ Object
Returns the value of attribute importer.
10
11
12
|
# File 'lib/gitlab/import/metrics.rb', line 10
def importer
@importer
end
|
Instance Method Details
#issues_counter ⇒ Object
45
46
47
48
49
50
|
# File 'lib/gitlab/import/metrics.rb', line 45
def issues_counter
@issues_counter ||= Gitlab::Metrics.counter(
:"#{importer}_imported_issues_total",
'The number of imported issues'
)
end
|
#merge_requests_counter ⇒ Object
52
53
54
55
56
57
|
# File 'lib/gitlab/import/metrics.rb', line 52
def merge_requests_counter
@merge_requests_counter ||= Gitlab::Metrics.counter(
:"#{importer}_imported_merge_requests_total",
'The number of imported merge (pull) requests'
)
end
|
#track_canceled_import ⇒ Object
38
39
40
41
42
43
|
# File 'lib/gitlab/import/metrics.rb', line 38
def track_canceled_import
return unless project.github_import?
track_usage_event(:github_import_project_cancelled, project.id)
track_import_state('github', 'Import::GithubService')
end
|
#track_failed_import ⇒ Object
31
32
33
34
35
36
|
# File 'lib/gitlab/import/metrics.rb', line 31
def track_failed_import
return unless project.github_import?
track_usage_event(:github_import_project_failure, project.id)
track_import_state('github', 'Import::GithubService')
end
|
#track_finished_import ⇒ Object
23
24
25
26
27
28
29
|
# File 'lib/gitlab/import/metrics.rb', line 23
def track_finished_import
@duration = Time.zone.now - project.created_at
observe_histogram
projects_counter.increment
track_finish_metric
end
|
#track_start_import ⇒ Object
17
18
19
20
21
|
# File 'lib/gitlab/import/metrics.rb', line 17
def track_start_import
return unless project.github_import?
track_usage_event(:github_import_project_start, project.id)
end
|