Performance datasource returns incomplete data when multiple resources are queried
Description
Steps to Reproduce:
Create a dashboard with two template variables
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
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.”
Steps to Reproduce:
Create a dashboard with two template variables
node
: Performance datasource querynodeFilter(foreignsource like "%someString%")
, wheresomeString
is a string that will return a list of nodes from your OpenNMS environment. Tick the boxes forMulti-Value
andInclude All option
resources
: Performance datasource querynodeResources($node)
Create a visualization
Data Source: Performance DS
Type: Attribute
Node:
$proxy
Resource:
$resources
Attribute:
ifHCInOctets
Label:
nodeToLabel($proxy)
In the selection drop-down for the
node
variable, select two nodes from the listExpected Results:
The OPG returns a series for the
ifHCInOctets
resource attribute for each selected node, which is graphed and labeled in the Grafana visualizationActual 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.”