Skip to content

Support multiple metric values per aggregation pipeline #24

@johnnyshields

Description

@johnnyshields

I'd like to be able to extract multiple metrics per aggregation pipeline. This would be more efficient because we could run one pipeline for N metrics (rather than N pipelines for N metrics).

Here's an example config structure that could be used:

  metrics:
  - exported_metrics:
     -  name: jobs_count_per_queue
        type: gauge
        help: "Count of jobs per queue."
        value: count
        labels: ["queue_name"]
        constLabels: []
     -  name: jobs_max_age_per_queue
        type: gauge
        help: "Maximum age of jobs per queue."
        value: max_seconds_in_queue
        labels: ["queue_name"]
        constLabels: []
     -  name: jobs_avg_age_per_queue
        type: gauge
        help: "Average age of jobs per queue."
        value: avg_seconds_in_queue
        labels: ["queue_name"]
        constLabels: []
    mode: pull
    cache: 0
    database: mongo_production
    collection: jobs
    pipeline: |
      [
        ....
        }, {
          "$project": {
            "_id": 0,
            "queue_name": "$_id",
            "count": "$count",
            "max_seconds_in_queue": "$max_seconds_in_queue",
            "avg_seconds_in_queue": "$ave_seconds_in_queue"
          }
        }
      ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions