Uploaded image for project: 'Percona Monitoring and Management'
  1. Percona Monitoring and Management
  2. PMM-9919

Add support for meta-metrics in exporter library

Details

    • New Feature
    • Status: Done
    • Medium
    • Resolution: Done
    • None
    • 2.29.0
    • None
    • None

    Description

      Requirement

      Exporters which connect to Prometheus do not provide any metrics about collectors. Collector level information (such as time taken for scrape, number of metrics generated, number of unique labels generated, etc) is neither generated, nor stored anywhere.

      We need to generate such metrics, like other metrics, per scrape by Prometheus.

      Scope

      We only target following exporters in this ticket:

      • MongoDB exporter
      • MySQL exporter
      • Postgres exporter

      Any other exporter is out of scope for this ticket.

      Acceptance Criteria

      (Scope reduced for 2.29 release) - only mongodb_exporter supported.

      Following metrics should be generated at exporter level:

      • Memory usage
      • File descriptors in use
      • Uptime
      • Total collector execution time
      • Exporter errors
      • Scrape rate
      • Service availability check

      (Exporter level metrics are already in place before this change)

      Following metrics should be generated at collector level :

      • Scrape rate
      • Total execution time

      Suggested Implementation

      We should create our own fork of Golang client library. This will allow us to reuse logic for metric generation across collectors. This would also allow us to upstream our changes.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              shashank.sinha Shashank Sinha (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Smart Checklist