Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • N noc
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 466
    • Issues 466
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 28
    • Merge requests 28
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • noc
  • noc
  • Issues
  • #1532

IGetMetrics migration to labels

В связи с переходом PM на метки интерфейс IGetMetrics должен быть доработан:

class IGetMetrics(BaseInterface):
    """
    Collect metrics from managed object
    """

    metrics = DictListParameter(
        attrs={
            # Opaque id to be returned in response
            "id": IntParameter(),
            # Metric type
            "metric": StringParameter(),
            # Optional path
            "labels": StringListParameter(required=False),
            # ifindex hint
            "ifindex": IntParameter(required=False),
            # SLA probe hint
            "sla_type": StringParameter(required=False),
        }
    )
    returns = DictListParameter(
        attrs={
            # Opaque id as in input
            "id": IntParameter(),
            # Measurement timestamp
            "ts": IntParameter(),
            # Metric name, as *metric* in *metrics* input
            "metric": StringParameter(),
            # Metric path as *path* in *metrics* input
            "labels": StringListParameter(required=False),
            # Measured value
            "value": FloatParameter(),
            # Measurement type
            "type": StringParameter(choices=["gauge", "counter", "bool", "delta"]),
            # Measurement scale
            "scale": IntParameter(default=1),
        }
    )

Поле path с жестко заданной структурой заменяется на поле labels, содержащее текстовые метки.

Все скрипты get_metrics необходимо доработать для работы с новым интерфейсом.

Assignee
Assign to
Time tracking