Chat now with support
Chat with Support

Welcome, Quadrotech customers to Quest Support Portal click here for for frequently asked questions regarding servicing your supported assets.

Foglight 5.9.5 - Web Component Guide

Introducing the Web Component Framework The Web Component Framework Configuring Views and Context Queries Functions Bindings Additional Components

Object Type

The Object Type is selected in the Create a Blank Query tab as the first step of defining a new query. You select from a list of the available types for the query’s Data Source Type, such as Host or Agent.

Root Reference

This section of the definition sets the root of the path from which the query searches for objects of the given Data Source Type. The From field can be chosen from data sources or parameters that you have set in Required Parameters. When Monitoring is chosen in the From field, the Path menu lists the entire Monitoring schema. A query search starts at the root of the object hierarchy, denoted by “/”, or at the object declared in the required parameters.


A query returns a list of data objects. Instead of directly returning these data objects, the Aggregations settings creates new data objects that contain only aggregated values. For example, if a query returns a set of alarms, you can replace these data objects with an Alarm data object containing the maximum severity of those alarms.

Aggregation data objects are of the given data-object type, and they contain aggregated values of certain properties within the data objects. The aggregation types are:

Unlike the other aggregation types, a count aggregation returns a Count data object with only two properties:

Value: The count of returned data objects
Type Name: The name of the type of data object being selected by the query and counted

Count is also different from the other aggregation types in how it handles a query that does not return any data objects. The other types will not create an aggregated object in this case. Count does create an aggregated object, with Value set to 0.

You can create more than one aggregation on the same query. If you do this, multiple aggregated data objects are returned in the results of the query: one for each aggregation, in the order specified. Leave the field blank if you do not require an aggregation on a property.

In the Calculate drop-down list select how you want the property field calculated.
In the Property drop-down list, select the type of property used in the aggregation.
Click the button with the tooltip Add Aggregation if you need to define another aggregation.
If you aggregate on Metric properties, such as cpuUsage under Hosts, it creates a data object of the type Host, with a cpuUsage property, and that property has current, period, and history properties. Each of those last three (the MetricValues within the Metric) are aggregated, as follows:
For a max aggregation, it aggregates the max property of the metric values, and stores it back into the max property in the aggregated MetricValue.
For a min aggregation, it aggregates the min property of the metric values, and stores it back into the min property in the aggregated MetricValue.
For an average aggregation, it aggregates the average property of the metric values, and stores it back into the average property in the aggregated MetricValue.
For a weighted average aggregation, it aggregates the weighted average property of the metric values, and stores it back into the average property in the aggregated MetricValue. The count property of a metric is used for the weight. For example, if the collected metric is Response Time, its average should be calculated by weighting the various observed values by how many times each different value occurred. On the other hand, if the system is monitoring two hosts, a simple average of CPU usage is appropriate to guard against the case where the sample rates for collecting data on the two hosts are different. If sample counts were used to weight the average, the host that was sampled more frequently would skew the result.
The only situation in which each history object within the Metric is not aggregated is if the timeRange used for the Query uses RAW granularity, which means that each observation from the agent gets its own history row. In this case, the history lists from the various metrics being aggregated do not match up (in number, or in date/times), so there is no way they could be aggregated.
For a max aggregation, the period/max under the Metric, which gives the maximum value for the whole timeRange.
For a min aggregation, the period/min under the Metric, which gives the minimum value for the whole timeRange.
For an average aggregation, the period/average under the Metric, which gives the average value for the whole timeRange.
For a sum aggregation, the current/sum under the Metric, which gives the sum of the values on the most current observations.

Identifying Values

The expected use case for Identifying Values is as a label for a query that returns an aggregated result.

Within each aggregation (except for ones using the operation count), you can also create Identifying Values for the object returned by the query. This is a way to assign fixed string values to other properties within the data object that is created as the result of choosing an aggregation. For instance, if you created an aggregation of events to get their maximum severity, you might add Identifying Values that returns just the Name property of this object. The identifying value can then be used as a label for the row of a table that presents this information.

Identifying Values settings only appear after you have created an aggregation.

Click the button under Identifying Values.
Select the Property (relative to the Object Type) and the Text Value to be assigned to that property.
Related Documents