Document metrics exported by Thanos' components

Issue Summary: Documenting Thanos Metrics

Issue Title: Document metrics exported by Thanos’ components Created By: douglascamata Date: October 5, 2022

Problem Statement

The existing challenges in understanding the metrics exported by Thanos components necessitate an in-depth examination of the source code. This process is time-consuming and poses difficulties for developers unfamiliar with Thanos and Prometheus.

Proposed Solution

Enhancements to the documentation are required, specifically:

  • Each component’s documentation should include:
  • Metric name
  • Metric type
  • Dimensions
  • Detailed descriptions
  • The documentation must align with the actual metric definitions in the source code.

Implementation Suggestions

  • Break down the comprehensive documentation task into specific issues for individual Thanos components.
  • Potentially include descriptions of metric dimensions when applicable.

Contributor Engagement

  • Contributor krishnaindani expressed interest in documenting metrics and sought clarification on a structured approach.
  • Discussions led to a suggestion to review existing metric descriptions as part of the documentation effort.
  • Matej-g encouraged contributors to iteratively document one component at a time.

Additional Context and Contributions

  • There have been preliminary efforts to extract metrics programmatically, showcasing various metrics with their types and descriptions. An example of this format is included in the issue discussion.
  • Contributions from new developers were encouraged, emphasizing mentorship to help them ramp up on Thanos.

Next Steps

  • Open separate issues for each Thanos component to facilitate focused documentation efforts.
  • Engage with contributors to establish a collaborative approach for metric documentation, ensuring alignment between source code definitions and user documentation.

This summarizes the ongoing discussion and action points regarding the enhancement of Thanos metrics documentation, aimed at improving usability and understanding for the developer community.