Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish runtime metric in seconds #5893

Merged
merged 7 commits into from
Aug 11, 2022

Commits on Aug 11, 2022

  1. cpu_scheduling: expose all scheduling groups

    This patch adds a public method that returns a list containing constant
    references to all the scheduling groups created by redpanda.
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    14b45a4 View commit details
    Browse the repository at this point in the history
  2. cpu_scheduling: add scheduling_groups probe

    This patch introduces a probe that queries each scheduling group
    for its usage stats and publishes metrics based on that.
    
    The following new metric is introduced:
    Name: redpanda_scheduler_runtime_seconds_total
    Description: Accumulated runtime of task queue associated with this
    scheduling group
    Labels:
      - redpanda_scheduling_group
      - shard
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    1c3bbb4 View commit details
    Browse the repository at this point in the history
  3. redpanda/main: use scheduling groups probe

    This commit wires up a scheduling_groups_probe in order to publish
    metrics based on the scheduling groups stats. Note how the probe is
    cleared before the scheduling groups are destroyed to prevent publishing
    metrics from a destroyed group.
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    1be0e7c View commit details
    Browse the repository at this point in the history
  4. application: add up and busy time public metrics

    This commit splits the registration of internal an public metrics into
    two separate methods. It also adds two new metrics to the
    "public_metrics" endpoint:
    
    redpanda_application_uptime_total_seconds
    Description: Redpanda uptime in seconds
    Labels: none
    
    redpanda_application_busy_total_seconds
    Description: Total CPU busy time in seconds
    Labels: none
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    a092bab View commit details
    Browse the repository at this point in the history
  5. application: remove scheduler_runtime_ms metric

    scheduler_runtime_ms used to be replicated from the seastar metrics.
    Previous patches introduced redpanda_scheduler_runtime_seconds_total as
    a replacement.
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    1c87686 View commit details
    Browse the repository at this point in the history
  6. ssx: add metric_groups wrapper to use as service

    This patch adds a wrapper for seastar::metrics::metric_groups which is
    intended for usage with seastar::sharded. The only interesting thing
    about it is that it clears the metrics on stop.
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    30ce207 View commit details
    Browse the repository at this point in the history
  7. application: public metrics as a sharded service

    This patch wraps the metric_groups object owned by the application into
    a sharded service. This change allows us to register metrics on specific
    shards where required. For instance,
    redpanda_application_uptime_seconds_total is only registered on one
    shard, while redpanda_cpu_busy_seconds_total is registered on all
    shards.
    Vlad Lazar committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    5c94d72 View commit details
    Browse the repository at this point in the history