Document all exported metrics
Problem to solve
We have a lot of metrics that are not properly documented or not documented at all, causing confusion if they are being used or not and in what regard.
Further details
A customer shared a list of metrics that includes metrics that are not properly documented or only have a merge request that includes it in the code without the documentation update counterpart:
deployments
destroyed_job_artifacts_bytes_total
gitlab_auth_user_authenticated_total
gitlab_auth_user_blocked_total
gitlab_auth_user_password_invalid_total
gitlab_auth_user_session_destroyed_total
gitlab_auth_user_session_override_total
gitlab_auth_user_sessionless_authentication_total
gitlab_auth_user_unauthenticated_total
gitlab_blob_size
gitlab_blob_truncated_false
gitlab_blob_truncated_true
gitlab_ci_job_failure_reasons
gitlab_ci_pipeline_failure_reasons
gitlab_ci_pipeline_processing_events_total
gitlab_internal_id_transactions_total
gitlab_memwd_max_memory_limit
gitlab_merge_request_match_stale_secondary
gitlab_merge_request_match_total
gitlab_redis_diff_caching_hits_total
gitlab_redis_diff_caching_memory_usage_bytes
gitlab_redis_diff_caching_requests_total
gitlab_repository_hash_cache_hit
gitlab_repository_hash_cache_size
gitlab_sli_global_search_apdex_success_total
gitlab_sli_global_search_apdex_total
gitlab_sli_global_search_error_total
gitlab_sli_global_search_total
gitlab_sli_graphql_query_apdex_success_total
gitlab_sli_graphql_query_apdex_total
gitlab_sli_rails_request_total
gitlab_sql_primary_duration_seconds
gitlab_transaction_event_diffs_overflow_collapsed_files_limits_total
gitlab_transaction_event_diffs_overflow_collapsed_lines_limits_total
gitlab_transaction_event_diffs_overflow_collection_limits_total
gitlab_transaction_event_diffs_overflow_single_file_limits_total
gpg_tmp_keychains_created_total
gpg_tmp_keychains_removed_total
http_health_requests_total
rack_requests_total
ruby_gc_stat_compact_count
ruby_gc_stat_count
ruby_gc_stat_heap_allocatable_pages
ruby_gc_stat_heap_allocated_pages
ruby_gc_stat_heap_available_slots
ruby_gc_stat_heap_eden_pages
ruby_gc_stat_heap_final_slots
ruby_gc_stat_heap_free_slots
ruby_gc_stat_heap_live_slots
ruby_gc_stat_heap_marked_slots
ruby_gc_stat_heap_sorted_length
ruby_gc_stat_heap_tomb_pages
ruby_gc_stat_major_gc_count
ruby_gc_stat_malloc_increase_bytes
ruby_gc_stat_malloc_increase_bytes_limit
ruby_gc_stat_minor_gc_count
ruby_gc_stat_old_objects
ruby_gc_stat_old_objects_limit
ruby_gc_stat_oldmalloc_increase_bytes
ruby_gc_stat_oldmalloc_increase_bytes_limit
ruby_gc_stat_read_barrier_faults
ruby_gc_stat_remembered_wb_unprotected_objects
ruby_gc_stat_remembered_wb_unprotected_objects_limit
ruby_gc_stat_total_allocated_objects
ruby_gc_stat_total_allocated_pages
ruby_gc_stat_total_freed_objects
ruby_gc_stat_total_freed_pages
ruby_gc_stat_total_moved_objects
ruby_sampler_duration_seconds_total
sidekiq_enqueued_jobs_total
If we for example take destroyed_job_artifacts_bytes_total
we can trace it to this function that defines it. If we search for when this was introduced we end up at Use new locked column on ci_job_artifacts in DestroyAllExpiredService.
Proposal
Evaluate the metrics we export and either remove them or have them properly documented
Who can address the issue
The technical writing team