Class: GitlabQuality::TestTooling::TestMetricsExporter::Config
- Inherits:
-
Object
- Object
- GitlabQuality::TestTooling::TestMetricsExporter::Config
- Includes:
- Singleton
- Defined in:
- lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb
Defined Under Namespace
Classes: ClickHouse, GCS
Instance Attribute Summary collapse
-
#clickhouse_config ⇒ Object
Returns the value of attribute clickhouse_config.
-
#custom_metrics_proc ⇒ Proc
A lambda that return hash with additional custom metrics.
-
#extra_rspec_metadata_keys ⇒ Array<Symbol>
Extra rspec metadata keys to include in exported metrics.
-
#gcs_config ⇒ Object
Returns the value of attribute gcs_config.
-
#initial_run ⇒ Object
readonly
Returns the value of attribute initial_run.
-
#logger ⇒ Logger
Logger instance.
-
#run_type ⇒ Object
Returns the value of attribute run_type.
-
#skip_record_proc ⇒ Proc
A lambda that determines whether to skip recording a test result.
-
#spec_file_path_prefix ⇒ String
Extra path prefix for constructing full file path within mono-repository setups.
-
#test_retried_proc ⇒ Proc
A lambda that determines whether a test was retried or not.
Class Method Summary collapse
Instance Method Summary collapse
-
#extra_metadata_columns ⇒ Array
Additional metadata columns used during initial table creation.
-
#extra_metadata_columns=(columns) ⇒ Array
Additional columns to be created in the table if initial_run setup is used Columns should be defined in the format used for ALTER TABLE query, example; [ “feature_category LowCardinality(String) DEFAULT ””, “level LowCardinality(String) DEFAULT ”” ].
-
#initial_run! ⇒ Boolean
Marks execution as initial run and performs setup tasks before running tests, like creating database in ClickHouse.
Instance Attribute Details
#clickhouse_config ⇒ Object
Returns the value of attribute clickhouse_config.
49 50 51 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 49 def clickhouse_config @clickhouse_config end |
#custom_metrics_proc ⇒ Proc
A lambda that return hash with additional custom metrics
139 140 141 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 139 def custom_metrics_proc @custom_metrics_proc ||= ->(_example) { {} } end |
#extra_rspec_metadata_keys ⇒ Array<Symbol>
Extra rspec metadata keys to include in exported metrics
108 109 110 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 108 def @extra_rspec_metadata_keys ||= [] end |
#gcs_config ⇒ Object
Returns the value of attribute gcs_config.
49 50 51 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 49 def gcs_config @gcs_config end |
#initial_run ⇒ Object (readonly)
Returns the value of attribute initial_run.
49 50 51 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 49 def initial_run @initial_run end |
#logger ⇒ Logger
Logger instance
146 147 148 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 146 def logger @logger ||= Logger.new($stdout, level: Logger::INFO) end |
#run_type ⇒ Object
Returns the value of attribute run_type.
50 51 52 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 50 def run_type @run_type end |
#skip_record_proc ⇒ Proc
A lambda that determines whether to skip recording a test result
This is useful when you would want to skip initial failure when retrying specs is set up in a separate process and you want to avoid duplicate records
125 126 127 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 125 def skip_record_proc @skip_record_proc ||= ->(_example) { false } end |
#spec_file_path_prefix ⇒ String
Extra path prefix for constructing full file path within mono-repository setups
115 116 117 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 115 def spec_file_path_prefix @spec_file_path_prefix ||= "" end |
#test_retried_proc ⇒ Proc
A lambda that determines whether a test was retried or not
132 133 134 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 132 def test_retried_proc @test_retried_proc ||= ->(_example) { false } end |
Class Method Details
.configuration ⇒ Object
40 41 42 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 40 def configuration Config.instance end |
.configure {|configuration| ... } ⇒ Object
44 45 46 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 44 def configure yield(configuration) end |
Instance Method Details
#extra_metadata_columns ⇒ Array
Additional metadata columns used during initial table creation
101 102 103 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 101 def @extra_metadata_columns ||= [] end |
#extra_metadata_columns=(columns) ⇒ Array
Additional columns to be created in the table if initial_run setup is used Columns should be defined in the format used for ALTER TABLE query, example;
[
"feature_category LowCardinality(String) DEFAULT ''",
"level LowCardinality(String) DEFAULT ''"
]
85 86 87 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 85 def (columns) @extra_metadata_columns = columns end |
#initial_run! ⇒ Boolean
Marks execution as initial run and performs setup tasks before running tests, like creating database in ClickHouse
94 95 96 |
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 94 def initial_run! @initial_run = true end |