Class: Gitlab::Usage::Metrics::Instrumentations::CountSnippetsMetric
- Inherits:
-
DatabaseMetric
- Object
- BaseMetric
- DatabaseMetric
- Gitlab::Usage::Metrics::Instrumentations::CountSnippetsMetric
- Defined in:
- lib/gitlab/usage/metrics/instrumentations/count_snippets_metric.rb
Constant Summary
Constants inherited from DatabaseMetric
DatabaseMetric::UnimplementedOperationError
Constants included from TimeFrame
TimeFrame::ALL_TIME_TIME_FRAME_NAME, TimeFrame::DEFAULT_TIMESTAMP_COLUMN, TimeFrame::SEVEN_DAYS_TIME_FRAME_NAME, TimeFrame::TWENTY_EIGHT_DAYS_TIME_FRAME_NAME
Constants included from Gitlab::Utils::UsageData
Gitlab::Utils::UsageData::DISTRIBUTED_HLL_FALLBACK, Gitlab::Utils::UsageData::FALLBACK, Gitlab::Utils::UsageData::HISTOGRAM_FALLBACK, Gitlab::Utils::UsageData::MAX_BUCKET_SIZE
Instance Attribute Summary
Attributes inherited from BaseMetric
#events, #options, #time_frame
Instance Method Summary collapse
- #personal_snippet_relation ⇒ Object
- #project_snippet_relation ⇒ Object
- #to_sql ⇒ Object
- #value ⇒ Object
Methods inherited from DatabaseMetric
cache_start_and_finish_as, finish, #instrumentation, metric_options, operation, relation, start, timestamp_column
Methods inherited from BaseMetric
available?, #available?, #initialize, #instrumentation
Methods included from TimeFrame
#monthly_time_range, #monthly_time_range_db_params, #weekly_time_range, #weekly_time_range_db_params
Methods included from Gitlab::Utils::UsageData
#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
This class inherits a constructor from Gitlab::Usage::Metrics::Instrumentations::BaseMetric
Instance Method Details
#personal_snippet_relation ⇒ Object
21 22 23 |
# File 'lib/gitlab/usage/metrics/instrumentations/count_snippets_metric.rb', line 21 def personal_snippet_relation PersonalSnippet.where(time_constraints) end |
#project_snippet_relation ⇒ Object
17 18 19 |
# File 'lib/gitlab/usage/metrics/instrumentations/count_snippets_metric.rb', line 17 def project_snippet_relation ProjectSnippet.where(time_constraints) end |
#to_sql ⇒ Object
25 26 27 28 29 30 |
# File 'lib/gitlab/usage/metrics/instrumentations/count_snippets_metric.rb', line 25 def to_sql project_snippet_relation_sql = Gitlab::Usage::Metrics::Query.for(:count, project_snippet_relation) personal_snippet_relation_sql = Gitlab::Usage::Metrics::Query.for(:count, personal_snippet_relation) "SELECT (#{project_snippet_relation_sql}) + (#{personal_snippet_relation_sql})" end |
#value ⇒ Object
13 14 15 |
# File 'lib/gitlab/usage/metrics/instrumentations/count_snippets_metric.rb', line 13 def value count(project_snippet_relation) + count(personal_snippet_relation) end |