Telemetry - script API
StackState Self-hosted v5.1.x
Last updated
StackState Self-hosted v5.1.x
Last updated
Telemetry.query(dataSourceName: String, query: String)
A telemetry query is a conjunction of equality conditions. For example, name = 'system.load.norm.15' and host='localhost'
. There are several builder methods available that help to refine the query time range, limit the number of points returned, or set a metric field.
Telemetry queries only support metric queries. If you need event queries, please enter a feature request at
dataSourceName
- name of the data source.
query
- set of equality conditions.
StreamingScriptResult[MetricTimeSeriesResult]
.groupBy(fieldName: String)
- optional. Used to return grouped results from Elasticsearch. Requires .aggregation()
to be used. If there is no aggregation, a plain metric stream will be returned.
aggregation(method: String, bucketSize: String)
- returns aggregated telemetry using method
and bucketSize
. See the .
start(time: Instant)
- sets the of the query, for example -3h
.
end(time: Instant)
- sets the of the query, for example -1h
.
window(start: Instant, end: Instant)
- sets query . Use only start
to get all telemetry up to now or only end
to get all telemetry up to an instant in time.
limit(points: Int)
- limits the number of points returned, applicable to non-aggregated queries.
metricField(fieldName: String)
- optional, but may be required for some data sources. Sets a field that holds metric value.
compileQuery()
- returns the telemetry query that was created with this function and the builder methods. After this builder method no more builder methods can be called.
host
: