JSON representation format
Chronosphere Internal
Don't share this information with customers. Any features or processes described here are meant for Chronosphere internal use only.
Panels are part of the JSON representation of the Chronosphere dashboard that contains
them. In a JSON representation of a dashboard, Chronosphere models a time series
chart panel as a plugin
of "kind": "TimeSeriesChart"
.
This is the minimal representation of a time series chart panel, which results in an empty panel with no name, no defined query, and default settings:
{
"kind": "Panel",
"spec": {
"display": {
"name": ""
},
"plugin": {
"kind": "TimeSeriesChart",
"spec": {}
},
"queries": [],
"links": []
}
}
As an example, this is the panel representation for visualizing jobs in your Chronosphere instance by cardinality, as used by the Cardinality Overview Chronosphere-managed dashboard:
{
"kind": "Panel",
"spec": {
"display": {
"name": "Top $topX jobs by cardinality | Namespace: $namespace"
},
"plugin": {
"kind": "TimeSeriesChart",
"spec": {
"legend": {
"mode": "List",
"position": "Bottom",
"values": []
},
"visual": {},
"y_axis": {
"unit": {
"abbreviate": true,
"kind": "Decimal"
}
}
}
},
"queries": [
{
"kind": "DataQuery",
"spec": {
"plugin": {
"kind": "PrometheusTimeSeriesQuery",
"spec": {
"query": "topk($topX, cardinality_estimate({namespace=~\"$namespace\", job!=\"\"}) by (job))",
"series_name_format": "{{job}}"
}
}
}
}
],
"links": []
}
}
It uses dashboard variables to define how many jobs to render and from which namespace.
To summarize, this JSON representation:
- Defines a panel (
"kind": "Panel"
). - Defines the panel's name (
spec.display.name
), including dashboard variables ($topX
,$namespace
). - Adds a legend (
plugin.spec.legend
) and defines it as aList
oriented to theBottom
of the chart. - Configures the Y axis (
spec.plugin.spec.y_axis
) to use abbreviated ("abbreviate": true
)Decimal
units. - Defines a
PrometheusTimeSeriesQuery
and a series alias (series_name_format
) for the returned time series, using dashboard variables.