Performance datasource returns incomplete data when multiple resources are queried

Description

Steps to Reproduce:

  1. Create a dashboard with two template variables

    1. node: Performance datasource query nodeFilter(foreignsource like "%someString%"), where someString is a string that will return a list of nodes from your OpenNMS environment. Tick the boxes for Multi-Value and Include All option

    2. resources: Performance datasource query nodeResources($node)

  2. Create a visualization

    1. Data Source: Performance DS

    2. Type: Attribute

    3. Node: $proxy

    4. Resource: $resources

    5. Attribute: ifHCInOctets

    6. Label: nodeToLabel($proxy)

  3. In the selection drop-down for the node variable, select two nodes from the list

Expected Results:

The OPG returns a series for the ifHCInOctets resource attribute for each selected node, which is graphed and labeled in the Grafana visualization

Actual Results:

A race between the two nodes, with only one of them being graphed. When inspecting the query, metric series for both resources are returned except for the constants array which only contains values for the node that won the race.
Explicitly selecting both resources from the resources template variable drop-down returns an error “Query source label 'nodeToLabel(value of $proxy variable)' conflict: source with that label is already defined.”

Activity

Show:

Details

Assignee

Reporter

Affects versions

Components

Priority

PagerDuty

Created May 24, 2024 at 3:34 PM
Updated February 11, 2025 at 3:15 PM