From d0f9b788ae7e95161c15f394102f729e3fa26293 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Tue, 14 Nov 2023 22:02:57 +0800 Subject: [PATCH 001/151] Add node-observ-lib (#25) * Add node-observ-lib * Remove trends support (not in 10.0 schema) * Make filteringSelector for logs dashboard configurable * Temp change dependency (until PR is merged for commonlib) * Refactor config * Update jsonnetfile.json * Update README * Add separate loki example * Add sep file example Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/README.md | 163 + docs/node-observ-lib/alerts.libsonnet | 420 +++ docs/node-observ-lib/annotations.libsonnet | 69 + docs/node-observ-lib/config.libsonnet | 104 + docs/node-observ-lib/dashboards.libsonnet | 225 ++ docs/node-observ-lib/g.libsonnet | 1 + docs/node-observ-lib/jsonnetfile.json | 33 + docs/node-observ-lib/jsonnetfile.lock.json | 56 + docs/node-observ-lib/links.libsonnet | 19 + docs/node-observ-lib/main.libsonnet | 39 + docs/node-observ-lib/mixin.libsonnet | 20 + docs/node-observ-lib/panels.libsonnet | 1131 +++++++ docs/node-observ-lib/rules.libsonnet | 119 + docs/node-observ-lib/targets.libsonnet | 1097 +++++++ docs/node-observ-lib/variables.libsonnet | 71 + docs/node-observ-lib/vendor/common-lib | 1 + docs/node-observ-lib/vendor/doc-util | 1 + .../gen/grafonnet-v10.0.0/alerting.libsonnet | 9 + .../clean/alerting/contactPoint.libsonnet | 19 + .../clean/alerting/messageTemplate.libsonnet | 8 + .../clean/alerting/muteTiming.libsonnet | 69 + .../alerting/notificationPolicy.libsonnet | 57 + .../clean/alerting/ruleGroup.libsonnet | 75 + .../clean/dashboard.libsonnet | 268 ++ .../grafonnet-v10.0.0/clean/panel.libsonnet | 354 +++ .../clean/panel/alertGroups.libsonnet | 20 + .../clean/panel/alertList.libsonnet | 125 + .../clean/panel/annotationsList.libsonnet | 40 + .../clean/panel/barChart.libsonnet | 157 + .../clean/panel/barGauge.libsonnet | 58 + .../clean/panel/candlestick.libsonnet | 11 + .../clean/panel/canvas.libsonnet | 11 + .../clean/panel/dashboardList.libsonnet | 40 + .../clean/panel/datagrid.libsonnet | 16 + .../clean/panel/debug.libsonnet | 29 + .../clean/panel/gauge.libsonnet | 52 + .../clean/panel/geomap.libsonnet | 156 + .../clean/panel/heatmap.libsonnet | 266 ++ .../clean/panel/histogram.libsonnet | 119 + .../clean/panel/logs.libsonnet | 30 + .../clean/panel/news.libsonnet | 18 + .../clean/panel/nodeGraph.libsonnet | 52 + .../clean/panel/pieChart.libsonnet | 130 + .../clean/panel/stat.libsonnet | 56 + .../clean/panel/stateTimeline.libsonnet | 98 + .../clean/panel/statusHistory.libsonnet | 96 + .../clean/panel/table.libsonnet | 288 ++ .../clean/panel/text.libsonnet | 31 + .../clean/panel/timeSeries.libsonnet | 188 ++ .../clean/panel/trend.libsonnet | 182 ++ .../clean/panel/xyChart.libsonnet | 212 ++ .../clean/query/loki.libsonnet | 27 + .../clean/query/prometheus.libsonnet | 29 + .../clean/query/tempo.libsonnet | 55 + .../custom/alerting/contactPoint.libsonnet | 12 + .../custom/alerting/muteTiming.libsonnet | 8 + .../alerting/notificationPolicy.libsonnet | 12 + .../custom/alerting/ruleGroup.libsonnet | 13 + .../custom/dashboard.libsonnet | 44 + .../custom/dashboard/annotation.libsonnet | 36 + .../custom/dashboard/link.libsonnet | 90 + .../custom/dashboard/variable.libsonnet | 516 ++++ .../grafonnet-v10.0.0/custom/panel.libsonnet | 171 ++ .../custom/query/loki.libsonnet | 27 + .../custom/query/prometheus.libsonnet | 47 + .../custom/query/tempo.libsonnet | 29 + .../grafonnet-v10.0.0/custom/row.libsonnet | 11 + .../custom/util/dashboard.libsonnet | 55 + .../custom/util/grid.libsonnet | 231 ++ .../custom/util/main.libsonnet | 9 + .../custom/util/panel.libsonnet | 51 + .../custom/util/string.libsonnet | 27 + .../gen/grafonnet-v10.0.0/docs/README.md | 29 + .../docs/alerting/contactPoint.md | 100 + .../grafonnet-v10.0.0/docs/alerting/index.md | 11 + .../docs/alerting/messageTemplate.md | 32 + .../docs/alerting/muteTiming/index.md | 48 + .../alerting/muteTiming/interval/index.md | 144 + .../alerting/muteTiming/interval/times.md | 32 + .../docs/alerting/notificationPolicy/index.md | 173 ++ .../alerting/notificationPolicy/matcher.md | 45 + .../docs/alerting/ruleGroup/index.md | 72 + .../docs/alerting/ruleGroup/rule/data.md | 128 + .../docs/alerting/ruleGroup/rule/index.md | 161 + .../docs/dashboard/annotation.md | 285 ++ .../grafonnet-v10.0.0/docs/dashboard/index.md | 517 ++++ .../grafonnet-v10.0.0/docs/dashboard/link.md | 195 ++ .../docs/dashboard/variable.md | 1042 +++++++ .../grafonnet-v10.0.0/docs/librarypanel.md | 334 +++ .../docs/panel/alertGroups/index.md | 605 ++++ .../panel/alertGroups/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../alertGroups/standardOptions/mapping.md | 469 +++ .../alertGroups/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/alertList/index.md | 1136 +++++++ .../docs/panel/alertList/panelOptions/link.md | 145 + .../alertList/queryOptions/transformation.md | 99 + .../alertList/standardOptions/mapping.md | 469 +++ .../alertList/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/annotationsList/index.md | 709 +++++ .../annotationsList/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../standardOptions/mapping.md | 469 +++ .../standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/barChart/index.md | 1305 ++++++++ .../docs/panel/barChart/panelOptions/link.md | 145 + .../barChart/queryOptions/transformation.md | 99 + .../panel/barChart/standardOptions/mapping.md | 469 +++ .../barChart/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/barGauge/index.md | 788 +++++ .../docs/panel/barGauge/panelOptions/link.md | 145 + .../barGauge/queryOptions/transformation.md | 99 + .../panel/barGauge/standardOptions/mapping.md | 469 +++ .../barGauge/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/candlestick/index.md | 564 ++++ .../panel/candlestick/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../candlestick/standardOptions/mapping.md | 469 +++ .../candlestick/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/canvas/index.md | 564 ++++ .../docs/panel/canvas/panelOptions/link.md | 145 + .../canvas/queryOptions/transformation.md | 99 + .../panel/canvas/standardOptions/mapping.md | 469 +++ .../panel/canvas/standardOptions/override.md | 244 ++ .../canvas/standardOptions/threshold/step.md | 60 + .../docs/panel/dashboardList/index.md | 708 +++++ .../panel/dashboardList/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../dashboardList/standardOptions/mapping.md | 469 +++ .../dashboardList/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/datagrid/index.md | 581 ++++ .../docs/panel/datagrid/panelOptions/link.md | 145 + .../datagrid/queryOptions/transformation.md | 99 + .../panel/datagrid/standardOptions/mapping.md | 469 +++ .../datagrid/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/debug/index.md | 648 ++++ .../docs/panel/debug/panelOptions/link.md | 145 + .../debug/queryOptions/transformation.md | 99 + .../panel/debug/standardOptions/mapping.md | 469 +++ .../panel/debug/standardOptions/override.md | 244 ++ .../debug/standardOptions/threshold/step.md | 60 + .../docs/panel/gauge/index.md | 748 +++++ .../docs/panel/gauge/panelOptions/link.md | 145 + .../gauge/queryOptions/transformation.md | 99 + .../panel/gauge/standardOptions/mapping.md | 469 +++ .../panel/gauge/standardOptions/override.md | 244 ++ .../gauge/standardOptions/threshold/step.md | 60 + .../docs/panel/geomap/index.md | 1123 +++++++ .../docs/panel/geomap/options/layers.md | 196 ++ .../docs/panel/geomap/panelOptions/link.md | 145 + .../geomap/queryOptions/transformation.md | 99 + .../panel/geomap/standardOptions/mapping.md | 469 +++ .../panel/geomap/standardOptions/override.md | 244 ++ .../geomap/standardOptions/threshold/step.md | 60 + .../docs/panel/heatmap/index.md | 1804 ++++++++++++ .../docs/panel/heatmap/panelOptions/link.md | 145 + .../heatmap/queryOptions/transformation.md | 99 + .../panel/heatmap/standardOptions/mapping.md | 469 +++ .../panel/heatmap/standardOptions/override.md | 244 ++ .../heatmap/standardOptions/threshold/step.md | 60 + .../docs/panel/histogram/index.md | 1098 +++++++ .../docs/panel/histogram/panelOptions/link.md | 145 + .../histogram/queryOptions/transformation.md | 99 + .../histogram/standardOptions/mapping.md | 469 +++ .../histogram/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../gen/grafonnet-v10.0.0/docs/panel/index.md | 33 + .../docs/panel/logs/index.md | 672 +++++ .../docs/panel/logs/panelOptions/link.md | 145 + .../panel/logs/queryOptions/transformation.md | 99 + .../panel/logs/standardOptions/mapping.md | 469 +++ .../panel/logs/standardOptions/override.md | 244 ++ .../logs/standardOptions/threshold/step.md | 60 + .../docs/panel/news/index.md | 593 ++++ .../docs/panel/news/panelOptions/link.md | 145 + .../panel/news/queryOptions/transformation.md | 99 + .../panel/news/standardOptions/mapping.md | 469 +++ .../panel/news/standardOptions/override.md | 244 ++ .../news/standardOptions/threshold/step.md | 60 + .../docs/panel/nodeGraph/index.md | 697 +++++ .../panel/nodeGraph/options/nodes/arcs.md | 33 + .../docs/panel/nodeGraph/panelOptions/link.md | 145 + .../nodeGraph/queryOptions/transformation.md | 99 + .../nodeGraph/standardOptions/mapping.md | 469 +++ .../nodeGraph/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/pieChart/index.md | 1071 +++++++ .../docs/panel/pieChart/panelOptions/link.md | 145 + .../pieChart/queryOptions/transformation.md | 99 + .../panel/pieChart/standardOptions/mapping.md | 469 +++ .../pieChart/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../gen/grafonnet-v10.0.0/docs/panel/row.md | 248 ++ .../docs/panel/stat/index.md | 774 +++++ .../docs/panel/stat/panelOptions/link.md | 145 + .../panel/stat/queryOptions/transformation.md | 99 + .../panel/stat/standardOptions/mapping.md | 469 +++ .../panel/stat/standardOptions/override.md | 244 ++ .../stat/standardOptions/threshold/step.md | 60 + .../docs/panel/stateTimeline/index.md | 956 ++++++ .../panel/stateTimeline/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../stateTimeline/standardOptions/mapping.md | 469 +++ .../stateTimeline/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/statusHistory/index.md | 944 ++++++ .../panel/statusHistory/panelOptions/link.md | 145 + .../queryOptions/transformation.md | 99 + .../statusHistory/standardOptions/mapping.md | 469 +++ .../statusHistory/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/table/index.md | 1830 ++++++++++++ .../docs/panel/table/options/sortBy.md | 34 + .../docs/panel/table/panelOptions/link.md | 145 + .../table/queryOptions/transformation.md | 99 + .../panel/table/standardOptions/mapping.md | 469 +++ .../panel/table/standardOptions/override.md | 244 ++ .../table/standardOptions/threshold/step.md | 60 + .../docs/panel/text/index.md | 662 +++++ .../docs/panel/text/panelOptions/link.md | 145 + .../panel/text/queryOptions/transformation.md | 99 + .../panel/text/standardOptions/mapping.md | 469 +++ .../panel/text/standardOptions/override.md | 244 ++ .../text/standardOptions/threshold/step.md | 60 + .../docs/panel/timeSeries/index.md | 1430 +++++++++ .../panel/timeSeries/panelOptions/link.md | 145 + .../timeSeries/queryOptions/transformation.md | 99 + .../timeSeries/standardOptions/mapping.md | 469 +++ .../timeSeries/standardOptions/override.md | 244 ++ .../standardOptions/threshold/step.md | 60 + .../docs/panel/trend/index.md | 1418 +++++++++ .../docs/panel/trend/panelOptions/link.md | 145 + .../trend/queryOptions/transformation.md | 99 + .../panel/trend/standardOptions/mapping.md | 469 +++ .../panel/trend/standardOptions/override.md | 244 ++ .../trend/standardOptions/threshold/step.md | 60 + .../docs/panel/xyChart/index.md | 891 ++++++ .../docs/panel/xyChart/options/series.md | 638 ++++ .../docs/panel/xyChart/panelOptions/link.md | 145 + .../xyChart/queryOptions/transformation.md | 99 + .../panel/xyChart/standardOptions/mapping.md | 469 +++ .../panel/xyChart/standardOptions/override.md | 244 ++ .../xyChart/standardOptions/threshold/step.md | 60 + .../grafonnet-v10.0.0/docs/playlist/index.md | 78 + .../grafonnet-v10.0.0/docs/playlist/items.md | 53 + .../gen/grafonnet-v10.0.0/docs/preferences.md | 110 + .../grafonnet-v10.0.0/docs/publicdashboard.md | 84 + .../azureMonitor/dimensionFilters.md | 69 + .../azureMonitor/azureMonitor/resources.md | 68 + .../query/azureMonitor/azureTraces/filters.md | 57 + .../docs/query/azureMonitor/index.md | 1502 ++++++++++ .../CloudWatchLogsQuery/logGroups.md | 57 + .../parameters.md | 32 + .../sql/orderBy/parameters.md | 32 + .../sql/select/parameters.md | 32 + .../docs/query/cloudWatch/index.md | 1272 ++++++++ .../bucketAggs/Filters/settings/filters.md | 32 + .../query/elasticsearch/bucketAggs/index.md | 585 ++++ .../docs/query/elasticsearch/index.md | 155 + .../BucketScript/pipelineVariables.md | 32 + .../BucketScript/pipelineVariables.md | 32 + .../docs/query/elasticsearch/metrics/index.md | 2616 +++++++++++++++++ .../docs/query/grafanaPyroscope.md | 127 + .../gen/grafonnet-v10.0.0/docs/query/index.md | 15 + .../gen/grafonnet-v10.0.0/docs/query/loki.md | 163 + .../gen/grafonnet-v10.0.0/docs/query/parca.md | 91 + .../docs/query/prometheus.md | 177 ++ .../docs/query/tempo/filters.md | 94 + .../docs/query/tempo/index.md | 201 ++ .../docs/query/testData/csvWave.md | 56 + .../docs/query/testData/index.md | 760 +++++ .../grafonnet-v10.0.0/docs/serviceaccount.md | 157 + .../gen/grafonnet-v10.0.0/docs/team.md | 105 + .../gen/grafonnet-v10.0.0/docs/util.md | 115 + .../gen/grafonnet-v10.0.0/jsonnetfile.json | 24 + .../gen/grafonnet-v10.0.0/main.libsonnet | 24 + .../gen/grafonnet-v10.0.0/panel.libsonnet | 31 + .../gen/grafonnet-v10.0.0/query.libsonnet | 13 + .../raw/alerting/contactPoint.libsonnet | 18 + .../raw/alerting/messageTemplate.libsonnet | 10 + .../raw/alerting/muteTiming.libsonnet | 68 + .../raw/alerting/notificationPolicy.libsonnet | 84 + .../raw/alerting/ruleGroup.libsonnet | 89 + .../grafonnet-v10.0.0/raw/dashboard.libsonnet | 299 ++ .../raw/librarypanel.libsonnet | 65 + .../gen/grafonnet-v10.0.0/raw/panel.libsonnet | 413 +++ .../raw/panel/alertGroups.libsonnet | 19 + .../raw/panel/alertList.libsonnet | 124 + .../raw/panel/annotationsList.libsonnet | 39 + .../raw/panel/barChart.libsonnet | 168 ++ .../raw/panel/barGauge.libsonnet | 57 + .../raw/panel/candlestick.libsonnet | 6 + .../raw/panel/canvas.libsonnet | 6 + .../raw/panel/dashboardList.libsonnet | 39 + .../raw/panel/datagrid.libsonnet | 15 + .../raw/panel/debug.libsonnet | 43 + .../raw/panel/gauge.libsonnet | 51 + .../raw/panel/geomap.libsonnet | 216 ++ .../raw/panel/heatmap.libsonnet | 414 +++ .../raw/panel/histogram.libsonnet | 130 + .../raw/panel/logs.libsonnet | 29 + .../raw/panel/news.libsonnet | 17 + .../raw/panel/nodeGraph.libsonnet | 100 + .../raw/panel/pieChart.libsonnet | 186 ++ .../grafonnet-v10.0.0/raw/panel/row.libsonnet | 51 + .../raw/panel/stat.libsonnet | 55 + .../raw/panel/stateTimeline.libsonnet | 109 + .../raw/panel/statusHistory.libsonnet | 107 + .../raw/panel/table.libsonnet | 299 ++ .../raw/panel/text.libsonnet | 47 + .../raw/panel/timeSeries.libsonnet | 199 ++ .../raw/panel/trend.libsonnet | 193 ++ .../raw/panel/xyChart.libsonnet | 488 +++ .../grafonnet-v10.0.0/raw/playlist.libsonnet | 28 + .../raw/preferences.libsonnet | 23 + .../raw/publicdashboard.libsonnet | 16 + .../raw/query/azureMonitor.libsonnet | 363 +++ .../raw/query/cloudWatch.libsonnet | 310 ++ .../raw/query/elasticsearch.libsonnet | 763 +++++ .../raw/query/grafanaPyroscope.libsonnet | 26 + .../raw/query/loki.libsonnet | 26 + .../raw/query/parca.libsonnet | 16 + .../raw/query/prometheus.libsonnet | 28 + .../raw/query/tempo.libsonnet | 54 + .../raw/query/testData.libsonnet | 168 ++ .../raw/serviceaccount.libsonnet | 32 + .../gen/grafonnet-v10.0.0/raw/team.libsonnet | 20 + .../jsonnet-libs/common-lib/CONTRIB.md | 20 + .../grafana/jsonnet-libs/common-lib/Makefile | 23 + .../grafana/jsonnet-libs/common-lib/README.md | 33 + .../common/annotations/base.libsonnet | 32 + .../common/annotations/fatal.libsonnet | 14 + .../common/annotations/main.libsonnet | 6 + .../common/annotations/reboot.libsonnet | 16 + .../annotations/service_failed.libsonnet | 13 + .../common-lib/common/g.libsonnet | 1 + .../common-lib/common/main.libsonnet | 5 + .../common-lib/common/panels.libsonnet | 33 + .../common/panels/cpu/stat/base.libsonnet | 7 + .../common/panels/cpu/stat/count.libsonnet | 21 + .../common/panels/cpu/stat/main.libsonnet | 5 + .../common/panels/cpu/stat/usage.libsonnet | 22 + .../panels/cpu/timeSeries/base.libsonnet | 6 + .../panels/cpu/timeSeries/main.libsonnet | 5 + .../cpu/timeSeries/utilization.libsonnet | 22 + .../timeSeries/utilization_by_core.libsonnet | 20 + .../timeSeries/utilization_by_mode.libsonnet | 45 + .../common/panels/disk/stat/base.libsonnet | 6 + .../common/panels/disk/stat/main.libsonnet | 4 + .../common/panels/disk/stat/total.libsonnet | 20 + .../common/panels/disk/table/base.libsonnet | 10 + .../common/panels/disk/table/main.libsonnet | 4 + .../common/panels/disk/table/usage.libsonnet | 256 ++ .../disk/timeSeries/available.libsonnet | 23 + .../panels/disk/timeSeries/base.libsonnet | 27 + .../disk/timeSeries/io_bytes_persec.libsonnet | 31 + .../panels/disk/timeSeries/io_queue.libsonnet | 23 + .../disk/timeSeries/io_wait_time.libsonnet | 25 + .../panels/disk/timeSeries/iops.libsonnet | 23 + .../panels/disk/timeSeries/main.libsonnet | 10 + .../panels/disk/timeSeries/usage.libsonnet | 23 + .../disk/timeSeries/usage_percent.libsonnet | 25 + .../common/panels/generic/base.libsonnet | 27 + .../common/panels/generic/stat/base.libsonnet | 12 + .../common/panels/generic/stat/info.libsonnet | 21 + .../common/panels/generic/stat/main.libsonnet | 5 + .../panels/generic/stat/percentage.libsonnet | 24 + .../generic/statusHistory/base.libsonnet | 18 + .../generic/statusHistory/main.libsonnet | 3 + .../panels/generic/table/base.libsonnet | 33 + .../panels/generic/table/main.libsonnet | 3 + .../panels/generic/timeSeries/base.libsonnet | 33 + .../panels/generic/timeSeries/main.libsonnet | 6 + .../generic/timeSeries/percentage.libsonnet | 16 + .../generic/timeSeries/threshold.libsonnet | 25 + .../timeSeries/topk_percentage.libsonnet | 63 + .../common/panels/memory/stat/base.libsonnet | 7 + .../common/panels/memory/stat/main.libsonnet | 5 + .../common/panels/memory/stat/total.libsonnet | 27 + .../common/panels/memory/stat/usage.libsonnet | 24 + .../panels/memory/timeSeries/base.libsonnet | 10 + .../panels/memory/timeSeries/main.libsonnet | 5 + .../memory/timeSeries/usage_bytes.libsonnet | 26 + .../memory/timeSeries/usage_percent.libsonnet | 22 + .../network/statusHistory/base.libsonnet | 5 + .../statusHistory/interface_status.libsonnet | 29 + .../network/statusHistory/main.libsonnet | 3 + .../panels/network/timeSeries/base.libsonnet | 26 + .../network/timeSeries/dropped.libsonnet | 28 + .../network/timeSeries/errors.libsonnet | 26 + .../panels/network/timeSeries/main.libsonnet | 8 + .../network/timeSeries/multicast.libsonnet | 15 + .../network/timeSeries/packets.libsonnet | 15 + .../network/timeSeries/traffic.libsonnet | 21 + .../common/panels/system/stat/base.libsonnet | 7 + .../common/panels/system/stat/main.libsonnet | 3 + .../panels/system/stat/uptime.libsonnet | 33 + .../system/statusHistory/base.libsonnet | 5 + .../system/statusHistory/main.libsonnet | 3 + .../panels/system/statusHistory/ntp.libsonnet | 28 + .../common/panels/system/table/base.libsonnet | 9 + .../common/panels/system/table/main.libsonnet | 4 + .../panels/system/table/uptime.libsonnet | 20 + .../panels/system/timeSeries/base.libsonnet | 10 + .../system/timeSeries/load_average.libsonnet | 41 + .../panels/system/timeSeries/main.libsonnet | 4 + .../common-lib/common/utils.libsonnet | 41 + .../jsonnet-libs/common-lib/jsonnetfile.json | 15 + .../grafana/jsonnet-libs/logs-lib/Makefile | 31 + .../grafana/jsonnet-libs/logs-lib/README.md | 126 + .../jsonnet-libs/logs-lib/jsonnetfile.json | 15 + .../logs-lib/logs/dashboards.libsonnet | 30 + .../jsonnet-libs/logs-lib/logs/g.libsonnet | 1 + .../jsonnet-libs/logs-lib/logs/main.libsonnet | 51 + .../logs-lib/logs/panels.libsonnet | 86 + .../logs-lib/logs/targets.libsonnet | 41 + .../logs-lib/logs/variables.libsonnet | 59 + .../jsonnet-libs/logs-lib/utils.libsonnet | 41 + .../jsonnet-libs/docsonnet/doc-util/README.md | 326 ++ .../docsonnet/doc-util/main.libsonnet | 263 ++ .../docsonnet/doc-util/render.libsonnet | 476 +++ .../xtd/.github/workflows/tests.yml | 32 + .../github.com/jsonnet-libs/xtd/.gitignore | 3 + .../github.com/jsonnet-libs/xtd/LICENSE | 201 ++ .../github.com/jsonnet-libs/xtd/Makefile | 16 + .../github.com/jsonnet-libs/xtd/README.md | 19 + .../jsonnet-libs/xtd/aggregate.libsonnet | 104 + .../jsonnet-libs/xtd/array.libsonnet | 37 + .../jsonnet-libs/xtd/ascii.libsonnet | 39 + .../jsonnet-libs/xtd/camelcase.libsonnet | 100 + .../jsonnet-libs/xtd/date.libsonnet | 185 ++ .../jsonnet-libs/xtd/docs/.gitignore | 2 + .../github.com/jsonnet-libs/xtd/docs/Gemfile | 2 + .../jsonnet-libs/xtd/docs/README.md | 25 + .../jsonnet-libs/xtd/docs/_config.yml | 2 + .../jsonnet-libs/xtd/docs/aggregate.md | 74 + .../github.com/jsonnet-libs/xtd/docs/array.md | 25 + .../github.com/jsonnet-libs/xtd/docs/ascii.md | 43 + .../jsonnet-libs/xtd/docs/camelcase.md | 41 + .../github.com/jsonnet-libs/xtd/docs/date.md | 66 + .../jsonnet-libs/xtd/docs/inspect.md | 93 + .../jsonnet-libs/xtd/docs/jsonpath.md | 53 + .../jsonnet-libs/xtd/docs/string.md | 26 + .../github.com/jsonnet-libs/xtd/docs/url.md | 56 + .../jsonnet-libs/xtd/inspect.libsonnet | 209 ++ .../jsonnet-libs/xtd/jsonpath.libsonnet | 142 + .../jsonnet-libs/xtd/main.libsonnet | 24 + .../jsonnet-libs/xtd/string.libsonnet | 35 + .../jsonnet-libs/xtd/test/array_test.jsonnet | 83 + .../xtd/test/camelcase_test.jsonnet | 193 ++ .../jsonnet-libs/xtd/test/date_test.jsonnet | 219 ++ .../xtd/test/inspect_test.jsonnet | 152 + .../jsonnet-libs/xtd/test/jsonnetfile.json | 15 + .../xtd/test/jsonpath_test.jsonnet | 305 ++ .../jsonnet-libs/xtd/test/url_test.jsonnet | 209 ++ .../github.com/jsonnet-libs/xtd/url.libsonnet | 111 + docs/node-observ-lib/vendor/grafonnet-v10.0.0 | 1 + docs/node-observ-lib/vendor/logs-lib | 1 + docs/node-observ-lib/vendor/xtd | 1 + 467 files changed, 85040 insertions(+) create mode 100644 docs/node-observ-lib/README.md create mode 100644 docs/node-observ-lib/alerts.libsonnet create mode 100644 docs/node-observ-lib/annotations.libsonnet create mode 100644 docs/node-observ-lib/config.libsonnet create mode 100644 docs/node-observ-lib/dashboards.libsonnet create mode 100644 docs/node-observ-lib/g.libsonnet create mode 100644 docs/node-observ-lib/jsonnetfile.json create mode 100644 docs/node-observ-lib/jsonnetfile.lock.json create mode 100644 docs/node-observ-lib/links.libsonnet create mode 100644 docs/node-observ-lib/main.libsonnet create mode 100644 docs/node-observ-lib/mixin.libsonnet create mode 100644 docs/node-observ-lib/panels.libsonnet create mode 100644 docs/node-observ-lib/rules.libsonnet create mode 100644 docs/node-observ-lib/targets.libsonnet create mode 100644 docs/node-observ-lib/variables.libsonnet create mode 120000 docs/node-observ-lib/vendor/common-lib create mode 120000 docs/node-observ-lib/vendor/doc-util create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet create mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet create mode 120000 docs/node-observ-lib/vendor/grafonnet-v10.0.0 create mode 120000 docs/node-observ-lib/vendor/logs-lib create mode 120000 docs/node-observ-lib/vendor/xtd diff --git a/docs/node-observ-lib/README.md b/docs/node-observ-lib/README.md new file mode 100644 index 0000000000..c190efc39d --- /dev/null +++ b/docs/node-observ-lib/README.md @@ -0,0 +1,163 @@ +# Node exporter observability lib + +This jsonnet observability lib can be used to generate observability package for node exporter. + +## Import + +```sh +jb init +jb install https://github.com/grafana/node_exporter/docs/node-observ-lib +``` + +## Examples + +### Example 1: Basic example + +You can use observ-lib to fill in monitoring-mixin structure: + +```jsonnet +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + filteringSelector: 'job=~".*node.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + dashboardTags: ['node-exporter-mixin'], + uid: 'node', + // enable loki logs + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 2: Fill in monitoring-mixin with default config values and enable loki logs: + + +```jsonnet +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 3: Override some of default config values from file: + + +```jsonnet +// overrides.libsonnet +{ + // Memory utilzation (%) level on which to trigger the + // 'NodeMemoryHighUtilization' alert. + memoryHighUtilizationThreshold: 80, + + // Threshold for the rate of memory major page faults to trigger + // 'NodeMemoryMajorPagesFaults' alert. + memoryMajorPagesFaultsThreshold: 1000, + + // Disk IO queue level above which to trigger + // 'NodeDiskIOSaturation' alert. + diskIOSaturationThreshold: 20, +} + +// mixin.libsonnet file +local configOverride = import './overrides.libsonnet'; +local nodelib = import 'node-observ-lib/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin(configOverride); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 4: Modify specific panel before rendering dashboards + +```jsonnet +local g = import './g.libsonnet'; +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + filteringSelector: 'job=~".*node.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + dashboardTags: ['node-exporter-mixin'], + uid: 'node', + }) + + { + grafana+: { + panels+: { + networkSockstatAll+: + + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('bars') + } + } + }; + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +## Collectors used: + +Grafana Agent or combination of node_exporter/promtail can be used in order to collect data required. + +### Logs collection + +Loki logs are used to populate logs dashboard and also for annotations. + +To use logs, you need to opt-in, with setting `enableLokiLogs: true` in config. + +See example above. + +The following scrape snippet can be used in grafana-agent/promtail: + +```yaml + - job_name: integrations/node_exporter_journal_scrape + journal: + max_age: 24h + labels: + instance: '' + job: integrations/node_exporter + relabel_configs: + - source_labels: ['__journal__systemd_unit'] + target_label: 'unit' + - source_labels: ['__journal__boot_id'] + target_label: 'boot_id' + - source_labels: ['__journal__transport'] + target_label: 'transport' + - source_labels: ['__journal_priority_keyword'] + target_label: 'level' +``` diff --git a/docs/node-observ-lib/alerts.libsonnet b/docs/node-observ-lib/alerts.libsonnet new file mode 100644 index 0000000000..0ba8e2fbcd --- /dev/null +++ b/docs/node-observ-lib/alerts.libsonnet @@ -0,0 +1,420 @@ +{ + new(this): { + groups: [ + { + name: if this.config.uid == 'node' then 'node-exporter-filesystem' else this.config.uid + '-linux-filesystem-alerts', + rules: [ + { + alert: 'NodeFilesystemSpaceFillingUp', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpWarningThreshold)d + and + predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem is predicted to run out of space within the next 24 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.', + }, + }, + { + alert: 'NodeFilesystemSpaceFillingUp', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpCriticalThreshold)d + and + predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem is predicted to run out of space within the next 4 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfSpace', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableWarningThreshold)d + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '30m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem has less than %(fsSpaceAvailableWarningThreshold)d%% space left.' % this.config, + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfSpace', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableCriticalThreshold)d + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '30m', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem has less than %(fsSpaceAvailableCriticalThreshold)d%% space left.' % this.config, + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', + }, + }, + { + alert: 'NodeFilesystemFilesFillingUp', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 40 + and + predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem is predicted to run out of inodes within the next 24 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.', + }, + }, + { + alert: 'NodeFilesystemFilesFillingUp', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 20 + and + predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem is predicted to run out of inodes within the next 4 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfFiles', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 5 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem has less than 5% inodes left.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfFiles', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 3 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem has less than 3% inodes left.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', + }, + }, + ], + }, + { + // defaults to 'node-exporter for backward compatibility with old node-mixin + name: if this.config.uid == 'node' then 'node-exporter' else this.config.uid + '-linux-alerts', + rules: [ + { + alert: 'NodeNetworkReceiveErrs', + expr: ||| + rate(node_network_receive_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_receive_packets_total{%(filteringSelector)s}[2m]) > 0.01 + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Network interface is reporting many receive errors.', + description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.', + }, + }, + { + alert: 'NodeNetworkTransmitErrs', + expr: ||| + rate(node_network_transmit_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_transmit_packets_total{%(filteringSelector)s}[2m]) > 0.01 + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Network interface is reporting many transmit errors.', + description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.', + }, + }, + { + alert: 'NodeHighNumberConntrackEntriesUsed', + expr: ||| + (node_nf_conntrack_entries{%(filteringSelector)s} / node_nf_conntrack_entries_limit) > 0.75 + ||| % this.config, + annotations: { + summary: 'Number of conntrack are getting close to the limit.', + description: '{{ $value | humanizePercentage }} of conntrack entries are used.', + }, + labels: { + severity: 'warning', + }, + }, + { + alert: 'NodeTextFileCollectorScrapeError', + expr: ||| + node_textfile_scrape_error{%(filteringSelector)s} == 1 + ||| % this.config, + annotations: { + summary: 'Node Exporter text file collector failed to scrape.', + description: 'Node Exporter text file collector on {{ $labels.instance }} failed to scrape.', + }, + labels: { + severity: 'warning', + }, + }, + { + alert: 'NodeClockSkewDetected', + expr: ||| + ( + node_timex_offset_seconds{%(filteringSelector)s} > 0.05 + and + deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) >= 0 + ) + or + ( + node_timex_offset_seconds{%(filteringSelector)s} < -0.05 + and + deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) <= 0 + ) + ||| % this.config, + 'for': '10m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Clock skew detected.', + description: 'Clock at {{ $labels.instance }} is out of sync by more than 0.05s. Ensure NTP is configured correctly on this host.', + }, + }, + { + alert: 'NodeClockNotSynchronising', + expr: ||| + min_over_time(node_timex_sync_status{%(filteringSelector)s}[5m]) == 0 + and + node_timex_maxerror_seconds{%(filteringSelector)s} >= 16 + ||| % this.config, + 'for': '10m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Clock not synchronising.', + description: 'Clock at {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.', + }, + }, + { + alert: 'NodeRAIDDegraded', + expr: ||| + node_md_disks_required{%(filteringSelector)s,%(diskDeviceSelector)s} - ignoring (state) (node_md_disks{state="active",%(filteringSelector)s,%(diskDeviceSelector)s}) > 0 + ||| % this.config, + 'for': '15m', + labels: { + severity: 'critical', + }, + annotations: { + summary: 'RAID Array is degraded.', + description: "RAID array '{{ $labels.device }}' at {{ $labels.instance }} is in degraded state due to one or more disks failures. Number of spare drives is insufficient to fix issue automatically.", + }, + }, + { + alert: 'NodeRAIDDiskFailure', + expr: ||| + node_md_disks{state="failed",%(filteringSelector)s,%(diskDeviceSelector)s} > 0 + ||| % this.config, + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Failed device in RAID array.', + description: "At least one device in RAID array at {{ $labels.instance }} failed. Array '{{ $labels.device }}' needs attention and possibly a disk swap.", + }, + }, + { + alert: 'NodeFileDescriptorLimit', + expr: ||| + ( + node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 70 + ) + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Kernel is predicted to exhaust file descriptors limit soon.', + description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', + }, + }, + { + alert: 'NodeFileDescriptorLimit', + expr: ||| + ( + node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 90 + ) + ||| % this.config, + 'for': '15m', + labels: { + severity: 'critical', + }, + annotations: { + summary: 'Kernel is predicted to exhaust file descriptors limit soon.', + description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', + }, + }, + { + alert: 'NodeCPUHighUsage', + expr: ||| + sum without(mode) (avg without (cpu) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode!="idle"}[2m]))) * 100 > %(cpuHighUsageThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'info', + }, + annotations: { + summary: 'High CPU usage.', + description: ||| + CPU usage at {{ $labels.instance }} has been above %(cpuHighUsageThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. + ||| % this.config, + }, + }, + { + alert: 'NodeSystemSaturation', + expr: ||| + node_load1{%(filteringSelector)s} + / count without (cpu, mode) (node_cpu_seconds_total{%(filteringSelector)s, mode="idle"}) > %(systemSaturationPerCoreThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'System saturated, load per core is very high.', + description: ||| + System load per core at {{ $labels.instance }} has been above %(systemSaturationPerCoreThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + This might indicate this instance resources saturation and can cause it becoming unresponsive. + ||| % this.config, + }, + }, + { + alert: 'NodeMemoryMajorPagesFaults', + expr: ||| + rate(node_vmstat_pgmajfault{%(filteringSelector)s}[5m]) > %(memoryMajorPagesFaultsThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Memory major page faults are occurring at very high rate.', + description: ||| + Memory major pages are occurring at very high rate at {{ $labels.instance }}, %(memoryMajorPagesFaultsThreshold)d major page faults per second for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + Please check that there is enough memory available at this instance. + ||| % this.config, + }, + }, + { + alert: 'NodeMemoryHighUtilization', + expr: ||| + 100 - (node_memory_MemAvailable_bytes{%(filteringSelector)s} / node_memory_MemTotal_bytes{%(filteringSelector)s} * 100) > %(memoryHighUtilizationThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Host is running out of memory.', + description: ||| + Memory is filling up at {{ $labels.instance }}, has been above %(memoryHighUtilizationThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. + ||| % this.config, + }, + }, + { + alert: 'NodeDiskIOSaturation', + expr: ||| + rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[5m]) > %(diskIOSaturationThreshold)d + ||| % this.config, + 'for': '30m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Disk IO queue is high.', + description: ||| + Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + This symptom might indicate disk saturation. + ||| % this.config, + }, + }, + { + alert: 'NodeSystemdServiceFailed', + expr: ||| + node_systemd_unit_state{%(filteringSelector)s, state="failed"} == 1 + ||| % this.config, + 'for': '5m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Systemd service has entered failed state.', + description: 'Systemd service {{ $labels.name }} has entered failed state at {{ $labels.instance }}', + }, + }, + ], + }, + ], + }, +} diff --git a/docs/node-observ-lib/annotations.libsonnet b/docs/node-observ-lib/annotations.libsonnet new file mode 100644 index 0000000000..3d1f58b771 --- /dev/null +++ b/docs/node-observ-lib/annotations.libsonnet @@ -0,0 +1,69 @@ +local g = import './g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + reboot: + commonlib.annotations.reboot.new( + title='Reboot', + target=this.grafana.targets.reboot, + instanceLabels=std.join(',', this.config.instanceLabels), + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)), + memoryOOM: + commonlib.annotations.base.new( + 'OOMkill', + this.grafana.targets.memoryOOMkiller + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + + commonlib.annotations.base.withTextFormat('') + { + hide: true, + iconColor: 'light-purple', + }, + kernelUpdate: + commonlib.annotations.base.new( + 'Kernel update', + this.grafana.targets.kernelUpdate + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + + commonlib.annotations.base.withTextFormat('') + { + hide: true, + iconColor: 'light-blue', + step: '5m', + }, + } + + + if + this.config.enableLokiLogs + then + { + serviceFailed: commonlib.annotations.serviceFailed.new( + title='Service failed', + target=this.grafana.targets.serviceFailed, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), + criticalEvents: commonlib.annotations.fatal.new( + title='Critical system event', + target=this.grafana.targets.criticalEvents, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), + sessionOpened: + commonlib.annotations.base.new( + title='Session opened', + target=this.grafana.targets.sessionOpened, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) + { hide: true }, + sessionClosed: + commonlib.annotations.base.new( + title='Session closed', + target=this.grafana.targets.sessionOpened, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) + { hide: true }, + } + else + {}, +} diff --git a/docs/node-observ-lib/config.libsonnet b/docs/node-observ-lib/config.libsonnet new file mode 100644 index 0000000000..b136c492ef --- /dev/null +++ b/docs/node-observ-lib/config.libsonnet @@ -0,0 +1,104 @@ +{ + + // any modular observability library should inlcude as inputs: + // 'dashboardNamePrefix' - Use as prefix for all Dashboards and (optional) rule groups + // 'filteringSelector' - Static selector to apply to ALL dashboard variables of type query, panel queries, alerts and recording rules. + // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. + // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. + // 'uid' - UID to prefix all dashboards original uids + + filteringSelector: std.get(self, 'nodeExporterSelector', default='"job="node"'), + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + uid: 'node', + + dashboardTags: [self.uid], + + // Select the fstype for filesystem-related queries. If left + // empty, all filesystems are selected. If you have unusual + // filesystem you don't want to include in dashboards and + // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. + fsSelector: 'fstype!=""', + + // Select the mountpoint for filesystem-related queries. If left + // empty, all mountpoints are selected. For example if you have a + // special purpose tmpfs instance that has a fixed size and will + // always be 100% full, but you still want alerts and dashboards for + // other tmpfs instances, you can exclude those by mountpoint prefix + // like so: 'mountpoint!~"/var/lib/foo.*"'. + fsMountpointSelector: 'mountpoint!=""', + + // Select the device for disk-related queries. If left empty, all + // devices are selected. If you have unusual devices you don't + // want to include in dashboards and alerting, you can exclude + // them here, e.g. 'device!="tmpfs"'. + diskDeviceSelector: 'device!=""', + + // Some of the alerts are meant to fire if a criticadiskDeviceSelector failure of a + // node is imminent (e.g. the disk is about to run full). In a + // true “cloud native” setup, failures of a single node should be + // tolerated. Hence, even imminent failure of a single node is no + // reason to create a paging alert. However, in practice there are + // still many situations where operators like to get paged in time + // before a node runs out of disk space. nodeCriticalSeverity can + // be set to the desired severity for this kind of alerts. This + // can even be templated to depend on labels of the node, e.g. you + // could make this critical for traditional database masters but + // just a warning for K8s nodes. + nodeCriticalSeverity: 'critical', + + // CPU utilization (%) on which to trigger the + // 'NodeCPUHighUsage' alert. + cpuHighUsageThreshold: 90, + // Load average 1m (per core) on which to trigger the + // 'NodeSystemSaturation' alert. + systemSaturationPerCoreThreshold: 2, + + // Available disk space (%) thresholds on which to trigger the + // 'NodeFilesystemSpaceFillingUp' alerts. These alerts fire if the disk + // usage grows in a way that it is predicted to run out in 4h or 1d + // and if the provided thresholds have been reached right now. + // In some cases you'll want to adjust these, e.g. by default Kubernetes + // runs the image garbage collection when the disk usage reaches 85% + // of its available space. In that case, you'll want to reduce the + // critical threshold below to something like 14 or 15, otherwise + // the alert could fire under normal node usage. + fsSpaceFillingUpWarningThreshold: 40, + fsSpaceFillingUpCriticalThreshold: 20, + + // Available disk space (%) thresholds on which to trigger the + // 'NodeFilesystemAlmostOutOfSpace' alerts. + fsSpaceAvailableWarningThreshold: 5, + fsSpaceAvailableCriticalThreshold: 3, + + // Memory utilzation (%) level on which to trigger the + // 'NodeMemoryHighUtilization' alert. + memoryHighUtilizationThreshold: 90, + + // Threshold for the rate of memory major page faults to trigger + // 'NodeMemoryMajorPagesFaults' alert. + memoryMajorPagesFaultsThreshold: 500, + + // Disk IO queue level above which to trigger + // 'NodeDiskIOSaturation' alert. + diskIOSaturationThreshold: 10, + + rateInterval: '5m', + + dashboardPeriod: 'now-1h', + dashboardTimezone: 'default', + dashboardRefresh: '1m', + + // logs lib related + enableLokiLogs: false, + extraLogLabels: ['transport', 'unit', 'level'], + logsVolumeGroupBy: 'level', + showLogsVolume: true, + logsFilteringSelector: self.filteringSelector, + logsExtraFilters: + ||| + | label_format timestamp="{{__timestamp__}}" + | line_format `{{ if eq "[[instance]]" ".*" }}{{alignLeft 25 .instance}}|{{alignLeft 25 .unit}}|{{else}}{{alignLeft 25 .unit}}|{{end}} {{__line__}}` + |||, +} diff --git a/docs/node-observ-lib/dashboards.libsonnet b/docs/node-observ-lib/dashboards.libsonnet new file mode 100644 index 0000000000..933e421c80 --- /dev/null +++ b/docs/node-observ-lib/dashboards.libsonnet @@ -0,0 +1,225 @@ +local g = import './g.libsonnet'; +local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; +{ + local root = self, + new(this): + local prefix = this.config.dashboardNamePrefix; + local links = this.grafana.links; + local tags = this.config.dashboardTags; + local uid = g.util.string.slugify(this.config.uid); + local vars = this.grafana.variables; + local annotations = this.grafana.annotations; + local refresh = this.config.dashboardRefresh; + local period = this.config.dashboardPeriod; + local timezone = this.config.dashboardTimezone; + local panels = this.grafana.panels; + local stat = g.panel.stat; + { + fleet: + local title = prefix + 'fleet overview'; + g.dashboard.new(title) + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + // g.panel.row.new("Overview"), + panels.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, + panels.cpuUsageTopk { gridPos+: { w: 24 } }, + panels.memotyUsageTopKPercent { gridPos+: { w: 24 } }, + panels.diskIOutilPercentTopK { gridPos+: { w: 12 } }, + panels.diskUsagePercentTopK { gridPos+: { w: 12 } }, + panels.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, + ], 12, 7 + ) + ) + // hide link to self + + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), + overview: + g.dashboard.new(prefix + 'overview') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Overview'), + panels.uptime, + panels.hostname, + panels.kernelVersion, + panels.osInfo, + panels.cpuCount, + panels.memoryTotalBytes, + panels.memorySwapTotalBytes, + panels.diskTotalRoot, + g.panel.row.new('CPU'), + panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, + panels.systemLoad { gridPos+: { w: 6, h: 6 } }, + g.panel.row.new('Memory'), + panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + g.panel.row.new('Disk'), + panels.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, + panels.diskUsage { gridPos+: { w: 12, h: 8 } }, + g.panel.row.new('Network'), + panels.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, + panels.networkErrorsPerSec { gridPos+: { w: 12, h: 8 } }, + ], 6, 2 + ) + ) + // defaults to uid=nodes for backward compatibility with old node-mixins + + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), + network: + g.dashboard.new(prefix + 'network') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Network'), + panels.networkOverviewTable { gridPos: { w: 24 } }, + panels.networkUsagePerSec, + panels.networkOperStatus, + panels.networkErrorsPerSec, + panels.networkDroppedPerSec, + panels.networkPacketsPerSec, + panels.networkMulticastPerSec, + panels.networkFifo, + panels.networkCompressedPerSec, + panels.networkNFConntrack, + panels.networkSoftnet, + panels.networkSoftnetSqueeze, + g.panel.row.new('Network sockets'), + panels.networkSockstatAll { gridPos: { w: 24 } }, + panels.networkSockstatTCP, + panels.networkSockstatUDP, + panels.networkSockstatMemory, + panels.networkSockstatOther, + g.panel.row.new('Network netstat'), + panels.networkNetstatIP { gridPos: { w: 24 } }, + panels.networkNetstatTCP, + panels.networkNetstatTCPerrors, + panels.networkNetstatUDP, + panels.networkNetstatUDPerrors, + panels.networkNetstatICMP, + panels.networkNetstatICMPerrors, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), + memory: + g.dashboard.new(prefix + 'memory') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + g.panel.row.new('Vmstat'), + panels.memoryPagesInOut, + panels.memoryPagesSwapInOut, + panels.memoryPagesFaults, + panels.memoryOOMkiller, + g.panel.row.new('Memstat'), + panels.memoryActiveInactive, + panels.memoryActiveInactiveDetail, + panels.memoryCommited, + panels.memorySharedAndMapped, + panels.memoryWriteAndDirty, + panels.memoryVmalloc, + panels.memorySlab, + panels.memoryAnonymous, + panels.memoryHugePagesCounter, + panels.memoryHugePagesSize, + panels.memoryDirectMap, + panels.memoryBounce, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), + + system: + g.dashboard.new(prefix + 'CPU and system') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('System'), + panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, + panels.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, + panels.systemLoad, + panels.systemContextSwitchesAndInterrupts, + g.panel.row.new('Time'), + panels.osTimezone { gridPos+: { w: 3, h: 4 } }, + panels.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, + panels.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, + ], 12, 7 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), + + disks: + g.dashboard.new(prefix + 'filesystem and disks') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Filesystem'), + panels.diskFreeTs, + panels.diskUsage, + panels.diskInodesFree, + panels.diskInodesTotal, + panels.diskErrorsandRO, + panels.fileDescriptors, + g.panel.row.new('Disk'), + panels.diskIOBytesPerSec, + panels.diskIOps, + panels.diskIOWaitTime, + panels.diskQueue, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), + } + + + if this.config.enableLokiLogs + then + { + logs: + logslib.new( + prefix + 'logs', + datasourceName=this.grafana.variables.datasources.loki.name, + datasourceRegex=this.grafana.variables.datasources.loki.regex, + filterSelector=this.config.logsFilteringSelector, + labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, + formatParser=null, + showLogsVolume=this.config.showLogsVolume, + logsVolumeGroupBy=this.config.logsVolumeGroupBy, + extraFilters=this.config.logsExtraFilters + ) + { + dashboards+: + { + logs+: + // reference to self, already generated variables, to keep them, but apply other common data in applyCommon + root.applyCommon(super.logs.templating.list, uid=uid + '-logs', tags=tags, links=links, annotations=annotations, timezone=timezone, refresh=refresh, period=period), + }, + panels+: + { + // modify log panel + logs+: + g.panel.logs.options.withEnableLogDetails(true) + + g.panel.logs.options.withShowTime(false) + + g.panel.logs.options.withWrapLogMessage(false), + }, + variables+: { + // add prometheus datasource for annotations processing + toArray+: [ + this.grafana.variables.datasources.prometheus { hide: 2 }, + ], + }, + }.dashboards.logs, + } + else {}, + applyCommon(vars, uid, tags, links, annotations, timezone, refresh, period): + g.dashboard.withTags(tags) + + g.dashboard.withUid(uid) + + g.dashboard.withLinks(std.objectValues(links)) + + g.dashboard.withTimezone(timezone) + + g.dashboard.withRefresh(refresh) + + g.dashboard.time.withFrom(period) + + g.dashboard.withVariables(vars) + + g.dashboard.withAnnotations(std.objectValues(annotations)), +} diff --git a/docs/node-observ-lib/g.libsonnet b/docs/node-observ-lib/g.libsonnet new file mode 100644 index 0000000000..6da9f4eef9 --- /dev/null +++ b/docs/node-observ-lib/g.libsonnet @@ -0,0 +1 @@ +import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/jsonnetfile.json b/docs/node-observ-lib/jsonnetfile.json new file mode 100644 index 0000000000..69b58cc74b --- /dev/null +++ b/docs/node-observ-lib/jsonnetfile.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "common-lib" + } + }, + "version": "master" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v10.0.0" + } + }, + "version": "main" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "logs-lib" + } + }, + "version": "master" + } + ], + "legacyImports": true +} \ No newline at end of file diff --git a/docs/node-observ-lib/jsonnetfile.lock.json b/docs/node-observ-lib/jsonnetfile.lock.json new file mode 100644 index 0000000000..5853fd6180 --- /dev/null +++ b/docs/node-observ-lib/jsonnetfile.lock.json @@ -0,0 +1,56 @@ +{ + "version": 1, + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v10.0.0" + } + }, + "version": "9e217263ac4b922ca2e00bc5cc36ada2311bb5a6", + "sum": "gj/20VIGucG2vDGjG7YdHLC4yUUfrpuaneUYaRmymOM=" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "common-lib" + } + }, + "version": "a7647832fd3eaae70411bc9f697fa7504b04796c", + "sum": "XTZ4WevbwUlziv53i4HY9ndaW+VNMHiT6NpSDvTyYyA=" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "logs-lib" + } + }, + "version": "a7647832fd3eaae70411bc9f697fa7504b04796c", + "sum": "IkBo9nj0Qt1eC9w80dO5SI4yvHzmmXcKx5BK8H8U0Mk=" + }, + { + "source": { + "git": { + "remote": "https://github.com/jsonnet-libs/docsonnet.git", + "subdir": "doc-util" + } + }, + "version": "503e5c8fe96d6b55775037713ac10b184709ad93", + "sum": "BY4u0kLF3Qf/4IB4HnX9S5kEQIpHb4MUrppp6WLDtlU=" + }, + { + "source": { + "git": { + "remote": "https://github.com/jsonnet-libs/xtd.git", + "subdir": "" + } + }, + "version": "c1a315a7dbead0335a5e0486acc5583395b22a24", + "sum": "UVdL+uuFI8BSQgLfMJEJk2WDKsQXNT3dRHcr2Ti9rLI=" + } + ], + "legacyImports": false +} diff --git a/docs/node-observ-lib/links.libsonnet b/docs/node-observ-lib/links.libsonnet new file mode 100644 index 0000000000..ac61ad7ad5 --- /dev/null +++ b/docs/node-observ-lib/links.libsonnet @@ -0,0 +1,19 @@ +local g = import './g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + local link = g.dashboard.link, + backToFleet: + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards.fleet.uid) + + link.link.options.withKeepTime(true), + backToOverview: + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards.overview.uid) + + link.link.options.withKeepTime(true), + otherDashboards: + link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) + + link.dashboards.options.withIncludeVars(true) + + link.dashboards.options.withKeepTime(true) + + link.dashboards.options.withAsDropdown(true), + }, +} diff --git a/docs/node-observ-lib/main.libsonnet b/docs/node-observ-lib/main.libsonnet new file mode 100644 index 0000000000..0fb13f70d2 --- /dev/null +++ b/docs/node-observ-lib/main.libsonnet @@ -0,0 +1,39 @@ +local alerts = import './alerts.libsonnet'; +local annotations = import './annotations.libsonnet'; +local config = import './config.libsonnet'; +local dashboards = import './dashboards.libsonnet'; +local datasources = import './datasources.libsonnet'; +local g = import './g.libsonnet'; +local links = import './links.libsonnet'; +local panels = import './panels.libsonnet'; +local rules = import './rules.libsonnet'; +local targets = import './targets.libsonnet'; +local variables = import './variables.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; + +{ + withConfigMixin(config): { + config+: config, + }, + + new(): { + + local this = self, + config: config, + grafana: { + variables: variables.new(this), + targets: targets.new(this), + panels: panels.new(this), + annotations: annotations.new(this), + // common links here used across all dashboards + links: links.new(this), + dashboards: dashboards.new(this), + }, + + prometheus: { + alerts: alerts.new(this), + recordingRules: rules.new(this), + }, + + }, +} diff --git a/docs/node-observ-lib/mixin.libsonnet b/docs/node-observ-lib/mixin.libsonnet new file mode 100644 index 0000000000..f902699f3e --- /dev/null +++ b/docs/node-observ-lib/mixin.libsonnet @@ -0,0 +1,20 @@ +local g = import './g.libsonnet'; +local nodelib = import './main.libsonnet'; + + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + filteringSelector: 'job=~".*node.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + dashboardTags: ['node-exporter-mixin'], + uid: 'node', + }); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} diff --git a/docs/node-observ-lib/panels.libsonnet b/docs/node-observ-lib/panels.libsonnet new file mode 100644 index 0000000000..aa0269d34f --- /dev/null +++ b/docs/node-observ-lib/panels.libsonnet @@ -0,0 +1,1131 @@ +local g = import './g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + fleetOverviewTable: + commonlib.panels.generic.table.base.new( + 'Fleet overview', + targets= + [ + t.osInfoCombined + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('OS Info'), + t.uptime + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Uptime'), + t.systemLoad1 + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Load 1'), + t.cpuCount + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Cores'), + t.cpuUsage + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CPU usage'), + t.memoryTotalBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory total'), + t.memoryUsagePercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory usage'), + t.diskTotalRoot + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount size'), + t.diskUsageRootPercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount used'), + t.alertsCritical + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CRITICAL'), + t.alertsWarning + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('WARNING'), + ], + description="All nodes' perfomance at a glance." + ) + + g.panel.table.options.withFooter( + value={ + reducer: ['sum'], + show: true, + fields: [ + 'Value #Cores', + 'Value #Load 1', + 'Value #Memory total', + 'Value #Root mount size', + ], + } + ) + + commonlib.panels.system.table.uptime.stylizeByName('Uptime') + + table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Product|^Hostname$') + + fieldOverride.byRegexp.withProperty('custom.filterable', true), + fieldOverride.byName.new('Instance') + + fieldOverride.byName.withProperty('custom.filterable', true) + + fieldOverride.byName.withProperty('links', [ + { + targetBlank: false, + title: 'Drill down to ${__field.name} ${__value.text}', + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], + }, + ]), + fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) + + fieldOverride.byRegexp.withProperty('custom.filterable', true) + + fieldOverride.byRegexp.withProperty('links', [ + { + targetBlank: false, + title: 'Filter by ${__field.name}', + url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}' % [this.grafana.dashboards.fleet.uid], + }, + ]), + fieldOverride.byName.new('Cores') + + fieldOverride.byName.withProperty('custom.width', '120'), + fieldOverride.byName.new('CPU usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Memory total') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Memory usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Root mount size') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Root mount used') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('percent') + ) + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: instanceLabel, + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + //' 1' - would only match first occurence of group label, so no duplicates + pattern: instanceLabel + '|' + + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.instanceLabels + ) + ) + + '|' + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.groupLabels + ) + ) + + '|product|^hostname$|^nodename$|^pretty_name$|Value.+', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: { + 'Value #OS Info': true, + }, + indexByName: + { + [instanceLabel]: 0, + nodename: 1, + hostname: 1, + pretty_name: 2, + product: 2, + } + + + // group labels are named as 'job 1' and so on. + { + [label]: 3 + for label in this.config.groupLabels + }, + renameByName: + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.instanceLabels + } + { + [instanceLabel]: utils.toSentenceCase(instanceLabel), + product: 'OS', // windows + pretty_name: 'OS', // linux + hostname: 'Hostname', // windows + nodename: 'Hostname', // Linux + } + + + // group labels are named as 'job 1' and so on. + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.groupLabels + }, + + }, + }, + { + id: 'renameByRegex', + options: { + regex: 'Value #(.*)', + renamePattern: '$1', + }, + }, + ] + ), + uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), + + systemLoad: + commonlib.panels.system.timeSeries.loadAverage.new( + loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], + cpuCountTarget=t.cpuCount, + ), + + systemContextSwitchesAndInterrupts: + commonlib.panels.generic.timeSeries.base.new( + 'Context switches/Interrupts', + targets=[ + t.systemContextSwitches, + t.systemInterrupts, + ], + description=||| + Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. + + A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. + ||| + ), + + timeNtpStatus: + commonlib.panels.system.statusHistory.ntp.new( + 'NTP status', + targets=[t.timeNtpStatus], + description='Status of time synchronization.' + ) + + g.panel.timeSeries.standardOptions.withNoValue('No data.') + + g.panel.statusHistory.options.withLegend(false), + timeSyncDrift: + commonlib.panels.generic.timeSeries.base.new( + 'Time synchronized drift', + targets=[ + t.timeEstimatedError, + t.timeOffset, + t.timeMaxError, + ], + description=||| + Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. + ||| + ) + + g.panel.timeSeries.standardOptions.withUnit('seconds') + + g.panel.timeSeries.standardOptions.withNoValue('No data.'), + cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), + cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) + + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), + + cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='CPU usage', + target=t.cpuUsage, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), + cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( + targets=[t.cpuUsageByMode], + description=||| + - System: Processes executing in kernel mode. + - User: Normal processes executing in user mode. + - Nice: Niced processes executing in user mode. + - Idle: Waiting for something to happen. + - Iowait: Waiting for I/O to complete. + - Irq: Servicing interrupts. + - Softirq: Servicing softirqs. + - Steal: Time spent in other operating systems when running in a virtualized environment. + ||| + ), + + memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), + memorySwapTotalBytes: + commonlib.panels.memory.stat.total.new( + 'Total swap', + targets=[t.memorySwapTotal], + description=||| + Total swap available. + + Swap is a space on a storage device (usually a dedicated swap partition or a swap file) + used as virtual memory when the physical RAM (random-access memory) is fully utilized. + Swap space helps prevent memory-related performance issues by temporarily transferring less-used data from RAM to disk, + freeing up physical memory for active processes and applications. + ||| + ), + memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), + memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Memory usage', + target=t.memoryUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + memoryUsageTsBytes: + commonlib.panels.memory.timeSeries.usageBytes.new( + targets=[ + t.memoryUsedBytes, + t.memoryCachedBytes, + t.memoryAvailableBytes, + t.memoryBuffersBytes, + t.memoryFreeBytes, + t.memoryTotalBytes, + ], + description= + ||| + - Used: The amount of physical memory currently in use by the system. + - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. + - Free: The amount of physical memory that is currently not in use. + - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. + - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. + ||| + ) + + g.panel.timeSeries.standardOptions.withOverridesMixin( + { + __systemRef: 'hideSeriesFrom', + matcher: { + id: 'byNames', + options: { + mode: 'exclude', + names: [ + t.memoryTotalBytes.legendFormat, + t.memoryUsedBytes.legendFormat, + ], + prefix: 'All except:', + readOnly: true, + }, + }, + properties: [ + { + id: 'custom.hideFrom', + value: { + viz: true, + legend: false, + tooltip: false, + }, + }, + ], + } + ), + + memoryPagesInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages in / out', + targets=[t.memoryPagesIn, t.memoryPagesOut], + description=||| + Page-In - Return of pages to physical memory. This is a common and normal event. + + Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. + When the kernel detects low memory, it attempts to free memory by paging out. + While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. + Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesSwapInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages swapping in / out', + targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], + description=||| + Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. + Nonetheless, it is a preferable option to crashing or killing off processes. + + The process of writing pages out to disk to free memory is known as swapping-out. + If a page fault occurs because the page is on disk, in the swap area, rather than in memory, + the kernel will read the page back in from the disk to satisfy the page fault. + This is known as swapping-in. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesFaults: + commonlib.panels.memory.timeSeries.base.new( + 'Memory page faults', + targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], + description=||| + A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, + requiring a mapping to be added to the process's virtual address space. + + The page contents may also need to be loaded from a backing store such as a disk. + While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. + Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. + |||, + ), + + memoryOOMkiller: + commonlib.panels.memory.timeSeries.base.new( + 'OOM Killer', + targets=[t.memoryOOMkiller], + description=||| + Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. + + This can happen when the kernel has allocated more memory than is available for its processes. + ||| + ), + + memoryActiveInactive: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive', + targets=[t.memoryActiveBytes, t.memoryInactiveBytes], + description=||| + - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. + - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. + |||, + ), + + memoryActiveInactiveDetail: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive details', + targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], + description=||| + - Inactive_file: File-backed memory on inactive LRU list. + - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). + - Active_file: File-backed memory on active LRU list. + - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. + |||, + ), + + memoryCommited: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory commited', + targets=[t.memoryCommitedAs, t.memoryCommitedLimit], + description=||| + - Committed_AS - Amount of memory presently allocated on the system. + - CommitLimit - Amount of memory currently available to be allocated on the system. + ||| + ), + + memorySharedAndMapped: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory shared and mapped', + targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemBytes, t.memoryShmemHugePagesBytes], + description=||| + - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. + - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. + - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. + - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. + ||| + ), + memoryWriteAndDirty: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory writeback and dirty', + targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], + description=||| + - Writeback: This refers to the memory that is currently being actively written back to the disk. + - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. + - Dirty: This type of memory is waiting to be written back to the disk. + ||| + ), + memoryVmalloc: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory Vmalloc', + targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], + description=||| + Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. + + - VmallocChunk: Largest contiguous block of vmalloc area which is free. + - VmallocTotal: Total size of vmalloc memory area. + - VmallocUsed: Amount of vmalloc area which is used. + ||| + ), + memorySlab: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], + description=||| + Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. + + The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. + + - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. + - SReclaimable: Part of Slab, that might be reclaimed, such as caches. + ||| + ), + memoryAnonymous: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memoryAnonHugePages, t.memoryAnonPages], + description=||| + Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. + + This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. + + Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, + and from Memory Shared with other processes, + which refers to memory regions that can be accessed and modified by multiple processes. + + - AnonHugePages: Memory in anonymous huge pages. + - AnonPages: Memory in user pages not backed by files. + ||| + ), + + memoryHugePagesCounter: + commonlib.panels.memory.timeSeries.base.new( + 'Memory HugePages counter', + targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], + description= + ||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + + - HugePages_Free: Huge pages in the pool that are not yet allocated. + - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. + - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. + ||| + ), + memoryHugePagesSize: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory HugePages size', + targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], + + description=||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + ||| + ), + + memoryDirectMap: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory direct map', + targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], + + description=||| + Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. + ||| + ), + memoryBounce: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory bounce', + targets=[t.memoryBounce], + description=||| + Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. + + To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. + + - Bounce: Memory used for block device bounce buffers. + ||| + ), + diskTotalRoot: + commonlib.panels.disk.stat.total.new( + 'Root mount size', + targets=[t.diskTotalRoot], + description=||| + Total capacity on the primary mount point /. + ||| + ), + diskUsage: + commonlib.panels.disk.table.usage.new( + totalTarget= + ( + t.diskTotal + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + ), + freeTarget= + t.diskFree + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true), + groupLabel='mountpoint' + , + description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.' + ), + diskFreeTs: + commonlib.panels.disk.timeSeries.available.new( + 'Filesystem space availabe', + targets=[ + t.diskFree, + ], + description='Filesystem space utilisation in bytes, by mountpoint.' + ), + diskInodesFree: + commonlib.panels.disk.timeSeries.base.new( + 'Free inodes', + targets=[t.diskInodesFree], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskInodesTotal: + commonlib.panels.disk.timeSeries.base.new( + 'Total inodes', + targets=[t.diskInodesTotal], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskErrorsandRO: + commonlib.panels.disk.timeSeries.base.new( + 'Filesystems with errors / read-only', + targets=[ + t.diskDeviceError, + t.diskReadOnly, + ], + description='', + ) + + g.panel.timeSeries.standardOptions.withMax(1), + fileDescriptors: + commonlib.panels.disk.timeSeries.base.new( + 'File descriptors', + targets=[ + t.processMaxFds, + t.processOpenFds, + ], + description=||| + File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. + The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. + ||| + ), + diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk space usage', + target=t.diskUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( + targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] + ), + diskIOutilPercentTopK: + commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk IO', + target=t.diskIOutilization, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOps: + commonlib.panels.disk.timeSeries.iops.new( + targets=[ + t.diskIOReads, + t.diskIOWrites, + ] + ), + + diskQueue: + commonlib.panels.disk.timeSeries.ioQueue.new( + 'Disk average queue', + targets= + [ + t.diskAvgQueueSize, + ] + ), + diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( + targets=[ + t.diskIOWaitReadTime, + t.diskIOWaitWriteTime, + ] + ), + osInfo: commonlib.panels.generic.stat.info.new( + 'OS', + targets=[t.osInfo], + description='Operating system' + ) + { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, + kernelVersion: + commonlib.panels.generic.stat.info.new('Kernel version', + targets=[t.unameInfo], + description='Kernel version of linux host.') + { options+: { reduceOptions+: { fields: '/^release$/' } } }, + osTimezone: + commonlib.panels.generic.stat.info.new( + 'Timezone', targets=[t.osTimezone], description='Current system timezone.' + ) + { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, + hostname: + commonlib.panels.generic.stat.info.new( + 'Hostname', + targets=[t.unameInfo], + description="System's hostname." + ) + { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, + networkErrorsAndDroppedPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=[ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ], + description=||| + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkErrorsAndDroppedPerSecTopK: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=std.map( + function(t) t + { + expr: 'topk(25, ' + t.expr + ')>0.5', + legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), + }, + [ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ] + ), + description=||| + Top 25. + + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') + + g.panel.timeSeries.fieldConfig.defaults.custom.withPointSize(5), + + networkErrorsPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors', + targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkDroppedPerSec: + commonlib.panels.network.timeSeries.dropped.new( + targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkUsagePerSec: + commonlib.panels.network.timeSeries.traffic.new( + targets=[t.networkInBitPerSec, t.networkOutBitPerSec] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkPacketsPerSec: + commonlib.panels.network.timeSeries.packets.new( + targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkMulticastPerSec: + commonlib.panels.network.timeSeries.multicast.new( + 'Multicast packets', + targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], + description='Multicast packets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + + networkFifo: + commonlib.panels.network.timeSeries.packets.new( + 'Network FIFO', + targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], + description=||| + Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. + It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. + Packets are stored in the FIFO buffer until they can be transmitted or processed further. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkCompressedPerSec: + commonlib.panels.network.timeSeries.packets.new( + 'Compressed packets', + targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], + description=||| + - Compressed received: + Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + - Compressed transmitted: + Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + https://docs.kernel.org/networking/statistics.html + |||, + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkNFConntrack: + commonlib.panels.generic.timeSeries.base.new( + 'NF conntrack', + targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], + description=||| + NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, + enforce firewall rules, perform NAT, and manage network address/port translation. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0), + + networkSoftnet: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet packets', + targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], + description=||| + Softnet packets are received by the network and queued for processing by the kernel's networking stack. + Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets('/dropped/') + + g.panel.timeSeries.fieldConfig.defaults.custom.withAxisLabel('Dropped(-) | Processed(+)'), + networkSoftnetSqueeze: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet out of quota', + targets=[t.networkSoftnetSqueezedPerSec], + description=||| + "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. + This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. + ||| + ), + networkOperStatus: + commonlib.panels.network.statusHistory.interfaceStatus.new( + 'Network interfaces carrier status', + targets=[t.networkCarrier], + description='Network interfaces carrier status', + ), + networkOverviewTable: + commonlib.panels.generic.table.base.new( + 'Network interfaces overview', + targets= + [ + t.networkUp + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Up'), + t.networkCarrier + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Carrier'), + t.networkOutBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Transmitted'), + t.networkInBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Received'), + t.networkArpEntries + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('ARP entries'), + t.networkMtuBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('MTU'), + t.networkSpeedBitsPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Speed'), + t.networkTransmitQueueLength + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Queue length'), + t.networkInfo + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Info'), + ], + description='Network interfaces overview.' + ) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byName.new('Speed') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Transmitted|Received') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + + table.standardOptions.color.withMode('continuous-BlYlRd') + + table.standardOptions.withMax(1000 * 1000 * 100) + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Carrier|Up') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withMappings( + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 0, + }, + '1': { + text: 'Up', + color: 'light-green', + index: 1, + }, + }, + } + ), + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: 'device', + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + pattern: 'device|duplex|address|Value.+', + }, + }, + }, + { + id: 'renameByRegex', + options: { + regex: '(Value) #(.*)', + renamePattern: '$2', + }, + }, + { + id: 'organize', + options: { + excludeByName: { + Info: true, + }, + renameByName: + { + device: 'Interface', + duplex: 'Duplex', + address: 'Address', + }, + }, + }, + { + id: 'organize', + options: { + indexByName: { + Interface: 0, + Up: 1, + Carrier: 2, + Received: 3, + Transmitted: 4, + }, + }, + }, + ] + ), + networkSockstatAll: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets in use', + targets=[t.networkSocketsUsed], + description='Number of sockets currently in use.', + ), + + networkSockstatTCP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets TCP', + targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], + description=||| + TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. + + Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. + ||| + ), + networkSockstatUDP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets UDP', + targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], + description=||| + UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. + Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. + ||| + ), + networkSockstatOther: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets other', + targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], + description=||| + FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. + + RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. + ||| + ), + networkSockstatMemory: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.generic.timeSeries.base.new( + title='Sockets memory', + targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], + description=||| + Memory currently in use for sockets. + |||, + ) + + panel.queryOptions.withMaxDataPoints(100) + + panel.fieldConfig.defaults.custom.withAxisLabel('Pages') + + panel.standardOptions.withOverridesMixin( + panel.standardOptions.override.byRegexp.new('/bytes/') + + override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('bytes') + + panel.fieldConfig.defaults.custom.withDrawStyle('bars') + + panel.fieldConfig.defaults.custom.withStacking(value={ mode: 'normal', group: 'A' }) + + panel.fieldConfig.defaults.custom.withAxisLabel('Bytes') + ) + ), + + networkNetstatIP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'IP octets', + targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], + description='Rate of IP octets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('oct/s'), + + networkNetstatTCP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'TCP segments', + targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], + description='Rate of TCP segments received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('seg/s'), + + networkNetstatTCPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='TCP errors rate', + targets=[ + t.networkNetstatTCPOverflowPerSec, + t.networkNetstatTCPListenDropsPerSec, + t.networkNetstatTCPRetransPerSec, + t.networkNetstatTCPRetransSegPerSec, + t.networkNetstatTCPInWithErrorsPerSec, + t.networkNetstatTCPOutWithRstPerSec, + ], + description='Rate of TCP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatUDP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'UDP datagrams', + targets=[t.networkNetstatIPInUDPPerSec, t.networkNetstatIPOutUDPPerSec], + description='Rate of UDP datagrams received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('dat/s'), + + networkNetstatUDPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='UDP errors rate', + targets=[ + t.networkNetstatUDPLiteInErrorsPerSec, + t.networkNetstatUDPInErrorsPerSec, + t.networkNetstatUDP6InErrorsPerSec, + t.networkNetstatUDPNoPortsPerSec, + t.networkNetstatUDP6NoPortsPerSec, + t.networkNetstatUDPRcvBufErrsPerSec, + t.networkNetstatUDP6RcvBufErrsPerSec, + t.networkNetstatUDPSndBufErrsPerSec, + t.networkNetstatUDP6SndBufErrsPerSec, + ], + description='Rate of UDP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatICMP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'ICMP messages', + targets=[ + t.networkNetstatICMPInPerSec, + t.networkNetstatICMPOutPerSec, + t.networkNetstatICMP6InPerSec, + t.networkNetstatICMP6OutPerSec, + ], + description="Rate of ICMP messages, like 'ping', received and transmitted." + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('msg/s'), + + networkNetstatICMPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='ICMP errors rate', + targets=[ + t.networkNetstatICMPInErrorsPerSec, + t.networkNetstatICM6PInErrorsPerSec, + ], + description='Rate of ICMP messages received and transmitted with errors.' + ) + + panel.standardOptions.withUnit('err/s'), + }, +} diff --git a/docs/node-observ-lib/rules.libsonnet b/docs/node-observ-lib/rules.libsonnet new file mode 100644 index 0000000000..97ed548de3 --- /dev/null +++ b/docs/node-observ-lib/rules.libsonnet @@ -0,0 +1,119 @@ +{ + new(this): { + groups+: [ + { + name: if this.config.uid == 'node' then 'node-exporter.rules' else this.config.uid + '-linux-rules', + rules: [ + { + // This rule gives the number of CPUs per node. + record: 'instance:node_num_cpu:sum', + expr: ||| + count without (cpu, mode) ( + node_cpu_seconds_total{%(filteringSelector)s,mode="idle"} + ) + ||| % this.config, + }, + { + // CPU utilisation is % CPU without {idle,iowait,steal}. + record: 'instance:node_cpu_utilisation:rate%(rateInterval)s' % this.config, + expr: ||| + 1 - avg without (cpu) ( + sum without (mode) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode=~"idle|iowait|steal"}[%(rateInterval)s])) + ) + ||| % this.config, + }, + { + // This is CPU saturation: 1min avg run queue length / number of CPUs. + // Can go over 1. + // TODO: There are situation where a run queue >1/core is just normal and fine. + // We need to clarify how to read this metric and if its usage is helpful at all. + record: 'instance:node_load1_per_cpu:ratio', + expr: ||| + ( + node_load1{%(filteringSelector)s} + / + instance:node_num_cpu:sum{%(filteringSelector)s} + ) + ||| % this.config, + }, + { + // Memory utilisation (ratio of used memory per instance). + record: 'instance:node_memory_utilisation:ratio', + expr: ||| + 1 - ( + ( + node_memory_MemAvailable_bytes{%(filteringSelector)s} + or + ( + node_memory_Buffers_bytes{%(filteringSelector)s} + + + node_memory_Cached_bytes{%(filteringSelector)s} + + + node_memory_MemFree_bytes{%(filteringSelector)s} + + + node_memory_Slab_bytes{%(filteringSelector)s} + ) + ) + / + node_memory_MemTotal_bytes{%(filteringSelector)s} + ) + ||| % this.config, + }, + { + record: 'instance:node_vmstat_pgmajfault:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_vmstat_pgmajfault{%(filteringSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + // Disk utilisation (seconds spent, 1 second rate). + record: 'instance_device:node_disk_io_time_seconds:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_disk_io_time_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + // Disk saturation (weighted seconds spent, 1 second rate). + record: 'instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + record: 'instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_receive_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + { + record: 'instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_transmit_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + // TODO: Find out if those drops ever happen on modern switched networks. + { + record: 'instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_receive_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + { + record: 'instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_transmit_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + ], + }, + ], + }, +} diff --git a/docs/node-observ-lib/targets.libsonnet b/docs/node-observ-lib/targets.libsonnet new file mode 100644 index 0000000000..34629934ac --- /dev/null +++ b/docs/node-observ-lib/targets.libsonnet @@ -0,0 +1,1097 @@ +local g = import './g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + uptimeQuery:: 'node_boot_time_seconds', + + reboot: + prometheusQuery.new( + prometheusDatasource, + self.uptimeQuery + '{%(queriesSelector)s}*1000 > $__from < $__to' % variables, + ), + + serviceFailed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="init.scope"} |= "code=exited, status=1/FAILURE"' % variables + ), + // those events should be rare, so can be shown as annotations + criticalEvents: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, transport="kernel", level="emerg"}' % variables + ), + memoryOOMkiller: + prometheusQuery.new( + prometheusDatasource, + 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, + ) + + prometheusQuery.withLegendFormat('OOM killer invocations'), + + kernelUpdate: + prometheusQuery.new( + prometheusDatasource, + expr=||| + changes( + sum by (%(instanceLabels)s) ( + group by (%(instanceLabels)s,release) (node_uname_info{%(queriesSelector)s}) + ) + [$__interval:1m] offset -$__interval) > 1 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + // new interactive session in logs: + sessionOpened: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"}|= "New session"' % variables + ), + sessionClosed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"} |= "logged out"' % variables + ), + + alertsCritical: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + alertsWarning: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + uptime: + prometheusQuery.new( + prometheusDatasource, + 'time() - ' + self.uptimeQuery + '{%(queriesSelector)s}' % variables + ), + cpuCount: + prometheusQuery.new( + prometheusDatasource, + 'count without (cpu) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"})' % variables + ) + + prometheusQuery.withLegendFormat('Cores'), + cpuUsage: + prometheusQuery.new( + prometheusDatasource, + ||| + (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s))) + - + avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(queriesSelector)s}[$__rate_interval])))) * 100) + / + count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s)) + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('CPU usage'), + cpuUsagePerCore: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + (1 - sum without (mode) (rate(node_cpu_seconds_total{%(queriesSelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) + / ignoring(cpu) group_left + count without (cpu, mode) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"}) + ) * 100 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('CPU {{cpu}}'), + cpuUsageByMode: + prometheusQuery.new( + prometheusDatasource, + ||| + sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval])) + / on(%(instanceLabels)s) + group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval]))) * 100 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('{{ mode }}'), + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemTotal_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory total'), + memoryFreeBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemFree_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory free'), + memoryAvailableBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemAvailable_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory available'), + memoryBuffersBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Cached_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory buffers'), + memoryCachedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Buffers_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory buffers'), + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_MemTotal_bytes{%(queriesSelector)s} + - + node_memory_MemFree_bytes{%(queriesSelector)s} + - + node_memory_Buffers_bytes{%(queriesSelector)s} + - + node_memory_Cached_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + 100 - + ( + avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(queriesSelector)s}) / + avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(queriesSelector)s}) + * 100 + ) + ||| + % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SwapTotal_bytes{%(queriesSelector)s}' % variables + ), + memoryPagesIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-In'), + memoryPagesOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-Out'), + + memoryPagesSwapIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped in'), + memoryPagesSwapOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped out'), + + memoryPageMajorFaults: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Major page fault operations'), + memoryPageMinorFaults: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_vmstat_pgfault{%(queriesSelector)s}[$__rate_interval]) + - + irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval]) + ||| % variables, + ) + + prometheusQuery.withLegendFormat('Minor page fault operations'), + + memoryInactiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive'), + memoryActiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active'), + + memoryInactiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_file'), + + memoryInactiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_anon'), + + memoryActiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_file'), + + memoryActiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_anon'), + + memoryCommitedAs: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Committed_AS_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Commited_AS'), + memoryCommitedLimit: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_CommitLimit_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('CommitLimit'), + + memoryMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Mapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Mapped'), + memoryShmemBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Shmem_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Shmem'), + memoryShmemHugePagesBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemHugePages'), + memoryShmemPmdMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemPmdMapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemPmdMapped'), + memoryWriteback: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Writeback_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Writeback'), + memoryWritebackTmp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_WritebackTmp_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('WritebackTmp'), + memoryDirty: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Dirty_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Dirty'), + + memoryVmallocChunk: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocChunk_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocChunk'), + memoryVmallocTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocTotal_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocTotal'), + memoryVmallocUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocUsed_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocUsed'), + memorySlabSUnreclaim: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SUnreclaim_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SUnreclaim'), + memorySlabSReclaimable: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SReclaimable_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SReclaimable'), + + memoryAnonHugePages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonHugePages'), + memoryAnonPages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonPages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonPages'), + + memoryHugePages_Free: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Free{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Free'), + memoryHugePages_Rsvd: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Rsvd{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Rsvd'), + memoryHugePages_Surp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Surp{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Surp'), + memoryHugePagesTotalSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Total{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge pages total size'), + memoryHugePagesSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Hugepagesize_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge page size'), + memoryDirectMap1G: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap1G_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap1G'), + memoryDirectMap2M: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap2M_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap2M'), + memoryDirectMap4k: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap4k_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap4k'), + memoryBounce: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Bounce_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Bounce'), + + diskTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ), + diskTotalRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(queriesSelector)s, mountpoint="/", fstype!="rootfs"}' % variables, + ), + diskUsageRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(queriesSelector)s, mountpoint="/",fstype!="rootfs"}' % variables + ), + diskUsageRootPercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}/node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}*100' % variables + ), + diskFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} free'), + diskUsagePercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}/node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}*100' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} used, %'), + + diskInodesFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files_free{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector }, + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes free'), + diskInodesTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes total'), + diskReadOnly: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_readonly{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} read-only'), + diskDeviceError: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_device_error{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} device error'), + // descriptors + processMaxFds: + prometheusQuery.new( + prometheusDatasource, + 'process_max_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum open file descriptors'), + processOpenFds: + prometheusQuery.new( + prometheusDatasource, + 'process_open_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Open file descriptors'), + + // disk(device) + diskIOreadBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} read'), + diskIOwriteBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} written'), + diskIOutilization: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} io util'), + diskAvgQueueSize: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_weighted_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} avg queue'), + + diskIOWaitWriteTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_write_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg write time'), + diskIOWaitReadTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_read_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg read time'), + diskIOReads: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} reads'), + diskIOWrites: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} writes'), + + unameInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_uname_info{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + osInfo: + prometheusQuery.new( + prometheusDatasource, + ||| + node_os_info{%(queriesSelector)s} + ||| % variables, + ) + + prometheusQuery.withFormat('table'), + osInfoCombined: + prometheusQuery.new( + prometheusDatasource, + ||| + node_uname_info{%(queriesSelector)s} + * on (%(groupLabels)s,%(instanceLabels)s) + group_left(pretty_name) + node_os_info{%(queriesSelector)s} + ||| % variables { + instanceLabels: std.join(',', this.config.instanceLabels), + groupLabels: std.join(',', this.config.groupLabels), + }, + ) + + prometheusQuery.withFormat('table'), + + osTimezone: //timezone label + prometheusQuery.new( + prometheusDatasource, + 'node_time_zone_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + + systemLoad1: + prometheusQuery.new( + prometheusDatasource, + 'node_load1{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('1m'), + systemLoad5: + prometheusQuery.new( + prometheusDatasource, + 'node_load5{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('5m'), + systemLoad15: + prometheusQuery.new( + prometheusDatasource, + 'node_load15{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('15m'), + + systemContextSwitches: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_context_switches_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Context switches'), + + systemInterrupts: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_intr_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Interrupts'), + + timeNtpStatus: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_sync_status{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('NTP status'), + + timeOffset: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Time offset'), + + timeEstimatedError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_estimated_error_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Estimated error in seconds'), + timeMaxError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_maxerror_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum error in seconds'), + + networkUp: + prometheusQuery.new( + prometheusDatasource, + 'node_network_up{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkCarrier: + prometheusQuery.new( + prometheusDatasource, + 'node_network_carrier{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkArpEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_network_arp{%(queriesSelector)s}' % variables, + ), + networkMtuBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_network_mtu_bytes{%(queriesSelector)s}' % variables, + ), + networkSpeedBitsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'node_network_speed_bytes{%(queriesSelector)s} * 8' % variables, + ), + networkTransmitQueueLength: + prometheusQuery.new( + prometheusDatasource, + 'node_network_transmit_queue_length{%(queriesSelector)s}' % variables, + ), + networkInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_network_info{%(queriesSelector)s}' % variables, + ), + + networkOutBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkInBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors transmitted'), + networkInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors received'), + networkOutDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted dropped'), + networkInDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received dropped'), + + networkInPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkInMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkFifoInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkFifoOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkCompressedInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkCompressedOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkNFConntrackEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack entries'), + networkNFConntrackLimits: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries_limit{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack limits'), + + networkSoftnetProcessedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_processed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} processed'), + networkSoftnetDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_dropped_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} dropped'), + networkSoftnetSqueezedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_times_squeezed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} out of quota'), + + networkSocketsUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_sockets_used{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 sockets in use'), + networkSocketsTCPAllocated: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_alloc{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Allocated'), + networkSocketsTCPIPv6: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 in use'), + networkSocketsTCPIPv4: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 in use'), + networkSocketsTCPOrphans: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_orphan{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Orphan sockets'), + networkSocketsTCPTimeWait: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_tw{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Time wait'), + + networkSocketsUDPLiteInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDPLITE in use'), + networkSocketsUDPInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDP in use'), + networkSocketsUDPLiteIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDPLITE in use'), + networkSocketsUDPIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDP in use'), + + networkSocketsFragInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Frag sockets in use'), + networkSocketsFragIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Frag sockets in use'), + networkSocketsRawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Raw sockets in use'), + networkSocketsIPv6RawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Raw sockets in use'), + + networkSocketsTCPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for TCP sockets'), + networkSocketsUDPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for UDP sockets'), + + networkSocketsTCPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for TCP sockets'), + networkSocketsUDPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for UDP sockets'), + + networkNetstatIPInOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_InOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets received'), + networkNetstatIPOutOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_OutOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets transmitted'), + + networkNetstatTCPInSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received'), + networkNetstatTCPOutSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP transmitted'), + + networkNetstatTCPOverflowPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenOverflows{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP overflow'), + + networkNetstatTCPListenDropsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenDrops{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP ListenDrops - SYNs to LISTEN sockets ignored'), + + networkNetstatTCPRetransPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_TCPSynRetrans{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP SYN rentransmits'), + + networkNetstatTCPRetransSegPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_RetransSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP retransmitted segments, containing one or more previously transmitted octets'), + networkNetstatTCPInWithErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InErrs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received with errors'), + + networkNetstatTCPOutWithRstPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutRsts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP segments sent with RST flag'), + + networkNetstatIPInUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP received'), + + networkNetstatIPOutUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmitted'), + + //UDP errors + networkNetstatUDPLiteInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_UdpLite_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDPLite InErrors'), + + networkNetstatUDPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP InErrors'), + networkNetstatUDP6InErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 InErrors'), + networkNetstatUDPNoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP NoPorts'), + networkNetstatUDP6NoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 NoPorts'), + networkNetstatUDPRcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP receive buffer errors'), + networkNetstatUDP6RcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 receive buffer errors'), + networkNetstatUDPSndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmit buffer errors'), + networkNetstatUDP6SndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmit buffer errors'), + + //ICMP + networkNetstatICMPInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP received'), + networkNetstatICMPOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP transmitted'), + networkNetstatICMP6InPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 received'), + networkNetstatICMP6OutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 transmitted'), + + networkNetstatICMPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + networkNetstatICM6PInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + }, +} diff --git a/docs/node-observ-lib/variables.libsonnet b/docs/node-observ-lib/variables.libsonnet new file mode 100644 index 0000000000..c9b2cb3ad4 --- /dev/null +++ b/docs/node-observ-lib/variables.libsonnet @@ -0,0 +1,71 @@ +// variables.libsonnet +local g = import './g.libsonnet'; +local var = g.dashboard.variable; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; + +{ + new( + this + ): { + local filteringSelector = this.config.filteringSelector, + local groupLabels = this.config.groupLabels, + local instanceLabels = this.config.instanceLabels, + local root = self, + local varMetric = 'node_uname_info', + local variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=true) = + local chainVarProto(index, chainVar) = + var.query.new(chainVar.label) + + var.query.withDatasourceFromVariable(root.datasources.prometheus) + + var.query.queryTypes.withLabelValues( + chainVar.label, + '%s{%s}' % [varMetric, chainVar.chainSelector], + ) + + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) + + var.query.selectionOptions.withIncludeAll( + value=if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, + customAllValue='.+' + ) + + var.query.selectionOptions.withMulti( + if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, + ) + + var.query.refresh.onTime() + + var.query.withSort( + i=1, + type='alphabetical', + asc=true, + caseInsensitive=false + ); + std.mapWithIndex(chainVarProto, utils.chainLabels(groupLabels + instanceLabels, [filteringSelector])), + datasources: { + prometheus: + var.datasource.new('datasource', 'prometheus') + + var.datasource.generalOptions.withLabel('Data source') + + var.datasource.withRegex(''), + loki: + var.datasource.new('loki_datasource', 'loki') + + var.datasource.generalOptions.withLabel('Loki data source') + + var.datasource.withRegex('') + + var.datasource.generalOptions.showOnDashboard.withNothing(), + }, + // Use on dashboards where multiple entities can be selected, like fleet dashboards + multiInstance: + [root.datasources.prometheus] + + variablesFromLabels(groupLabels, instanceLabels, filteringSelector), + // Use on dashboards where only single entity can be selected + singleInstance: + [root.datasources.prometheus] + + variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=false), + + queriesSelector: + '%s,%s' % [ + filteringSelector, + utils.labelsToPromQLSelector(groupLabels + instanceLabels), + ], + } + + if this.config.enableLokiLogs then self.withLokiLogs(this) else {}, + withLokiLogs(this): { + multiInstance+: [this.grafana.variables.datasources.loki], + singleInstance+: [this.grafana.variables.datasources.loki], + }, +} diff --git a/docs/node-observ-lib/vendor/common-lib b/docs/node-observ-lib/vendor/common-lib new file mode 120000 index 0000000000..5d4320e59f --- /dev/null +++ b/docs/node-observ-lib/vendor/common-lib @@ -0,0 +1 @@ +github.com/grafana/jsonnet-libs/common-lib \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/doc-util b/docs/node-observ-lib/vendor/doc-util new file mode 120000 index 0000000000..dcfde67cf6 --- /dev/null +++ b/docs/node-observ-lib/vendor/doc-util @@ -0,0 +1 @@ +github.com/jsonnet-libs/docsonnet/doc-util \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet new file mode 100644 index 0000000000..621020b723 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet @@ -0,0 +1,9 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting', name: 'alerting' }, + contactPoint: import 'clean/alerting/contactPoint.libsonnet', + notificationPolicy: import 'clean/alerting/notificationPolicy.libsonnet', + muteTiming: import 'clean/alerting/muteTiming.libsonnet', + ruleGroup: import 'clean/alerting/ruleGroup.libsonnet', + messageTemplate: import 'clean/alerting/messageTemplate.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet new file mode 100644 index 0000000000..a984205e75 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet @@ -0,0 +1,19 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.contactPoint', name: 'contactPoint' }, + '#withDisableResolveMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDisableResolveMessage(value=true): { disableResolveMessage: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name is used as grouping key in the UI. Contact points with the\nsame name will be grouped in the UI.' } }, + withName(value): { name: value }, + '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withProvenance(value): { provenance: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['alertmanager', ' dingding', ' discord', ' email', ' googlechat', ' kafka', ' line', ' opsgenie', ' pagerduty', ' pushover', ' sensugo', ' slack', ' teams', ' telegram', ' threema', ' victorops', ' webhook', ' wecom'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID is the unique identifier of the contact point. The UID can be\nset by the user.' } }, + withUid(value): { uid: value }, +} ++ (import '../../custom/alerting/contactPoint.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet new file mode 100644 index 0000000000..92c0a424db --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet @@ -0,0 +1,8 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.messageTemplate', name: 'messageTemplate' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withTemplate': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTemplate(value): { template: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet new file mode 100644 index 0000000000..d59987d2fb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet @@ -0,0 +1,69 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.muteTiming', name: 'muteTiming' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimeIntervals(value): { time_intervals: (if std.isArray(value) + then value + else [value]) }, + '#withTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimeIntervalsMixin(value): { time_intervals+: (if std.isArray(value) + then value + else [value]) }, + interval+: + { + '#': { help: '', name: 'interval' }, + '#withDaysOfMonth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDaysOfMonth(value): { days_of_month: (if std.isArray(value) + then value + else [value]) }, + '#withDaysOfMonthMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDaysOfMonthMixin(value): { days_of_month+: (if std.isArray(value) + then value + else [value]) }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLocation(value): { location: value }, + '#withMonths': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMonths(value): { months: (if std.isArray(value) + then value + else [value]) }, + '#withMonthsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMonthsMixin(value): { months+: (if std.isArray(value) + then value + else [value]) }, + '#withTimes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimes(value): { times: (if std.isArray(value) + then value + else [value]) }, + '#withTimesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimesMixin(value): { times+: (if std.isArray(value) + then value + else [value]) }, + times+: + { + '#': { help: '', name: 'times' }, + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFrom(value): { from: value }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTo(value): { to: value }, + }, + '#withWeekdays': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withWeekdays(value): { weekdays: (if std.isArray(value) + then value + else [value]) }, + '#withWeekdaysMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withWeekdaysMixin(value): { weekdays+: (if std.isArray(value) + then value + else [value]) }, + '#withYears': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withYears(value): { years: (if std.isArray(value) + then value + else [value]) }, + '#withYearsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withYearsMixin(value): { years+: (if std.isArray(value) + then value + else [value]) }, + }, +} ++ (import '../../custom/alerting/muteTiming.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet new file mode 100644 index 0000000000..f2c8c79dc7 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet @@ -0,0 +1,57 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.notificationPolicy', name: 'notificationPolicy' }, + '#withContinue': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withContinue(value=true): { continue: value }, + '#withGroupInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroupInterval(value): { group_interval: value }, + '#withGroupWait': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroupWait(value): { group_wait: value }, + '#withRepeatInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRepeatInterval(value): { repeat_interval: value }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupBy(value): { group_by: (if std.isArray(value) + then value + else [value]) }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupByMixin(value): { group_by+: (if std.isArray(value) + then value + else [value]) }, + '#withMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withMatchers(value): { matchers: (if std.isArray(value) + then value + else [value]) }, + '#withMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withMatchersMixin(value): { matchers+: (if std.isArray(value) + then value + else [value]) }, + '#withMuteTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMuteTimeIntervals(value): { mute_time_intervals: (if std.isArray(value) + then value + else [value]) }, + '#withMuteTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMuteTimeIntervalsMixin(value): { mute_time_intervals+: (if std.isArray(value) + then value + else [value]) }, + '#withReceiver': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withReceiver(value): { receiver: value }, + '#withRoutes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRoutes(value): { routes: (if std.isArray(value) + then value + else [value]) }, + '#withRoutesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRoutesMixin(value): { routes+: (if std.isArray(value) + then value + else [value]) }, + matcher+: + { + '#': { help: '', name: 'matcher' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { Name: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, + withType(value): { Type: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValue(value): { Value: value }, + }, +} ++ (import '../../custom/alerting/notificationPolicy.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet new file mode 100644 index 0000000000..2f31e7b0e1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet @@ -0,0 +1,75 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.ruleGroup', name: 'ruleGroup' }, + '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFolderUid(value): { folderUid: value }, + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withInterval(value): { interval: value }, + '#withRules': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRules(value): { rules: (if std.isArray(value) + then value + else [value]) }, + '#withRulesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRulesMixin(value): { rules+: (if std.isArray(value) + then value + else [value]) }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + rule+: + { + '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAnnotations(value): { annotations: value }, + '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAnnotationsMixin(value): { annotations+: value }, + '#withCondition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withCondition(value): { condition: value }, + '#withData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withData(value): { data: (if std.isArray(value) + then value + else [value]) }, + '#withDataMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDataMixin(value): { data+: (if std.isArray(value) + then value + else [value]) }, + '#withExecErrState': { 'function': { args: [{ default: null, enums: ['OK', 'Alerting', 'Error'], name: 'value', type: 'string' }], help: '' } }, + withExecErrState(value): { execErrState: value }, + '#withFor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withFor(value): { 'for': value }, + '#withIsPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsPaused(value=true): { isPaused: value }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabels(value): { labels: value }, + '#withLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelsMixin(value): { labels+: value }, + '#withNoDataState': { 'function': { args: [{ default: null, enums: ['Alerting', 'NoData', 'OK'], name: 'value', type: 'string' }], help: '' } }, + withNoDataState(value): { noDataState: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + data+: + { + '#': { help: '', name: 'data' }, + '#withDatasourceUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation." } }, + withDatasourceUid(value): { datasourceUid: value }, + '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, + withModel(value): { model: value }, + '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, + withModelMixin(value): { model+: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'RefID is the unique identifier of the query, set by the frontend call.' } }, + withRefId(value): { refId: value }, + '#withRelativeTimeRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, + withRelativeTimeRange(value): { relativeTimeRange: value }, + '#withRelativeTimeRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, + withRelativeTimeRangeMixin(value): { relativeTimeRange+: value }, + relativeTimeRange+: + { + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withFrom(value): { relativeTimeRange+: { from: value } }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withTo(value): { relativeTimeRange+: { to: value } }, + }, + }, + }, +} ++ (import '../../custom/alerting/ruleGroup.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet new file mode 100644 index 0000000000..4ab41af824 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet @@ -0,0 +1,268 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.dashboard', name: 'dashboard' }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description of dashboard.' } }, + withDescription(value): { description: value }, + '#withEditable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether a dashboard is editable or not.' } }, + withEditable(value=true): { editable: value }, + '#withFiscalYearStartMonth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'The month that the fiscal year starts on. 0 = January, 11 = December' } }, + withFiscalYearStartMonth(value=0): { fiscalYearStartMonth: value }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withLinks(value): { links: (if std.isArray(value) + then value + else [value]) }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withLinksMixin(value): { links+: (if std.isArray(value) + then value + else [value]) }, + '#withLiveNow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When set to true, the dashboard will redraw panels at an interval matching the pixel width.\nThis will keep data "moving left" regardless of the query refresh rate. This setting helps\navoid dashboards presenting stale live data' } }, + withLiveNow(value=true): { liveNow: value }, + '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanels(value): { panels: (if std.isArray(value) + then value + else [value]) }, + '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanelsMixin(value): { panels+: (if std.isArray(value) + then value + else [value]) }, + '#withRefresh': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, + withRefresh(value): { refresh: value }, + '#withRefreshMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, + withRefreshMixin(value): { refresh+: value }, + '#withSchemaVersion': { 'function': { args: [{ default: 36, enums: null, name: 'value', type: 'integer' }], help: "Version of the JSON schema, incremented each time a Grafana update brings\nchanges to said schema.\nTODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion" } }, + withSchemaVersion(value=36): { schemaVersion: value }, + '#withStyle': { 'function': { args: [{ default: 'dark', enums: ['dark', 'light'], name: 'value', type: 'string' }], help: 'Theme of dashboard.' } }, + withStyle(value='dark'): { style: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTemplating': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTemplating(value): { templating: value }, + '#withTemplatingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTemplatingMixin(value): { templating+: value }, + '#withTimezone': { 'function': { args: [{ default: 'browser', enums: null, name: 'value', type: 'string' }], help: 'Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".' } }, + withTimezone(value='browser'): { timezone: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title of dashboard.' } }, + withTitle(value): { title: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique dashboard identifier that can be generated by anyone. string (8-40)' } }, + withUid(value): { uid: value }, + '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withWeekStart(value): { weekStart: value }, + time+: + { + '#withFrom': { 'function': { args: [{ default: 'now-6h', enums: null, name: 'value', type: 'string' }], help: '' } }, + withFrom(value='now-6h'): { time+: { from: value } }, + '#withTo': { 'function': { args: [{ default: 'now', enums: null, name: 'value', type: 'string' }], help: '' } }, + withTo(value='now'): { time+: { to: value } }, + }, + timepicker+: + { + '#withCollapse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is collapsed or not.' } }, + withCollapse(value=true): { timepicker+: { collapse: value } }, + '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is enabled or not.' } }, + withEnable(value=true): { timepicker+: { enable: value } }, + '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is visible or not.' } }, + withHidden(value=true): { timepicker+: { hidden: value } }, + '#withRefreshIntervals': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, + withRefreshIntervals(value): { timepicker+: { refresh_intervals: (if std.isArray(value) + then value + else [value]) } }, + '#withRefreshIntervalsMixin': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, + withRefreshIntervalsMixin(value): { timepicker+: { refresh_intervals+: (if std.isArray(value) + then value + else [value]) } }, + '#withTimeOptions': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeOptions(value): { timepicker+: { time_options: (if std.isArray(value) + then value + else [value]) } }, + '#withTimeOptionsMixin': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeOptionsMixin(value): { timepicker+: { time_options+: (if std.isArray(value) + then value + else [value]) } }, + }, + link+: + { + dashboards+: + { + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { type: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + options+: + { + '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsDropdown(value=true): { asDropdown: value }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { keepTime: value }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { includeVars: value }, + '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTargetBlank(value=true): { targetBlank: value }, + }, + }, + link+: + { + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { type: value }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUrl(value): { url: value }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTooltip(value): { tooltip: value }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { icon: value }, + options+: + { + '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsDropdown(value=true): { asDropdown: value }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { keepTime: value }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { includeVars: value }, + '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTargetBlank(value=true): { targetBlank: value }, + }, + }, + }, + annotation+: + { + '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withList(value): { annotations+: { list: (if std.isArray(value) + then value + else [value]) } }, + '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withListMixin(value): { annotations+: { list+: (if std.isArray(value) + then value + else [value]) } }, + list+: + { + '#': { help: '', name: 'list' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When enabled the annotation query is issued with every dashboard refresh' } }, + withEnable(value=true): { enable: value }, + '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilter(value): { filter: value }, + '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilterMixin(value): { filter+: value }, + filter+: + { + '#withExclude': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Should the specified panels be included or excluded' } }, + withExclude(value=true): { filter+: { exclude: value } }, + '#withIds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, + withIds(value): { filter+: { ids: (if std.isArray(value) + then value + else [value]) } }, + '#withIdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, + withIdsMixin(value): { filter+: { ids+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Annotation queries can be toggled on or off at the top of the dashboard.\nWhen hide is true, the toggle is not shown in the dashboard.' } }, + withHide(value=true): { hide: value }, + '#withIconColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Color to use for the annotation event markers' } }, + withIconColor(value): { iconColor: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of annotation.' } }, + withName(value): { name: value }, + '#withTarget': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, + withTarget(value): { target: value }, + '#withTargetMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, + withTargetMixin(value): { target+: value }, + target+: + { + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withLimit(value): { target+: { limit: value } }, + '#withMatchAny': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withMatchAny(value=true): { target+: { matchAny: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withTags(value): { target+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withTagsMixin(value): { target+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withType(value): { target+: { type: value } }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO -- this should not exist here, it is based on the --grafana-- datasource' } }, + withType(value): { type: value }, + }, + }, + variable+: + { + '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withList(value): { templating+: { list: (if std.isArray(value) + then value + else [value]) } }, + '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withListMixin(value): { templating+: { list+: (if std.isArray(value) + then value + else [value]) } }, + list+: + { + '#': { help: '', name: 'list' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The plugin type-id' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specific datasource instance' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDescription(value): { description: value }, + '#withError': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withError(value): { 'error': value }, + '#withErrorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withErrorMixin(value): { 'error'+: value }, + '#withGlobal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withGlobal(value=true): { global: value }, + '#withHide': { 'function': { args: [{ default: null, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '' } }, + withHide(value): { hide: value }, + '#withId': { 'function': { args: [{ default: '00000000-0000-0000-0000-000000000000', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value='00000000-0000-0000-0000-000000000000'): { id: value }, + '#withIndex': { 'function': { args: [{ default: -1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value=-1): { index: value }, + '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLabel(value): { label: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, + withQuery(value): { query: value }, + '#withQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, + withQueryMixin(value): { query+: value }, + '#withRootStateKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRootStateKey(value): { rootStateKey: value }, + '#withSkipUrlSync': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSkipUrlSync(value=true): { skipUrlSync: value }, + '#withState': { 'function': { args: [{ default: null, enums: ['NotStarted', 'Loading', 'Streaming', 'Done', 'Error'], name: 'value', type: 'string' }], help: '' } }, + withState(value): { state: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['query', 'adhoc', 'constant', 'datasource', 'interval', 'textbox', 'custom', 'system'], name: 'value', type: 'string' }], help: 'FROM: packages/grafana-data/src/types/templateVars.ts\nTODO docs\nTODO this implies some wider pattern/discriminated union, probably?' } }, + withType(value): { type: value }, + }, + }, +} ++ (import '../custom/dashboard.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet new file mode 100644 index 0000000000..0c7b7c95c1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet @@ -0,0 +1,354 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel', name: 'panel' }, + panelOptions+: + { + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel title.' } }, + withTitle(value): { title: value }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description.' } }, + withDescription(value): { description: value }, + '#withTransparent': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether to display the panel without a background.' } }, + withTransparent(value=true): { transparent: value }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, + withLinks(value): { links: (if std.isArray(value) + then value + else [value]) }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, + withLinksMixin(value): { links+: (if std.isArray(value) + then value + else [value]) }, + '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, + withRepeat(value): { repeat: value }, + '#withRepeatDirection': { 'function': { args: [{ default: 'h', enums: ['h', 'v'], name: 'value', type: 'string' }], help: "Direction to repeat in if 'repeat' is set.\n\"h\" for horizontal, \"v\" for vertical.\nTODO this is probably optional" } }, + withRepeatDirection(value='h'): { repeatDirection: value }, + '#withPluginVersion': { 'function': { args: [], help: '' } }, + withPluginVersion(): { pluginVersion: 'v10.0.0' }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel plugin type id. May not be empty.' } }, + withType(value): { type: value }, + link+: + { + '#': { help: '', name: 'link' }, + '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsDropdown(value=true): { asDropdown: value }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { icon: value }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { includeVars: value }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { keepTime: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTargetBlank(value=true): { targetBlank: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTooltip(value): { tooltip: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { type: value }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUrl(value): { url: value }, + }, + }, + queryOptions+: + { + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, + withDatasourceMixin(value): { datasource+: value }, + '#withMaxDataPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs' } }, + withMaxDataPoints(value): { maxDataPoints: value }, + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withInterval(value): { interval: value }, + '#withTimeFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withTimeFrom(value): { timeFrom: value }, + '#withTimeShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withTimeShift(value): { timeShift: value }, + '#withTargets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTargets(value): { targets: (if std.isArray(value) + then value + else [value]) }, + '#withTargetsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTargetsMixin(value): { targets+: (if std.isArray(value) + then value + else [value]) }, + '#withTransformations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTransformations(value): { transformations: (if std.isArray(value) + then value + else [value]) }, + '#withTransformationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTransformationsMixin(value): { transformations+: (if std.isArray(value) + then value + else [value]) }, + transformation+: + { + '#': { help: '', name: 'transformation' }, + '#withDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Disabled transformations are skipped' } }, + withDisabled(value=true): { disabled: value }, + '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilter(value): { filter: value }, + '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilterMixin(value): { filter+: value }, + filter+: + { + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { filter+: { id: value } }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptions(value): { filter+: { options: value } }, + }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique identifier of transformer' } }, + withId(value): { id: value }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Options to be passed to the transformer\nValid options depend on the transformer id' } }, + withOptions(value): { options: value }, + }, + }, + standardOptions+: + { + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Numeric Options' } }, + withUnit(value): { fieldConfig+: { defaults+: { unit: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { fieldConfig+: { defaults+: { min: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { fieldConfig+: { defaults+: { max: value } } }, + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Significant digits (for display)' } }, + withDecimals(value): { fieldConfig+: { defaults+: { decimals: value } } }, + '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The display value for this field. This supports template variables blank is auto' } }, + withDisplayName(value): { fieldConfig+: { defaults+: { displayName: value } } }, + color+: + { + '#withFixedColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Stores the fixed color value if mode is fixed' } }, + withFixedColor(value): { fieldConfig+: { defaults+: { color+: { fixedColor: value } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The main color scheme mode' } }, + withMode(value): { fieldConfig+: { defaults+: { color+: { mode: value } } } }, + '#withSeriesBy': { 'function': { args: [{ default: null, enums: ['min', 'max', 'last'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSeriesBy(value): { fieldConfig+: { defaults+: { color+: { seriesBy: value } } } }, + }, + '#withNoValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alternative to empty string' } }, + withNoValue(value): { fieldConfig+: { defaults+: { noValue: value } } }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, + withLinks(value): { fieldConfig+: { defaults+: { links: (if std.isArray(value) + then value + else [value]) } } }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, + withLinksMixin(value): { fieldConfig+: { defaults+: { links+: (if std.isArray(value) + then value + else [value]) } } }, + '#withMappings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, + withMappings(value): { fieldConfig+: { defaults+: { mappings: (if std.isArray(value) + then value + else [value]) } } }, + '#withMappingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, + withMappingsMixin(value): { fieldConfig+: { defaults+: { mappings+: (if std.isArray(value) + then value + else [value]) } } }, + '#withOverrides': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withOverrides(value): { fieldConfig+: { overrides: (if std.isArray(value) + then value + else [value]) } }, + '#withOverridesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withOverridesMixin(value): { fieldConfig+: { overrides+: (if std.isArray(value) + then value + else [value]) } }, + '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source field supports ad-hoc filters' } }, + withFilterable(value=true): { fieldConfig+: { defaults+: { filterable: value } } }, + '#withPath': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An explicit path to the field in the datasource. When the frame meta includes a path,\nThis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used to update the results' } }, + withPath(value): { fieldConfig+: { defaults+: { path: value } } }, + thresholds+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['absolute', 'percentage'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { fieldConfig+: { defaults+: { thresholds+: { mode: value } } } }, + '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, + withSteps(value): { fieldConfig+: { defaults+: { thresholds+: { steps: (if std.isArray(value) + then value + else [value]) } } } }, + '#withStepsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, + withStepsMixin(value): { fieldConfig+: { defaults+: { thresholds+: { steps+: (if std.isArray(value) + then value + else [value]) } } } }, + }, + mapping+: + { + '#': { help: '', name: 'mapping' }, + ValueMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + RangeMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'to and from are `number | null` in current ts, really not sure what to do' } }, + withFrom(value): { options+: { from: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withTo(value): { options+: { to: value } }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + RegexMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPattern(value): { options+: { pattern: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + SpecialValueMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withMatch': { 'function': { args: [{ default: null, enums: ['true', 'false'], name: 'value', type: 'string' }], help: '' } }, + withMatch(value): { options+: { match: value } }, + '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPattern(value): { options+: { pattern: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + }, + threshold+: + { + step+: + { + '#': { help: '', name: 'step' }, + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withColor(value): { color: value }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Threshold index, an old property that is not needed an should only appear in older dashboards' } }, + withIndex(value): { index: value }, + '#withState': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO are the values here enumerable into a disjunction?\nSome seem to be listed in typescript comment' } }, + withState(value): { state: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs\nFIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON' } }, + withValue(value): { value: value }, + }, + }, + override+: + { + '#': { help: '', name: 'override' }, + '#withMatcher': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMatcher(value): { matcher: value }, + '#withMatcherMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMatcherMixin(value): { matcher+: value }, + matcher+: + { + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { matcher+: { id: value } }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptions(value): { matcher+: { options: value } }, + }, + '#withProperties': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withProperties(value): { properties: (if std.isArray(value) + then value + else [value]) }, + '#withPropertiesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPropertiesMixin(value): { properties+: (if std.isArray(value) + then value + else [value]) }, + properties+: + { + '#': { help: '', name: 'properties' }, + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { id: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValue(value): { value: value }, + }, + }, + }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { datasource+: { uid: value } }, + }, + libraryPanel+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { libraryPanel+: { name: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { libraryPanel+: { uid: value } }, + }, + gridPos+: + { + '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withH(value=9): { gridPos+: { h: value } }, + '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, + withStatic(value=true): { gridPos+: { static: value } }, + '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withW(value=12): { gridPos+: { w: value } }, + '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, + withX(value=0): { gridPos+: { x: value } }, + '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, + withY(value=0): { gridPos+: { y: value } }, + }, +} ++ (import '../custom/panel.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet new file mode 100644 index 0000000000..09fe4624e1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet @@ -0,0 +1,20 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.alertGroups', name: 'alertGroups' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'alertGroups' }, + }, + options+: + { + '#withAlertmanager': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the alertmanager used as a source for alerts' } }, + withAlertmanager(value): { options+: { alertmanager: value } }, + '#withExpandAll': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Expand all alert groups by default' } }, + withExpandAll(value=true): { options+: { expandAll: value } }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comma-separated list of values used to filter alert results' } }, + withLabels(value): { options+: { labels: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet new file mode 100644 index 0000000000..d719bd4a36 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet @@ -0,0 +1,125 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.alertList', name: 'alertList' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'alertlist' }, + }, + options+: + { + '#withAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAlertListOptions(value): { options+: { AlertListOptions: value } }, + '#withAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAlertListOptionsMixin(value): { options+: { AlertListOptions+: value } }, + AlertListOptions+: + { + '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertName(value): { options+: { alertName: value } }, + '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, + '#withDashboardTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDashboardTitle(value): { options+: { dashboardTitle: value } }, + '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFolderId(value): { options+: { folderId: value } }, + '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMaxItems(value): { options+: { maxItems: value } }, + '#withShowOptions': { 'function': { args: [{ default: null, enums: ['current', 'changes'], name: 'value', type: 'string' }], help: '' } }, + withShowOptions(value): { options+: { showOptions: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilter(value): { options+: { stateFilter: value } }, + '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilterMixin(value): { options+: { stateFilter+: value } }, + stateFilter+: + { + '#withAlerting': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAlerting(value=true): { options+: { stateFilter+: { alerting: value } } }, + '#withExecutionError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withExecutionError(value=true): { options+: { stateFilter+: { execution_error: value } } }, + '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNoData(value=true): { options+: { stateFilter+: { no_data: value } } }, + '#withOk': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOk(value=true): { options+: { stateFilter+: { ok: value } } }, + '#withPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPaused(value=true): { options+: { stateFilter+: { paused: value } } }, + '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPending(value=true): { options+: { stateFilter+: { pending: value } } }, + }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withUnifiedAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnifiedAlertListOptions(value): { options+: { UnifiedAlertListOptions: value } }, + '#withUnifiedAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnifiedAlertListOptionsMixin(value): { options+: { UnifiedAlertListOptions+: value } }, + UnifiedAlertListOptions+: + { + '#withAlertInstanceLabelFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertInstanceLabelFilter(value): { options+: { alertInstanceLabelFilter: value } }, + '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertName(value): { options+: { alertName: value } }, + '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDatasource(value): { options+: { datasource: value } }, + '#withFolder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFolder(value): { options+: { folder: value } }, + '#withFolderMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFolderMixin(value): { options+: { folder+: value } }, + folder+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withId(value): { options+: { folder+: { id: value } } }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { options+: { folder+: { title: value } } }, + }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupBy(value): { options+: { groupBy: (if std.isArray(value) + then value + else [value]) } }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupByMixin(value): { options+: { groupBy+: (if std.isArray(value) + then value + else [value]) } }, + '#withGroupMode': { 'function': { args: [{ default: null, enums: ['default', 'custom'], name: 'value', type: 'string' }], help: '' } }, + withGroupMode(value): { options+: { groupMode: value } }, + '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMaxItems(value): { options+: { maxItems: value } }, + '#withShowInstances': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowInstances(value=true): { options+: { showInstances: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilter(value): { options+: { stateFilter: value } }, + '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilterMixin(value): { options+: { stateFilter+: value } }, + stateFilter+: + { + '#withError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withError(value=true): { options+: { stateFilter+: { 'error': value } } }, + '#withFiring': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withFiring(value=true): { options+: { stateFilter+: { firing: value } } }, + '#withInactive': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withInactive(value=true): { options+: { stateFilter+: { inactive: value } } }, + '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNoData(value=true): { options+: { stateFilter+: { noData: value } } }, + '#withNormal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNormal(value=true): { options+: { stateFilter+: { normal: value } } }, + '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPending(value=true): { options+: { stateFilter+: { pending: value } } }, + }, + '#withViewMode': { 'function': { args: [{ default: null, enums: ['list', 'stat'], name: 'value', type: 'string' }], help: '' } }, + withViewMode(value): { options+: { viewMode: value } }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet new file mode 100644 index 0000000000..f434c32f0b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet @@ -0,0 +1,40 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.annotationsList', name: 'annotationsList' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'annolist' }, + }, + options+: + { + '#withLimit': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLimit(value=10): { options+: { limit: value } }, + '#withNavigateAfter': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, + withNavigateAfter(value='10m'): { options+: { navigateAfter: value } }, + '#withNavigateBefore': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, + withNavigateBefore(value='10m'): { options+: { navigateBefore: value } }, + '#withNavigateToPanel': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNavigateToPanel(value=true): { options+: { navigateToPanel: value } }, + '#withOnlyFromThisDashboard': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOnlyFromThisDashboard(value=true): { options+: { onlyFromThisDashboard: value } }, + '#withOnlyInTimeRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOnlyInTimeRange(value=true): { options+: { onlyInTimeRange: value } }, + '#withShowTags': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTags(value=true): { options+: { showTags: value } }, + '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTime(value=true): { options+: { showTime: value } }, + '#withShowUser': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowUser(value=true): { options+: { showUser: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet new file mode 100644 index 0000000000..ceef0efe2b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet @@ -0,0 +1,157 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.barChart', name: 'barChart' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'barchart' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, + withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + }, + }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withBarRadius': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Controls the radius of each bar.' } }, + withBarRadius(value=0): { options+: { barRadius: value } }, + '#withBarWidth': { 'function': { args: [{ default: 0.96999999999999997, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of bars. 1 = Max width, 0 = Min width.' } }, + withBarWidth(value=0.96999999999999997): { options+: { barWidth: value } }, + '#withColorByField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use the color value for a sibling field to color each bar value.' } }, + withColorByField(value): { options+: { colorByField: value } }, + '#withFullHighlight': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enables mode which highlights the entire bar area and shows tooltip when cursor\nhovers over highlighted area' } }, + withFullHighlight(value=true): { options+: { fullHighlight: value } }, + '#withGroupWidth': { 'function': { args: [{ default: 0.69999999999999996, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of groups. 1 = max with, 0 = min width.' } }, + withGroupWidth(value=0.69999999999999996): { options+: { groupWidth: value } }, + '#withOrientation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the orientation of the bar chart, either vertical or horizontal.' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This controls whether values are shown on top or to the left of bars.' } }, + withShowValue(value): { options+: { showValue: value } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls whether bars are stacked or not, either normally or in percent mode.' } }, + withStacking(value): { options+: { stacking: value } }, + '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Manually select which field from the dataset to represent the x field.' } }, + withXField(value): { options+: { xField: value } }, + '#withXTickLabelMaxLength': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the max length that a label can have before it is truncated.' } }, + withXTickLabelMaxLength(value): { options+: { xTickLabelMaxLength: value } }, + '#withXTickLabelRotation': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the rotation of the x axis labels.' } }, + withXTickLabelRotation(value=0): { options+: { xTickLabelRotation: value } }, + '#withXTickLabelSpacing': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the spacing between x axis labels.\nnegative values indicate backwards skipping behavior' } }, + withXTickLabelSpacing(value=0): { options+: { xTickLabelSpacing: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet new file mode 100644 index 0000000000..1596a280c3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet @@ -0,0 +1,58 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.barGauge', name: 'barGauge' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'bargauge' }, + }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['basic', 'lcd', 'gradient'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes\nfor the bar gauge component of Grafana UI' } }, + withDisplayMode(value): { options+: { displayMode: value } }, + '#withMinVizHeight': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinVizHeight(value=10): { options+: { minVizHeight: value } }, + '#withMinVizWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinVizWidth(value=0): { options+: { minVizWidth: value } }, + '#withShowUnfilled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowUnfilled(value=true): { options+: { showUnfilled: value } }, + '#withValueMode': { 'function': { args: [{ default: null, enums: ['color', 'text', 'hidden'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, + withValueMode(value): { options+: { valueMode: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet new file mode 100644 index 0000000000..8d9e6ef1e1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet @@ -0,0 +1,11 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.candlestick', name: 'candlestick' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'candlestick' }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet new file mode 100644 index 0000000000..4814e32c2e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet @@ -0,0 +1,11 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.canvas', name: 'canvas' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'canvas' }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet new file mode 100644 index 0000000000..9c981c2973 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet @@ -0,0 +1,40 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.dashboardList', name: 'dashboardList' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'dashlist' }, + }, + options+: + { + '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFolderId(value): { options+: { folderId: value } }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { options+: { includeVars: value } }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { options+: { keepTime: value } }, + '#withMaxItems': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMaxItems(value=10): { options+: { maxItems: value } }, + '#withQuery': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withQuery(value=''): { options+: { query: value } }, + '#withShowHeadings': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowHeadings(value=true): { options+: { showHeadings: value } }, + '#withShowRecentlyViewed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowRecentlyViewed(value=true): { options+: { showRecentlyViewed: value } }, + '#withShowSearch': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowSearch(value=true): { options+: { showSearch: value } }, + '#withShowStarred': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowStarred(value=true): { options+: { showStarred: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet new file mode 100644 index 0000000000..e8d7558928 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet @@ -0,0 +1,16 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.datagrid', name: 'datagrid' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'datagrid' }, + }, + options+: + { + '#withSelectedSeries': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSelectedSeries(value=0): { options+: { selectedSeries: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet new file mode 100644 index 0000000000..da8c70ed10 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet @@ -0,0 +1,29 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.debug', name: 'debug' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'debug' }, + }, + options+: + { + '#withCounters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCounters(value): { options+: { counters: value } }, + '#withCountersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCountersMixin(value): { options+: { counters+: value } }, + counters+: + { + '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDataChanged(value=true): { options+: { counters+: { dataChanged: value } } }, + '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withRender(value=true): { options+: { counters+: { render: value } } }, + '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSchemaChanged(value=true): { options+: { counters+: { schemaChanged: value } } }, + }, + '#withMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { mode: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet new file mode 100644 index 0000000000..a45c39cbfc --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet @@ -0,0 +1,52 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.gauge', name: 'gauge' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'gauge' }, + }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withShowThresholdLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowThresholdLabels(value=true): { options+: { showThresholdLabels: value } }, + '#withShowThresholdMarkers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowThresholdMarkers(value=true): { options+: { showThresholdMarkers: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet new file mode 100644 index 0000000000..70c8eb7e74 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet @@ -0,0 +1,156 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.geomap', name: 'geomap' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'geomap' }, + }, + options+: + { + '#withBasemap': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withBasemap(value): { options+: { basemap: value } }, + '#withBasemapMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withBasemapMixin(value): { options+: { basemap+: value } }, + basemap+: + { + '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, + withConfig(value): { options+: { basemap+: { config: value } } }, + '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, + withFilterData(value): { options+: { basemap+: { filterData: value } } }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocation(value): { options+: { basemap+: { location: value } } }, + '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocationMixin(value): { options+: { basemap+: { location+: value } } }, + location+: + { + '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, + withGazetteer(value): { options+: { basemap+: { location+: { gazetteer: value } } } }, + '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, + withGeohash(value): { options+: { basemap+: { location+: { geohash: value } } } }, + '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLatitude(value): { options+: { basemap+: { location+: { latitude: value } } } }, + '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLongitude(value): { options+: { basemap+: { location+: { longitude: value } } } }, + '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLookup(value): { options+: { basemap+: { location+: { lookup: value } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { basemap+: { location+: { mode: value } } } }, + '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withWkt(value): { options+: { basemap+: { location+: { wkt: value } } } }, + }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, + withName(value): { options+: { basemap+: { name: value } } }, + '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, + withOpacity(value): { options+: { basemap+: { opacity: value } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, + withTooltip(value=true): { options+: { basemap+: { tooltip: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { options+: { basemap+: { type: value } } }, + }, + '#withControls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControls(value): { options+: { controls: value } }, + '#withControlsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControlsMixin(value): { options+: { controls+: value } }, + controls+: + { + '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, + withMouseWheelZoom(value=true): { options+: { controls+: { mouseWheelZoom: value } } }, + '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, + withShowAttribution(value=true): { options+: { controls+: { showAttribution: value } } }, + '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, + withShowDebug(value=true): { options+: { controls+: { showDebug: value } } }, + '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, + withShowMeasure(value=true): { options+: { controls+: { showMeasure: value } } }, + '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, + withShowScale(value=true): { options+: { controls+: { showScale: value } } }, + '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, + withShowZoom(value=true): { options+: { controls+: { showZoom: value } } }, + }, + '#withLayers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withLayers(value): { options+: { layers: (if std.isArray(value) + then value + else [value]) } }, + '#withLayersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withLayersMixin(value): { options+: { layers+: (if std.isArray(value) + then value + else [value]) } }, + layers+: + { + '#': { help: '', name: 'layers' }, + '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, + withConfig(value): { config: value }, + '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, + withFilterData(value): { filterData: value }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocation(value): { location: value }, + '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocationMixin(value): { location+: value }, + location+: + { + '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, + withGazetteer(value): { location+: { gazetteer: value } }, + '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, + withGeohash(value): { location+: { geohash: value } }, + '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLatitude(value): { location+: { latitude: value } }, + '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLongitude(value): { location+: { longitude: value } }, + '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLookup(value): { location+: { lookup: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { location+: { mode: value } }, + '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withWkt(value): { location+: { wkt: value } }, + }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, + withName(value): { name: value }, + '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, + withOpacity(value): { opacity: value }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, + withTooltip(value=true): { tooltip: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + }, + '#withView': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withView(value): { options+: { view: value } }, + '#withViewMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withViewMixin(value): { options+: { view+: value } }, + view+: + { + '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAllLayers(value=true): { options+: { view+: { allLayers: value } } }, + '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value='zero'): { options+: { view+: { id: value } } }, + '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLastOnly(value=true): { options+: { view+: { lastOnly: value } } }, + '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLat(value=0): { options+: { view+: { lat: value } } }, + '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLayer(value): { options+: { view+: { layer: value } } }, + '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLon(value=0): { options+: { view+: { lon: value } } }, + '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMaxZoom(value): { options+: { view+: { maxZoom: value } } }, + '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinZoom(value): { options+: { view+: { minZoom: value } } }, + '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withPadding(value): { options+: { view+: { padding: value } } }, + '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShared(value=true): { options+: { view+: { shared: value } } }, + '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withZoom(value=1): { options+: { view+: { zoom: value } } }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet new file mode 100644 index 0000000000..24b141c9d9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet @@ -0,0 +1,266 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.heatmap', name: 'heatmap' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'heatmap' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + }, + }, + }, + options+: + { + '#withCalculate': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the heatmap should be calculated from data' } }, + withCalculate(value=true): { options+: { calculate: value } }, + '#withCalculation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCalculation(value): { options+: { calculation: value } }, + '#withCalculationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCalculationMixin(value): { options+: { calculation+: value } }, + calculation+: + { + '#withXBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXBuckets(value): { options+: { calculation+: { xBuckets: value } } }, + '#withXBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXBucketsMixin(value): { options+: { calculation+: { xBuckets+: value } } }, + xBuckets+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { calculation+: { xBuckets+: { mode: value } } } }, + '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScale(value): { options+: { calculation+: { xBuckets+: { scale: value } } } }, + '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleMixin(value): { options+: { calculation+: { xBuckets+: { scale+: value } } } }, + scale+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { calculation+: { xBuckets+: { scale+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { calculation+: { xBuckets+: { scale+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { calculation+: { xBuckets+: { scale+: { type: value } } } } }, + }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, + withValue(value): { options+: { calculation+: { xBuckets+: { value: value } } } }, + }, + '#withYBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withYBuckets(value): { options+: { calculation+: { yBuckets: value } } }, + '#withYBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withYBucketsMixin(value): { options+: { calculation+: { yBuckets+: value } } }, + yBuckets+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { calculation+: { yBuckets+: { mode: value } } } }, + '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScale(value): { options+: { calculation+: { yBuckets+: { scale: value } } } }, + '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleMixin(value): { options+: { calculation+: { yBuckets+: { scale+: value } } } }, + scale+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { calculation+: { yBuckets+: { scale+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { calculation+: { yBuckets+: { scale+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { calculation+: { yBuckets+: { scale+: { type: value } } } } }, + }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, + withValue(value): { options+: { calculation+: { yBuckets+: { value: value } } } }, + }, + }, + '#withCellGap': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls gap between cells' } }, + withCellGap(value=1): { options+: { cellGap: value } }, + '#withCellRadius': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls cell radius' } }, + withCellRadius(value): { options+: { cellRadius: value } }, + '#withCellValues': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, + withCellValues(value={}): { options+: { cellValues: value } }, + '#withCellValuesMixin': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, + withCellValuesMixin(value): { options+: { cellValues+: value } }, + cellValues+: + { + '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValues(value): { options+: { cellValues+: { CellValues: value } } }, + '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValuesMixin(value): { options+: { cellValues+: { CellValues+: value } } }, + CellValues+: + { + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, + withDecimals(value): { options+: { cellValues+: { decimals: value } } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, + withUnit(value): { options+: { cellValues+: { unit: value } } }, + }, + }, + '#withColor': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, + withColor(value={ exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }): { options+: { color: value } }, + '#withColorMixin': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, + withColorMixin(value): { options+: { color+: value } }, + color+: + { + '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptions(value): { options+: { color+: { HeatmapColorOptions: value } } }, + '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptionsMixin(value): { options+: { color+: { HeatmapColorOptions+: value } } }, + HeatmapColorOptions+: + { + '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, + withExponent(value): { options+: { color+: { exponent: value } } }, + '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, + withFill(value): { options+: { color+: { fill: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, + withMax(value): { options+: { color+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, + withMin(value): { options+: { color+: { min: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, + withMode(value): { options+: { color+: { mode: value } } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, + withReverse(value=true): { options+: { color+: { reverse: value } } }, + '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, + withScale(value): { options+: { color+: { scale: value } } }, + '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, + withScheme(value): { options+: { color+: { scheme: value } } }, + '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, + withSteps(value): { options+: { color+: { steps: value } } }, + }, + }, + '#withExemplars': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplars(value): { options+: { exemplars: value } }, + '#withExemplarsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplarsMixin(value): { options+: { exemplars+: value } }, + exemplars+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, + withColor(value): { options+: { exemplars+: { color: value } } }, + }, + '#withFilterValues': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, + withFilterValues(value={ le: 1.0000000000000001e-09 }): { options+: { filterValues: value } }, + '#withFilterValuesMixin': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, + withFilterValuesMixin(value): { options+: { filterValues+: value } }, + filterValues+: + { + '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRange(value): { options+: { filterValues+: { FilterValueRange: value } } }, + '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRangeMixin(value): { options+: { filterValues+: { FilterValueRange+: value } } }, + FilterValueRange+: + { + '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, + withGe(value): { options+: { filterValues+: { ge: value } } }, + '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, + withLe(value): { options+: { filterValues+: { le: value } } }, + }, + }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, + withShow(value=true): { options+: { legend+: { show: value } } }, + }, + '#withRowsFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsFrame(value): { options+: { rowsFrame: value } }, + '#withRowsFrameMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsFrameMixin(value): { options+: { rowsFrame+: value } }, + rowsFrame+: + { + '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, + withLayout(value): { options+: { rowsFrame+: { layout: value } } }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, + withValue(value): { options+: { rowsFrame+: { value: value } } }, + }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '| *{\n\tlayout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n}\nControls the display of the value in the cell' } }, + withShowValue(value): { options+: { showValue: value } }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, + withShow(value=true): { options+: { tooltip+: { show: value } } }, + '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, + withYHistogram(value=true): { options+: { tooltip+: { yHistogram: value } } }, + }, + '#withYAxis': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxis(value): { options+: { yAxis: value } }, + '#withYAxisMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxisMixin(value): { options+: { yAxis+: value } }, + yAxis+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { options+: { yAxis+: { axisCenteredZero: value } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { options+: { yAxis+: { axisColorMode: value } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { options+: { yAxis+: { axisGridShow: value } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { options+: { yAxis+: { axisLabel: value } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { options+: { yAxis+: { axisPlacement: value } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { options+: { yAxis+: { axisSoftMax: value } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { options+: { yAxis+: { axisSoftMin: value } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { options+: { yAxis+: { axisWidth: value } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { options+: { yAxis+: { scaleDistribution: value } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { options+: { yAxis+: { scaleDistribution+: value } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { yAxis+: { scaleDistribution+: { linearThreshold: value } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { yAxis+: { scaleDistribution+: { log: value } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { yAxis+: { scaleDistribution+: { type: value } } } }, + }, + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, + withDecimals(value): { options+: { yAxis+: { decimals: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, + withMax(value): { options+: { yAxis+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, + withMin(value): { options+: { yAxis+: { min: value } } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, + withReverse(value=true): { options+: { yAxis+: { reverse: value } } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, + withUnit(value): { options+: { yAxis+: { unit: value } } }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet new file mode 100644 index 0000000000..36f46eb607 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet @@ -0,0 +1,119 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.histogram', name: 'histogram' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'histogram' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, + withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withBucketOffset': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Offset buckets by this amount' } }, + withBucketOffset(value=0): { options+: { bucketOffset: value } }, + '#withBucketSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Size of each bucket' } }, + withBucketSize(value): { options+: { bucketSize: value } }, + '#withCombine': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Combines multiple series into a single histogram' } }, + withCombine(value=true): { options+: { combine: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet new file mode 100644 index 0000000000..cd95ac5c8f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet @@ -0,0 +1,30 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.logs', name: 'logs' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'logs' }, + }, + options+: + { + '#withDedupStrategy': { 'function': { args: [{ default: null, enums: ['none', 'exact', 'numbers', 'signature'], name: 'value', type: 'string' }], help: '' } }, + withDedupStrategy(value): { options+: { dedupStrategy: value } }, + '#withEnableLogDetails': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withEnableLogDetails(value=true): { options+: { enableLogDetails: value } }, + '#withPrettifyLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPrettifyLogMessage(value=true): { options+: { prettifyLogMessage: value } }, + '#withShowCommonLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowCommonLabels(value=true): { options+: { showCommonLabels: value } }, + '#withShowLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLabels(value=true): { options+: { showLabels: value } }, + '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTime(value=true): { options+: { showTime: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: ['Descending', 'Ascending'], name: 'value', type: 'string' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withWrapLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withWrapLogMessage(value=true): { options+: { wrapLogMessage: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet new file mode 100644 index 0000000000..1c44759dd1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet @@ -0,0 +1,18 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.news', name: 'news' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'news' }, + }, + options+: + { + '#withFeedUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'empty/missing will default to grafana blog' } }, + withFeedUrl(value): { options+: { feedUrl: value } }, + '#withShowImage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowImage(value=true): { options+: { showImage: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet new file mode 100644 index 0000000000..0cfc3e7bcc --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet @@ -0,0 +1,52 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.nodeGraph', name: 'nodeGraph' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'nodeGraph' }, + }, + options+: + { + '#withEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdges(value): { options+: { edges: value } }, + '#withEdgesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdgesMixin(value): { options+: { edges+: value } }, + edges+: + { + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { options+: { edges+: { mainStatUnit: value } } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { options+: { edges+: { secondaryStatUnit: value } } }, + }, + '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodes(value): { options+: { nodes: value } }, + '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodesMixin(value): { options+: { nodes+: value } }, + nodes+: + { + '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcs(value): { options+: { nodes+: { arcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcsMixin(value): { options+: { nodes+: { arcs+: (if std.isArray(value) + then value + else [value]) } } }, + arcs+: + { + '#': { help: '', name: 'arcs' }, + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, + withColor(value): { color: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, + withField(value): { field: value }, + }, + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { options+: { nodes+: { mainStatUnit: value } } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { options+: { nodes+: { secondaryStatUnit: value } } }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet new file mode 100644 index 0000000000..4854949e5c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet @@ -0,0 +1,130 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.pieChart', name: 'pieChart' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'piechart' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + }, + }, + }, + options+: + { + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withDisplayLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDisplayLabels(value): { options+: { displayLabels: (if std.isArray(value) + then value + else [value]) } }, + '#withDisplayLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDisplayLabelsMixin(value): { options+: { displayLabels+: (if std.isArray(value) + then value + else [value]) } }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValues(value): { options+: { legend+: { values: (if std.isArray(value) + then value + else [value]) } } }, + '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValuesMixin(value): { options+: { legend+: { values+: (if std.isArray(value) + then value + else [value]) } } }, + }, + '#withPieType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, + withPieType(value): { options+: { pieType: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet new file mode 100644 index 0000000000..d6b5f8bc25 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet @@ -0,0 +1,56 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.stat', name: 'stat' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'stat' }, + }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withColorMode': { 'function': { args: [{ default: null, enums: ['value', 'background', 'background_solid', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withColorMode(value): { options+: { colorMode: value } }, + '#withGraphMode': { 'function': { args: [{ default: null, enums: ['none', 'line', 'area'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGraphMode(value): { options+: { graphMode: value } }, + '#withJustifyMode': { 'function': { args: [{ default: null, enums: ['auto', 'center'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withJustifyMode(value): { options+: { justifyMode: value } }, + '#withTextMode': { 'function': { args: [{ default: null, enums: ['auto', 'value', 'value_and_name', 'name', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTextMode(value): { options+: { textMode: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet new file mode 100644 index 0000000000..1e75e691ef --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet @@ -0,0 +1,98 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.stateTimeline', name: 'stateTimeline' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'state-timeline' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value=0): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withAlignValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls value alignment on the timelines' } }, + withAlignValue(value): { options+: { alignValue: value } }, + '#withMergeValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Merge equal consecutive values' } }, + withMergeValues(value=true): { options+: { mergeValues: value } }, + '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the row height' } }, + withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show timeline values on chart' } }, + withShowValue(value): { options+: { showValue: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet new file mode 100644 index 0000000000..9fe7e6b3d9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet @@ -0,0 +1,96 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.statusHistory', name: 'statusHistory' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'status-history' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withColWidth': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the column width' } }, + withColWidth(value=0.90000000000000002): { options+: { colWidth: value } }, + '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Set the height of the rows' } }, + withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show values on the columns' } }, + withShowValue(value): { options+: { showValue: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet new file mode 100644 index 0000000000..ad3f1bc1a3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet @@ -0,0 +1,288 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.table', name: 'table' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'table' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withAlign': { 'function': { args: [{ default: null, enums: ['auto', 'left', 'right', 'center'], name: 'value', type: 'string' }], help: 'TODO -- should not be table specific! TODO docs' } }, + withAlign(value): { fieldConfig+: { defaults+: { custom+: { align: value } } } }, + '#withCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, + withCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions: value } } } }, + '#withCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, + withCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: value } } } }, + cellOptions+: + { + '#withTableAutoCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, + withTableAutoCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions: value } } } } }, + '#withTableAutoCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, + withTableAutoCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions+: value } } } } }, + TableAutoCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'auto' } } } } }, + }, + '#withTableSparklineCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, + withTableSparklineCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions: value } } } } }, + '#withTableSparklineCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, + withTableSparklineCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions+: value } } } } }, + TableSparklineCellOptions+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisCenteredZero: value } } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['series', 'text'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisColorMode: value } } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisGridShow: value } } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisLabel: value } } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'bottom', 'hidden', 'left', 'right', 'top'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisPlacement: value } } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMax: value } } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMin: value } } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisWidth: value } } } } }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [1, -1, 0], name: 'value', type: 'number' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barAlignment: value } } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barMaxWidth: value } } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barWidthFactor: value } } } } }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['bars', 'line', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { drawStyle: value } } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillBelowTo: value } } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillColor: value } } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillOpacity: value } } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['hue', 'none', 'opacity', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { gradientMode: value } } } } }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom: value } } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: value } } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { legend: value } } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { tooltip: value } } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { viz: value } } } } } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineColor: value } } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepAfter', 'stepBefore'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineInterpolation: value } } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle: value } } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: value } } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { fill: value } } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineWidth: value } } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointColor: value } } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSize: value } } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSymbol: value } } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution: value } } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: value } } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { linearThreshold: value } } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { log: value } } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { type: value } } } } } }, + }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['always', 'auto', 'never'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { showPoints: value } } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: ['boolean', 'number'] }], help: 'Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { spanNulls: value } } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking: value } } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: value } } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { group: value } } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { mode: value } } } } } }, + }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle: value } } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: value } } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['area', 'dashed', 'dashed+area', 'line', 'line+area', 'off', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: { mode: value } } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { transform: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'sparkline' } } } } }, + }, + '#withTableBarGaugeCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, + withTableBarGaugeCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions: value } } } } }, + '#withTableBarGaugeCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, + withTableBarGaugeCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions+: value } } } } }, + TableBarGaugeCellOptions+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient', 'lcd'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes for the bar gauge component of Grafana UI' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'gauge' } } } } }, + '#withValueDisplayMode': { 'function': { args: [{ default: null, enums: ['color', 'hidden', 'text'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, + withValueDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { valueDisplayMode: value } } } } }, + }, + '#withTableColoredBackgroundCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, + withTableColoredBackgroundCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions: value } } } } }, + '#withTableColoredBackgroundCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, + withTableColoredBackgroundCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions+: value } } } } }, + TableColoredBackgroundCellOptions+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient'], name: 'value', type: 'string' }], help: 'Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient.' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-background' } } } } }, + }, + '#withTableColorTextCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, + withTableColorTextCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions: value } } } } }, + '#withTableColorTextCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, + withTableColorTextCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions+: value } } } } }, + TableColorTextCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-text' } } } } }, + }, + '#withTableImageCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableImageCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions: value } } } } }, + '#withTableImageCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableImageCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions+: value } } } } }, + TableImageCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'image' } } } } }, + }, + '#withTableJsonViewCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableJsonViewCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions: value } } } } }, + '#withTableJsonViewCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableJsonViewCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions+: value } } } } }, + TableJsonViewCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'json-view' } } } } }, + }, + }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['auto', 'basic', 'color-background', 'color-background-solid', 'color-text', 'custom', 'gauge', 'gradient-gauge', 'image', 'json-view', 'lcd-gauge', 'sparkline'], name: 'value', type: 'string' }], help: "Internally, this is the \"type\" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions" } }, + withDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { displayMode: value } } } }, + '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withFilterable(value=true): { fieldConfig+: { defaults+: { custom+: { filterable: value } } } }, + '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHidden(value=true): { fieldConfig+: { defaults+: { custom+: { hidden: value } } } }, + '#withHideHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Hides any header for a column, usefull for columns that show some static content or buttons.' } }, + withHideHeader(value=true): { fieldConfig+: { defaults+: { custom+: { hideHeader: value } } } }, + '#withInspect': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withInspect(value=true): { fieldConfig+: { defaults+: { custom+: { inspect: value } } } }, + '#withMinWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMinWidth(value): { fieldConfig+: { defaults+: { custom+: { minWidth: value } } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { fieldConfig+: { defaults+: { custom+: { width: value } } } }, + }, + }, + }, + options+: + { + '#withCellHeight': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the height of the rows' } }, + withCellHeight(value): { options+: { cellHeight: value } }, + '#withFooter': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, + withFooter(value={ countRows: false, reducer: [], show: false }): { options+: { footer: value } }, + '#withFooterMixin': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, + withFooterMixin(value): { options+: { footer+: value } }, + footer+: + { + '#withTableFooterOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, + withTableFooterOptions(value): { options+: { footer+: { TableFooterOptions: value } } }, + '#withTableFooterOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, + withTableFooterOptionsMixin(value): { options+: { footer+: { TableFooterOptions+: value } } }, + TableFooterOptions+: + { + '#withCountRows': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withCountRows(value=true): { options+: { footer+: { countRows: value } } }, + '#withEnablePagination': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withEnablePagination(value=true): { options+: { footer+: { enablePagination: value } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFields(value): { options+: { footer+: { fields: (if std.isArray(value) + then value + else [value]) } } }, + '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFieldsMixin(value): { options+: { footer+: { fields+: (if std.isArray(value) + then value + else [value]) } } }, + '#withReducer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withReducer(value): { options+: { footer+: { reducer: (if std.isArray(value) + then value + else [value]) } } }, + '#withReducerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withReducerMixin(value): { options+: { footer+: { reducer+: (if std.isArray(value) + then value + else [value]) } } }, + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShow(value=true): { options+: { footer+: { show: value } } }, + }, + }, + '#withFrameIndex': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Represents the index of the selected frame' } }, + withFrameIndex(value=0): { options+: { frameIndex: value } }, + '#withShowHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the panel should show the header' } }, + withShowHeader(value=true): { options+: { showHeader: value } }, + '#withShowTypeIcons': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the header should show icons for the column types' } }, + withShowTypeIcons(value=true): { options+: { showTypeIcons: value } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, + withSortBy(value): { options+: { sortBy: (if std.isArray(value) + then value + else [value]) } }, + '#withSortByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, + withSortByMixin(value): { options+: { sortBy+: (if std.isArray(value) + then value + else [value]) } }, + sortBy+: + { + '#': { help: '', name: 'sortBy' }, + '#withDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag used to indicate descending sort order' } }, + withDesc(value=true): { desc: value }, + '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the display name of the field to sort by' } }, + withDisplayName(value): { displayName: value }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet new file mode 100644 index 0000000000..fe1101ba10 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet @@ -0,0 +1,31 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.text', name: 'text' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'text' }, + }, + options+: + { + '#withCode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCode(value): { options+: { code: value } }, + '#withCodeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCodeMixin(value): { options+: { code+: value } }, + code+: + { + '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, + withLanguage(value='plaintext'): { options+: { code+: { language: value } } }, + '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLineNumbers(value=true): { options+: { code+: { showLineNumbers: value } } }, + '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowMiniMap(value=true): { options+: { code+: { showMiniMap: value } } }, + }, + '#withContent': { 'function': { args: [{ default: '# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)', enums: null, name: 'value', type: 'string' }], help: '' } }, + withContent(value='# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)'): { options+: { content: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { mode: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet new file mode 100644 index 0000000000..8c034d5e19 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet @@ -0,0 +1,188 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.timeSeries', name: 'timeSeries' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'timeseries' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, + '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, + }, + }, + }, + options+: + { + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet new file mode 100644 index 0000000000..51e3173e60 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet @@ -0,0 +1,182 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.trend', name: 'trend' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'trend' }, + }, + fieldConfig+: + { + defaults+: + { + custom+: + { + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, + '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, + }, + }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the x field to use (defaults to first number)' } }, + withXField(value): { options+: { xField: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet new file mode 100644 index 0000000000..57b9aa8be8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet @@ -0,0 +1,212 @@ +// This file is generated, do not manually edit. +(import '../../clean/panel.libsonnet') ++ { + '#': { help: 'grafonnet.panel.xyChart', name: 'xyChart' }, + panelOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'xychart' }, + }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withDims': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDims(value): { options+: { dims: value } }, + '#withDimsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDimsMixin(value): { options+: { dims+: value } }, + dims+: + { + '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExclude(value): { options+: { dims+: { exclude: (if std.isArray(value) + then value + else [value]) } } }, + '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExcludeMixin(value): { options+: { dims+: { exclude+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFrame(value): { options+: { dims+: { frame: value } } }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { options+: { dims+: { x: value } } }, + }, + '#withSeries': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withSeries(value): { options+: { series: (if std.isArray(value) + then value + else [value]) } }, + '#withSeriesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withSeriesMixin(value): { options+: { series+: (if std.isArray(value) + then value + else [value]) } }, + series+: + { + '#': { help: '', name: 'series' }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { hideFrom: value }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { hideFrom+: value }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { hideFrom+: { legend: value } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { hideFrom+: { tooltip: value } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { hideFrom+: { viz: value } }, + }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { axisCenteredZero: value }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { axisColorMode: value }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { axisGridShow: value }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { axisLabel: value }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { axisPlacement: value }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { axisSoftMax: value }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { axisSoftMin: value }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { axisWidth: value }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { scaleDistribution: value }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { scaleDistribution+: value }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { scaleDistribution+: { linearThreshold: value } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { scaleDistribution+: { log: value } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { scaleDistribution+: { type: value } }, + }, + '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLabel(value): { label: value }, + '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValue(value): { labelValue: value }, + '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValueMixin(value): { labelValue+: value }, + labelValue+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { labelValue+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { labelValue+: { fixed: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { labelValue+: { mode: value } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColor(value): { lineColor: value }, + '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColorMixin(value): { lineColor+: value }, + lineColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { lineColor+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { lineColor+: { fixed: value } }, + }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { lineStyle: value }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { lineStyle+: value }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { lineStyle+: { fill: value } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value): { lineWidth: value }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColor(value): { pointColor: value }, + '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColorMixin(value): { pointColor+: value }, + pointColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { pointColor+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { pointColor+: { fixed: value } }, + }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSize(value): { pointSize: value }, + '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSizeMixin(value): { pointSize+: value }, + pointSize+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { pointSize+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFixed(value): { pointSize+: { fixed: value } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { pointSize+: { max: value } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { pointSize+: { min: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { pointSize+: { mode: value } }, + }, + '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, + withShow(value): { show: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { x: value }, + '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withY(value): { y: value }, + }, + '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, + withSeriesMapping(value): { options+: { seriesMapping: value } }, + }, +} ++ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet new file mode 100644 index 0000000000..f7cf1bb777 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet @@ -0,0 +1,27 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.loki', name: 'loki' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, + withEditorMode(value): { editorMode: value }, + '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The LogQL query.' } }, + withExpr(value): { expr: value }, + '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, + withInstant(value=true): { instant: value }, + '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Used to override the name of the series.' } }, + withLegendFormat(value): { legendFormat: value }, + '#withMaxLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to limit the number of log rows returned.' } }, + withMaxLines(value): { maxLines: value }, + '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, + withRange(value=true): { range: value }, + '#withResolution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to scale the interval value.' } }, + withResolution(value): { resolution: value }, +} ++ (import '../../custom/query/loki.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet new file mode 100644 index 0000000000..19196ce822 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet @@ -0,0 +1,29 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.prometheus', name: 'prometheus' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, + withEditorMode(value): { editorMode: value }, + '#withExemplar': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Execute an additional query to identify interesting raw samples relevant for the given expr' } }, + withExemplar(value=true): { exemplar: value }, + '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The actual expression/query that will be evaluated by Prometheus' } }, + withExpr(value): { expr: value }, + '#withFormat': { 'function': { args: [{ default: null, enums: ['time_series', 'table', 'heatmap'], name: 'value', type: 'string' }], help: '' } }, + withFormat(value): { format: value }, + '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns only the latest value that Prometheus has scraped for the requested time series' } }, + withInstant(value=true): { instant: value }, + '#withIntervalFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '@deprecated Used to specify how many times to divide max data points by. We use max data points under query options\nSee https://github.com/grafana/grafana/issues/48081' } }, + withIntervalFactor(value): { intervalFactor: value }, + '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname' } }, + withLegendFormat(value): { legendFormat: value }, + '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series' } }, + withRange(value=true): { range: value }, +} ++ (import '../../custom/query/prometheus.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet new file mode 100644 index 0000000000..52fcfd1ec7 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet @@ -0,0 +1,55 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.tempo', name: 'tempo' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFilters(value): { filters: (if std.isArray(value) + then value + else [value]) }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFiltersMixin(value): { filters+: (if std.isArray(value) + then value + else [value]) }, + filters+: + { + '#': { help: '', name: 'filters' }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Uniquely identify the filter, will not be used in the query generation' } }, + withId(value): { id: value }, + '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The operator that connects the tag to the value, for example: =, >, !=, =~' } }, + withOperator(value): { operator: value }, + '#withScope': { 'function': { args: [{ default: null, enums: ['unscoped', 'resource', 'span'], name: 'value', type: 'string' }], help: 'static fields are pre-set in the UI, dynamic fields are added by the user' } }, + withScope(value): { scope: value }, + '#withTag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The tag for the search filter, for example: .http.status_code, .service.name, status' } }, + withTag(value): { tag: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, + withValue(value): { value: value }, + '#withValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, + withValueMixin(value): { value+: value }, + '#withValueType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query' } }, + withValueType(value): { valueType: value }, + }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Defines the maximum number of traces that are returned from Tempo' } }, + withLimit(value): { limit: value }, + '#withMaxDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, + withMaxDuration(value): { maxDuration: value }, + '#withMinDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, + withMinDuration(value): { minDuration: value }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TraceQL query or trace ID' } }, + withQuery(value): { query: value }, + '#withSearch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true' } }, + withSearch(value): { search: value }, + '#withServiceMapQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}' } }, + withServiceMapQuery(value): { serviceMapQuery: value }, + '#withServiceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by service name' } }, + withServiceName(value): { serviceName: value }, + '#withSpanName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by span name' } }, + withSpanName(value): { spanName: value }, +} ++ (import '../../custom/query/tempo.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet new file mode 100644 index 0000000000..4b8bbf0b57 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet @@ -0,0 +1,12 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#'+:: { + help+: + ||| + + + **NOTE**: The schemas for all different contact points is under development, this means we can't properly express them in Grafonnet yet. The way this works now may change heavily. + |||, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet new file mode 100644 index 0000000000..4a2efb3604 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet @@ -0,0 +1,8 @@ +{ + '#withTimeIntervals': { ignore: true }, + '#withIntervals': super['#withTimeIntervals'], + withIntervals: super.withTimeIntervals, + '#withTimeIntervalsMixin': { ignore: true }, + '#withIntervalsMixin': super['#withTimeIntervalsMixin'], + withIntervalsMixin: super.withTimeIntervalsMixin, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet new file mode 100644 index 0000000000..cf9a2b7dcf --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet @@ -0,0 +1,12 @@ +{ + '#withReceiver': { ignore: true }, + '#withContactPoint': super['#withReceiver'], + withContactPoint: super.withReceiver, + + '#withRoutes': { ignore: true }, + '#withPolicy': super['#withRoutes'], + withPolicy: super.withRoutes, + '#withRoutesMixin': { ignore: true }, + '#withPolicyMixin': super['#withRoutesMixin'], + withPolicyMixin: super.withRoutesMixin, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet new file mode 100644 index 0000000000..4ed32afb06 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet @@ -0,0 +1,13 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#withTitle': { ignore: true }, + '#withName': super['#withTitle'], + withName: super.withTitle, + rule+: { + '#':: d.package.newSub('rule', ''), + '#withTitle': { ignore: true }, + '#withName': super['#withTitle'], + withName: super.withTitle, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet new file mode 100644 index 0000000000..0620a22520 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet @@ -0,0 +1,44 @@ +local util = import './util/main.libsonnet'; +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#new':: d.func.new( + 'Creates a new dashboard with a title.', + args=[d.arg('title', d.T.string)] + ), + new(title): + self.withTitle(title) + + self.withSchemaVersion() + + self.withTimezone('utc') + + self.time.withFrom('now-6h') + + self.time.withTo('now'), + + withPanels(value): { + _panels:: if std.isArray(value) then value else [value], + panels: util.panel.setPanelIDs(self._panels), + }, + withPanelsMixin(value): { + _panels+:: if std.isArray(value) then value else [value], + panels: util.panel.setPanelIDs(self._panels), + }, + + graphTooltip+: { + // 0 - Default + // 1 - Shared crosshair + // 2 - Shared tooltip + '#withSharedCrosshair':: d.func.new( + 'Share crosshair on all panels.', + ), + withSharedCrosshair(): + { graphTooltip: 1 }, + + '#withSharedTooltip':: d.func.new( + 'Share crosshair and tooltip on all panels.', + ), + withSharedTooltip(): + { graphTooltip: 2 }, + }, +} ++ (import './dashboard/annotation.libsonnet') ++ (import './dashboard/link.libsonnet') ++ (import './dashboard/variable.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet new file mode 100644 index 0000000000..02892ab33e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet @@ -0,0 +1,36 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#annotation':: {}, + + '#withAnnotations': + d.func.new( + ||| + `withAnnotations` adds an array of annotations to a dashboard. + + This function appends passed data to existing values + |||, + args=[d.arg('value', d.T.array)] + ), + withAnnotations(value): super.annotation.withList(value), + + '#withAnnotationsMixin': + d.func.new( + ||| + `withAnnotationsMixin` adds an array of annotations to a dashboard. + + This function appends passed data to existing values + |||, + args=[d.arg('value', d.T.array)] + ), + withAnnotationsMixin(value): super.annotation.withListMixin(value), + + annotation: + super.annotation.list + + { + '#':: d.package.newSub( + 'annotation', + '', + ), + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet new file mode 100644 index 0000000000..eb9b2fe9aa --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet @@ -0,0 +1,90 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#withLinks':: d.func.new( + ||| + Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. + + `withLinks` takes an array of [link objects](./link.md). + + The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. + + Example: + + ```jsonnet + local g = import 'g.libsonnet'; + local link = g.dashboard.link; + + g.dashboard.new('Title dashboard') + + g.dashboard.withLinks([ + link.link.new('My title', 'https://wikipedia.org/'), + ]) + ``` + |||, + [d.arg('value', d.T.array)], + ), + '#withLinksMixin':: self['#withLinks'], + + link+: { + '#':: d.package.newSub( + 'link', + ||| + Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. + + The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. + + Example: + + ```jsonnet + local g = import 'g.libsonnet'; + local link = g.dashboard.link; + + g.dashboard.new('Title dashboard') + + g.dashboard.withLinks([ + link.link.new('My title', 'https://wikipedia.org/'), + ]) + ``` + |||, + ), + + dashboards+: { + '#new':: d.func.new( + ||| + Create links to dashboards based on `tags`. + |||, + args=[ + d.arg('title', d.T.string), + d.arg('tags', d.T.array), + ] + ), + new(title, tags): + self.withTitle(title) + + self.withType('dashboards') + + self.withTags(tags), + + '#withTitle':: {}, + '#withType':: {}, + '#withTags':: {}, + }, + + link+: { + '#new':: d.func.new( + ||| + Create link to an arbitrary URL. + |||, + args=[ + d.arg('title', d.T.string), + d.arg('url', d.T.string), + ] + ), + new(title, url): + self.withTitle(title) + + self.withType('link') + + self.withUrl(url), + + '#withTitle':: {}, + '#withType':: {}, + '#withUrl':: {}, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet new file mode 100644 index 0000000000..3cd298811a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet @@ -0,0 +1,516 @@ +local util = import '../util/main.libsonnet'; +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + local var = super.variable.list, + + '#withVariables': + d.func.new( + ||| + `withVariables` adds an array of variables to a dashboard + |||, + args=[d.arg('value', d.T.array)] + ), + withVariables(value): super.variable.withList(value), + + '#withVariablesMixin': + d.func.new( + ||| + `withVariablesMixin` adds an array of variables to a dashboard. + + This function appends passed data to existing values + |||, + args=[d.arg('value', d.T.array)] + ), + withVariablesMixin(value): super.variable.withListMixin(value), + + variable: { + '#':: d.package.newSub( + 'variable', + ||| + Example usage: + + ```jsonnet + local g = import 'g.libsonnet'; + local var = g.dashboard.variable; + + local customVar = + var.custom.new( + 'myOptions', + values=['a', 'b', 'c', 'd'], + ) + + var.custom.generalOptions.withDescription( + 'This is a variable for my custom options.' + ) + + var.custom.selectionOptions.withMulti(); + + local queryVar = + var.query.new('queryOptions') + + var.query.queryTypes.withLabelValues( + 'up', + 'instance', + ) + + var.query.withDatasource( + type='prometheus', + uid='mimir-prod', + ) + + var.query.selectionOptions.withIncludeAll(); + + + g.dashboard.new('my dashboard') + + g.dashboard.withVariables([ + customVar, + queryVar, + ]) + ``` + |||, + ), + + local generalOptions = { + generalOptions+: + { + + '#withName': var['#withName'], + withName: var.withName, + '#withLabel': var['#withLabel'], + withLabel: var.withLabel, + '#withDescription': var['#withDescription'], + withDescription: var.withDescription, + + showOnDashboard: { + '#withLabelAndValue':: d.func.new(''), + withLabelAndValue(): var.withHide(0), + '#withValueOnly':: d.func.new(''), + withValueOnly(): var.withHide(1), + '#withNothing':: d.func.new(''), + withNothing(): var.withHide(2), + }, + + '#withCurrent':: d.func.new( + ||| + `withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + |||, + args=[ + d.arg('key', d.T.any), + d.arg('value', d.T.any, default=''), + ] + ), + withCurrent(key, value=key): { + local multi(v) = + if self.multi + && std.isArray(v) + then v + else [v], + current: { + selected: false, + text: multi(key), + value: multi(value), + }, + }, + }, + }, + + local selectionOptions = + { + selectionOptions: + { + '#withMulti':: d.func.new( + 'Enable selecting multiple values.', + args=[ + d.arg('value', d.T.boolean, default=true), + ] + ), + withMulti(value=true): { + multi: value, + }, + + '#withIncludeAll':: d.func.new( + ||| + `withIncludeAll` enables an option to include all variables. + + Optionally you can set a `customAllValue`. + |||, + args=[ + d.arg('value', d.T.boolean, default=true), + d.arg('customAllValue', d.T.boolean, default=null), + ] + ), + withIncludeAll(value=true, customAllValue=null): { + includeAll: value, + [if customAllValue != null then 'allValue']: customAllValue, + }, + }, + }, + + query: + generalOptions + + selectionOptions + + { + '#new':: d.func.new( + ||| + Create a query template variable. + + `query` argument is optional, this can also be set with `query.queryTypes`. + |||, + args=[ + d.arg('name', d.T.string), + d.arg('query', d.T.string, default=''), + ] + ), + new(name, query=''): + var.withName(name) + + var.withType('query') + + var.withQuery(query), + + '#withDatasource':: d.func.new( + 'Select a datasource for the variable template query.', + args=[ + d.arg('type', d.T.string), + d.arg('uid', d.T.string), + ] + ), + withDatasource(type, uid): + var.datasource.withType(type) + + var.datasource.withUid(uid), + + '#withDatasourceFromVariable':: d.func.new( + 'Select the datasource from another template variable.', + args=[ + d.arg('variable', d.T.object), + ] + ), + withDatasourceFromVariable(variable): + if variable.type == 'datasource' + then self.withDatasource(variable.query, '${%s}' % variable.name) + else error "`variable` not of type 'datasource'", + + '#withRegex':: d.func.new( + ||| + `withRegex` can extract part of a series name or metric node segment. Named + capture groups can be used to separate the display text and value + ([see examples](https://grafana.com/docs/grafana/latest/variables/filter-variables-with-regex#filter-and-modify-using-named-text-and-value-capture-groups)). + |||, + args=[ + d.arg('value', d.T.string), + ] + ), + withRegex(value): { + regex: value, + }, + + '#withSort':: d.func.new( + ||| + Choose how to sort the values in the dropdown. + + This can be called as `withSort() to use the integer values for each + option. If `i==0` then it will be ignored and the other arguments will take + precedence. + + The numerical values are: + + - 1 - Alphabetical (asc) + - 2 - Alphabetical (desc) + - 3 - Numerical (asc) + - 4 - Numerical (desc) + - 5 - Alphabetical (case-insensitive, asc) + - 6 - Alphabetical (case-insensitive, desc) + |||, + args=[ + d.arg('i', d.T.number, default=0), + d.arg('type', d.T.string, default='alphabetical'), + d.arg('asc', d.T.boolean, default=true), + d.arg('caseInsensitive', d.T.boolean, default=false), + ], + ), + withSort(i=0, type='alphabetical', asc=true, caseInsensitive=false): + if i != 0 // provide fallback to numerical value + then { sort: i } + else + { + local mapping = { + alphabetical: + if !caseInsensitive + then + if asc + then 1 + else 2 + else + if asc + then 5 + else 6, + numerical: + if asc + then 3 + else 4, + }, + sort: mapping[type], + }, + + // TODO: Expand with Query types to match GUI + queryTypes: { + '#withLabelValues':: d.func.new( + 'Construct a Prometheus template variable using `label_values()`.', + args=[ + d.arg('label', d.T.string), + d.arg('metric', d.T.string, default=''), + ] + ), + withLabelValues(label, metric=''): + if metric == '' + then var.withQuery('label_values(%s)' % label) + else var.withQuery('label_values(%s, %s)' % [metric, label]), + }, + + // Deliberately undocumented, use `refresh` below + withRefresh(value): { + // 1 - On dashboard load + // 2 - On time range chagne + refresh: value, + }, + + local withRefresh = self.withRefresh, + refresh+: { + '#onLoad':: d.func.new( + 'Refresh label values on dashboard load.' + ), + onLoad(): withRefresh(1), + + '#onTime':: d.func.new( + 'Refresh label values on time range change.' + ), + onTime(): withRefresh(2), + }, + }, + + custom: + generalOptions + + selectionOptions + + { + '#new':: d.func.new( + ||| + `new` creates a custom template variable. + + The `values` array accepts an object with key/value keys, if it's not an object + then it will be added as a string. + + Example: + ``` + [ + { key: 'mykey', value: 'myvalue' }, + 'myvalue', + 12, + ] + |||, + args=[ + d.arg('name', d.T.string), + d.arg('values', d.T.array), + ] + ), + new(name, values): + var.withName(name) + + var.withType('custom') + + { + // Make values array available in jsonnet + values:: [ + if !std.isObject(item) + then { + key: std.toString(item), + value: std.toString(item), + } + else item + for item in values + ], + + // Render query from values array + query: + std.join(',', [ + std.join(' : ', [item.key, item.value]) + for item in self.values + ]), + + // Set current/options + current: + util.dashboard.getCurrentFromValues( + self.values, + std.get(self, 'multi', false) + ), + options: util.dashboard.getOptionsFromValues(self.values), + }, + + withQuery(query): { + values:: util.dashboard.parseCustomQuery(query), + query: query, + }, + }, + + textbox: + generalOptions + + { + '#new':: d.func.new( + '`new` creates a textbox template variable.', + args=[ + d.arg('name', d.T.string), + d.arg('default', d.T.string, default=''), + ] + ), + new(name, default=''): + var.withName(name) + + var.withType('textbox') + + { + local this = self, + default:: default, + query: self.default, + + // Set current/options + keyvaluedict:: [{ key: this.query, value: this.query }], + current: + util.dashboard.getCurrentFromValues( + self.keyvaluedict, + std.get(self, 'multi', false) + ), + options: util.dashboard.getOptionsFromValues(self.keyvaluedict), + }, + }, + + constant: + generalOptions + + { + '#new':: d.func.new( + '`new` creates a hidden constant template variable.', + args=[ + d.arg('name', d.T.string), + d.arg('value', d.T.string), + ] + ), + new(name, value=''): + var.withName(name) + + var.withType('constant') + + var.withHide(2) + + var.withQuery(value), + }, + + datasource: + generalOptions + + selectionOptions + + { + '#new':: d.func.new( + '`new` creates a datasource template variable.', + args=[ + d.arg('name', d.T.string), + d.arg('type', d.T.string), + ] + ), + new(name, type): + var.withName(name) + + var.withType('datasource') + + var.withQuery(type), + + '#withRegex':: d.func.new( + ||| + `withRegex` filter for which data source instances to choose from in the + variable value list. Example: `/^prod/` + |||, + args=[ + d.arg('value', d.T.string), + ] + ), + withRegex(value): { + regex: value, + }, + }, + + interval: + generalOptions + + { + '#new':: d.func.new( + '`new` creates an interval template variable.', + args=[ + d.arg('name', d.T.string), + d.arg('values', d.T.array), + ] + ), + new(name, values): + var.withName(name) + + var.withType('interval') + + { + // Make values array available in jsonnet + values:: values, + // Render query from values array + query: std.join(',', self.values), + + // Set current/options + keyvaluedict:: [ + { + key: item, + value: item, + } + for item in values + ], + current: + util.dashboard.getCurrentFromValues( + self.keyvaluedict, + std.get(self, 'multi', false) + ), + options: util.dashboard.getOptionsFromValues(self.keyvaluedict), + }, + + + '#withAutoOption':: d.func.new( + ||| + `withAutoOption` adds an options to dynamically calculate interval by dividing + time range by the count specified. + + `minInterval' has to be either unit-less or end with one of the following units: + "y, M, w, d, h, m, s, ms". + |||, + args=[ + d.arg('count', d.T.number), + d.arg('minInterval', d.T.string), + ] + ), + withAutoOption(count=30, minInterval='10s'): { + local this = self, + + auto: true, + auto_count: count, + auto_min: minInterval, + + // Add auto item to current/options + keyvaluedict:: + [{ key: 'auto', value: '$__auto_interval_' + this.name }] + + super.keyvaluedict, + }, + }, + + adhoc: + generalOptions + + { + '#new':: d.func.new( + '`new` creates an adhoc template variable for datasource with `type` and `uid`.', + args=[ + d.arg('name', d.T.string), + d.arg('type', d.T.string), + d.arg('uid', d.T.string), + ] + ), + new(name, type, uid): + var.withName(name) + + var.withType('adhoc') + + var.datasource.withType(type) + + var.datasource.withUid(uid), + + '#newFromDatasourceVariable':: d.func.new( + 'Same as `new` but selecting the datasource from another template variable.', + args=[ + d.arg('name', d.T.string), + d.arg('variable', d.T.object), + ] + ), + newFromDatasourceVariable(name, variable): + if variable.type == 'datasource' + then self.new(name, variable.query, '${%s}' % variable.name) + else error "`variable` not of type 'datasource'", + + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet new file mode 100644 index 0000000000..98d2c2354d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet @@ -0,0 +1,171 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +// match name/title to reduce diff in docs +local panelNames = { + alertgroups: 'alertGroups', + annolist: 'annotationsList', + barchart: 'barChart', + bargauge: 'barGauge', + dashlist: 'dashboardList', + nodeGraph: 'nodeGraph', + piechart: 'pieChart', + 'state-timeline': 'stateTimeline', + 'status-history': 'statusHistory', + timeseries: 'timeSeries', + xychart: 'xyChart', +}; + +local getPanelName(type) = + std.get(panelNames, type, type); + +{ + '#new':: d.func.new( + 'Creates a new %s panel with a title.' % getPanelName(self.panelOptions.withType().type), + args=[d.arg('title', d.T.string)] + ), + new(title): + self.panelOptions.withTitle(title) + + self.panelOptions.withType() + + self.panelOptions.withPluginVersion() + // Default to Mixed datasource so panels can be datasource agnostic, this + // requires query targets to explicitly set datasource, which is a lot more + // interesting from a reusability standpoint. + + self.queryOptions.withDatasource('datasource', '-- Mixed --'), + + // Backwards compatible entries, ignored in docs + link+: self.panelOptions.link + { '#':: { ignore: true } }, + thresholdStep+: self.standardOptions.threshold.step + { '#':: { ignore: true } }, + transformation+: self.queryOptions.transformation + { '#':: { ignore: true } }, + valueMapping+: self.standardOptions.mapping + { '#':: { ignore: true } }, + fieldOverride+: self.standardOptions.override + { '#':: { ignore: true } }, + + '#gridPos': {}, // use withGridPos instead, a bit more concise. + local gridPos = self.gridPos, + panelOptions+: { + '#withPluginVersion': {}, + + '#withGridPos': d.func.new( + ||| + `withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + + All arguments default to `null`, which means they will remain unchanged or unset. + |||, + args=[ + d.arg('h', d.T.number, default='null'), + d.arg('w', d.T.number, default='null'), + d.arg('x', d.T.number, default='null'), + d.arg('y', d.T.number, default='null'), + ] + ), + withGridPos(h=null, w=null, x=null, y=null): + (if h != null then gridPos.withH(h) else {}) + + (if w != null then gridPos.withW(w) else {}) + + (if x != null then gridPos.withX(x) else {}) + + (if y != null then gridPos.withY(y) else {}), + }, + + '#datasource':: {}, // use withDatasource instead, bit more concise + local datasource = self.datasource, + queryOptions+: { + '#withDatasource':: d.func.new( + ||| + `withDatasource` sets the datasource for all queries in a panel. + + The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + |||, + args=[ + d.arg('type', d.T.string), + d.arg('uid', d.T.string), + ] + ), + withDatasource(type, uid): + datasource.withType(type) + + datasource.withUid(uid), + }, + + standardOptions+: { + threshold+: { step+: { '#':: d.package.newSub('threshold.step', '') } }, + + local overrides = super.override, + local commonOverrideFunctions = { + '#new':: d.fn( + '`new` creates a new override of type `%s`.' % self.type, + args=[ + d.arg('value', d.T.string), + ] + ), + new(value): + overrides.matcher.withId(self.type) + + overrides.matcher.withOptions(value), + + '#withProperty':: d.fn( + ||| + `withProperty` adds a property that needs to be overridden. This function can + be called multiple time, adding more properties. + |||, + args=[ + d.arg('id', d.T.string), + d.arg('value', d.T.any), + ] + ), + withProperty(id, value): + overrides.withPropertiesMixin([ + overrides.properties.withId(id) + + overrides.properties.withValue(value), + ]), + + '#withPropertiesFromOptions':: d.fn( + ||| + `withPropertiesFromOptions` takes an object with properties that need to be + overridden. See example code above. + |||, + args=[ + d.arg('options', d.T.object), + ] + ), + withPropertiesFromOptions(options): + local infunc(input, path=[]) = + std.foldl( + function(acc, p) + acc + ( + if p == 'custom' + then infunc(input[p], path=path + [p]) + else + overrides.withPropertiesMixin([ + overrides.properties.withId(std.join('.', path + [p])) + + overrides.properties.withValue(input[p]), + ]) + ), + std.objectFields(input), + {} + ); + infunc(options.fieldConfig.defaults), + }, + + override: + { + '#':: d.package.newSub( + 'override', + ||| + Overrides allow you to customize visualization settings for specific fields or + series. This is accomplished by adding an override rule that targets + a particular set of fields and that can each define multiple options. + + ```jsonnet + override.byType.new('number') + + override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') + ) + ``` + ||| + ), + byName: commonOverrideFunctions + { type:: 'byName' }, + byRegexp: commonOverrideFunctions + { type:: 'byRegexp' }, + byType: commonOverrideFunctions + { type:: 'byType' }, + byQuery: commonOverrideFunctions + { type:: 'byQuery' }, + // TODO: byValue takes more complex `options` than string + byValue: commonOverrideFunctions + { type:: 'byValue' }, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet new file mode 100644 index 0000000000..9c19f83518 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet @@ -0,0 +1,27 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#new':: d.func.new( + 'Creates a new loki query target for panels.', + args=[ + d.arg('datasource', d.T.string), + d.arg('expr', d.T.string), + ] + ), + new(datasource, expr): + self.withDatasource(datasource) + + self.withExpr(expr), + + '#withDatasource':: d.func.new( + 'Set the datasource for this query.', + args=[ + d.arg('value', d.T.string), + ] + ), + withDatasource(value): { + datasource+: { + type: 'loki', + uid: value, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet new file mode 100644 index 0000000000..3abe221280 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet @@ -0,0 +1,47 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#new':: d.func.new( + 'Creates a new prometheus query target for panels.', + args=[ + d.arg('datasource', d.T.string), + d.arg('expr', d.T.string), + ] + ), + new(datasource, expr): + self.withDatasource(datasource) + + self.withExpr(expr), + + '#withIntervalFactor':: d.func.new( + 'Set the interval factor for this query.', + args=[ + d.arg('value', d.T.string), + ] + ), + withIntervalFactor(value): { + intervalFactor: value, + }, + + '#withLegendFormat':: d.func.new( + 'Set the legend format for this query.', + args=[ + d.arg('value', d.T.string), + ] + ), + withLegendFormat(value): { + legendFormat: value, + }, + + '#withDatasource':: d.func.new( + 'Set the datasource for this query.', + args=[ + d.arg('value', d.T.string), + ] + ), + withDatasource(value): { + datasource+: { + type: 'prometheus', + uid: value, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet new file mode 100644 index 0000000000..debcb73aac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet @@ -0,0 +1,29 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#new':: d.func.new( + 'Creates a new tempo query target for panels.', + args=[ + d.arg('datasource', d.T.string), + d.arg('query', d.T.string), + d.arg('filters', d.T.array), + ] + ), + new(datasource, query, filters): + self.withDatasource(datasource) + + self.withQuery(query) + + self.withFilters(filters), + + '#withDatasource':: d.func.new( + 'Set the datasource for this query.', + args=[ + d.arg('value', d.T.string), + ] + ), + withDatasource(value): { + datasource+: { + type: 'tempo', + uid: value, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet new file mode 100644 index 0000000000..cf0b333cf3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet @@ -0,0 +1,11 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#new':: d.func.new( + 'Creates a new row panel with a title.', + args=[d.arg('title', d.T.string)] + ), + new(title): + self.withTitle(title) + + self.withType(), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet new file mode 100644 index 0000000000..da7b2c8d0b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet @@ -0,0 +1,55 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; + +{ + local root = self, + + '#getOptionsForCustomQuery':: d.func.new( + ||| + `getOptionsForCustomQuery` provides values for the `options` and `current` fields. + These are required for template variables of type 'custom'but do not automatically + get populated by Grafana when importing a dashboard from JSON. + + This is a bit of a hack and should always be called on functions that set `type` on + a template variable. Ideally Grafana populates these fields from the `query` value + but this provides a backwards compatible solution. + |||, + args=[d.arg('query', d.T.string)], + ), + getOptionsForCustomQuery(query, multi): { + local values = root.parseCustomQuery(query), + current: root.getCurrentFromValues(values, multi), + options: root.getOptionsFromValues(values), + }, + + getCurrentFromValues(values, multi): { + selected: false, + text: if multi then [values[0].key] else values[0].key, + value: if multi then [values[0].value] else values[0].value, + }, + + getOptionsFromValues(values): + std.mapWithIndex( + function(i, item) { + selected: i == 0, + text: item.key, + value: item.value, + }, + values + ), + + parseCustomQuery(query): + std.map( + function(v) + // Split items into key:value pairs + local split = std.splitLimit(v, ' : ', 1); + { + key: std.stripChars(split[0], ' '), + value: + if std.length(split) == 2 + then std.stripChars(split[1], ' ') + else self.key, + }, + xtd.string.splitEscape(query, ',') // Split query by comma, unless the comma is escaped + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet new file mode 100644 index 0000000000..92f011a689 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet @@ -0,0 +1,231 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + local root = self, + + local rowPanelHeight = 1, + local gridWidth = 24, + + // Calculates the number of rows for a set of panels. + countRows(panels, panelWidth): + std.ceil(std.length(panels) / std.floor(gridWidth / panelWidth)), + + // Calculates gridPos for a panel based on its index, width and height. + gridPosForIndex(index, panelWidth, panelHeight, startY): { + local panelsPerRow = std.floor(gridWidth / panelWidth), + local row = std.floor(index / panelsPerRow), + local col = std.mod(index, panelsPerRow), + gridPos: { + w: panelWidth, + h: panelHeight, + x: panelWidth * col, + y: startY + (panelHeight * row) + row, + }, + }, + + // Configures gridPos for each panel in a grid with equal width and equal height. + makePanelGrid(panels, panelWidth, panelHeight, startY): + std.mapWithIndex( + function(i, panel) + panel + root.gridPosForIndex(i, panelWidth, panelHeight, startY), + panels + ), + + '#makeGrid':: d.func.new( + ||| + `makeGrid` returns an array of `panels` organized in a grid with equal `panelWidth` + and `panelHeight`. Row panels are used as "linebreaks", if a Row panel is collapsed, + then all panels below it will be folded into the row. + + This function will use the full grid of 24 columns, setting `panelWidth` to a value + that can divide 24 into equal parts will fill up the page nicely. (1, 2, 3, 4, 6, 8, 12) + Other value for `panelWidth` will leave a gap on the far right. + + Optional `startY` can be provided to place generated grid above or below existing panels. + |||, + args=[ + d.arg('panels', d.T.array), + d.arg('panelWidth', d.T.number), + d.arg('panelHeight', d.T.number), + d.arg('startY', d.T.number), + ], + ), + makeGrid(panels, panelWidth=8, panelHeight=8, startY=0): + // Get indexes for all Row panels + local rowIndexes = [ + i + for i in std.range(0, std.length(panels) - 1) + if panels[i].type == 'row' + ]; + + // Group panels below each Row panel + local rowGroups = + std.mapWithIndex( + function(i, r) { + header: + { + // Set initial values to ensure a value is set + // may be overridden at per Row panel + collapsed: false, + panels: [], + } + + panels[r], + panels: + self.header.panels // prepend panels that are part of the Row panel + + (if i == std.length(rowIndexes) - 1 // last rowIndex + then panels[r + 1:] + else panels[r + 1:rowIndexes[i + 1]]), + rows: root.countRows(self.panels, panelWidth), + }, + rowIndexes + ); + + // Loop over rowGroups + std.foldl( + function(acc, rowGroup) acc + { + local y = acc.nexty, + nexty: y // previous y + + (rowGroup.rows * panelHeight) // height of all rows + + rowGroup.rows // plus 1 for each row + + acc.lastRowPanelHeight, + + lastRowPanelHeight: rowPanelHeight, // set height for next round + + // Create a grid per group + local panels = root.makePanelGrid(rowGroup.panels, panelWidth, panelHeight, y + 1), + + panels+: + [ + // Add row header aka the Row panel + rowGroup.header + { + gridPos: { + w: gridWidth, // always full length + h: rowPanelHeight, // always 1 height + x: 0, // always at beginning + y: y, + }, + panels: + // If row is collapsed, then store panels inside Row panel + if rowGroup.header.collapsed + then panels + else [], + }, + ] + + ( + // If row is not collapsed, then expose panels directly + if !rowGroup.header.collapsed + then panels + else [] + ), + }, + rowGroups, + { + // Get panels that come before the rowGroups + local panelsBeforeRowGroups = + if std.length(rowIndexes) != 0 + then panels[0:rowIndexes[0]] + else panels, // matches all panels if no Row panels found + local rows = root.countRows(panelsBeforeRowGroups, panelWidth), + nexty: startY + (rows * panelHeight) + rows, + + lastRowPanelHeight: 0, // starts without a row panel + + // Create a grid for the panels that come before the rowGroups + panels: root.makePanelGrid(panelsBeforeRowGroups, panelWidth, panelHeight, startY), + } + ).panels, + + '#wrapPanels':: d.func.new( + ||| + `wrapPanels` returns an array of `panels` organized in a grid, wrapping up to next 'row' if total width exceeds full grid of 24 columns. + 'panelHeight' and 'panelWidth' are used unless panels already have height and width defined. + |||, + args=[ + d.arg('panels', d.T.array), + d.arg('panelWidth', d.T.number), + d.arg('panelHeight', d.T.number), + d.arg('startY', d.T.number), + ], + ), + wrapPanels(panels, panelWidth=8, panelHeight=8, startY=0): + std.foldl( + function(acc, panel) + if panel.type == 'row' + then + // when type=row, start new row immediatly and shift Y of new row by max height recorded + acc + { + panels+: [ + panel + { + gridPos+: + { + x: acc.cursor.x, + y: acc.cursor.y + acc.cursor.maxH, + w: 0, + h: 1, + }, + }, + ], + cursor:: { + x: 0, + y: acc.cursor.y + acc.cursor.maxH + 1, + maxH: 0, + }, + } + else + // handle regular panel + local gridPos = std.get(panel, 'gridPos', {}); + local width = std.get(gridPos, 'w', panelWidth); + local height = std.get(gridPos, 'h', panelHeight); + if acc.cursor.x + width > gridWidth + then + // start new row as width exceeds gridWidth + acc + { + panels+: [ + panel + { + gridPos+: + { + x: 0, + y: acc.cursor.y + height, + w: width, + h: height, + }, + }, + ], + cursor+:: { + x: 0 + width, + y: acc.cursor.y + height, + maxH: if height > super.maxH then height else super.maxH, + }, + } + else + // enough width, place panel on current row + acc + { + panels+: [ + panel + { + gridPos+: + { + x: acc.cursor.x, + y: acc.cursor.y, + w: width, + h: height, + }, + }, + ], + cursor+:: { + x: acc.cursor.x + width, + y: acc.cursor.y, + maxH: if height > super.maxH then height else super.maxH, + }, + }, + panels, + // Initial value for acc + { + panels: [], + cursor:: { + x: 0, + y: startY, + maxH: 0, // max height of current 'row' + }, + } + ).panels, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet new file mode 100644 index 0000000000..78fe95fc20 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet @@ -0,0 +1,9 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + '#': d.package.newSub('util', 'Helper functions that work well with Grafonnet.'), + dashboard: (import './dashboard.libsonnet'), + grid: (import './grid.libsonnet'), + panel: (import './panel.libsonnet'), + string: (import './string.libsonnet'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet new file mode 100644 index 0000000000..1191b23c84 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet @@ -0,0 +1,51 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; + +{ + local this = self, + + '#setPanelIDs':: d.func.new( + ||| + `setPanelIDs` ensures that all `panels` have a unique ID, this functions is used in + `dashboard.withPanels` and `dashboard.withPanelsMixin` to provide a consistent + experience. + + used in ../dashboard.libsonnet + |||, + args=[ + d.arg('panels', d.T.array), + ] + ), + setPanelIDs(panels): + local infunc(panels, start=1) = + std.foldl( + function(acc, panel) + acc + { + index: // Track the index to ensure no duplicates exist. + acc.index + + 1 + + (if panel.type == 'row' + && 'panels' in panel + then std.length(panel.panels) + else 0), + + panels+: [ + panel + { id: acc.index } + + ( + if panel.type == 'row' + && 'panels' in panel + then { + panels: + infunc( + panel.panels, + acc.index + 1 + ), + } + else {} + ), + ], + }, + panels, + { index: start, panels: [] } + ).panels; + infunc(panels), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet new file mode 100644 index 0000000000..ec5a66e429 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet @@ -0,0 +1,27 @@ +local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; + +{ + '#slugify':: d.func.new( + ||| + `slugify` will create a simple slug from `string`, keeping only alphanumeric + characters and replacing spaces with dashes. + |||, + args=[d.arg('string', d.T.string)] + ), + slugify(string): + std.strReplace( + std.asciiLower( + std.join('', [ + string[i] + for i in std.range(0, std.length(string) - 1) + if xtd.ascii.isUpper(string[i]) + || xtd.ascii.isLower(string[i]) + || xtd.ascii.isNumber(string[i]) + || string[i] == ' ' + ]) + ), + ' ', + '-', + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md new file mode 100644 index 0000000000..161f1e4341 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md @@ -0,0 +1,29 @@ +# grafonnet + +Jsonnet library for rendering Grafana resources +## Install + +``` +jb install github.com/grafana/grafonnet/gen/grafonnet-v10.0.0@main +``` + +## Usage + +```jsonnet +local grafonnet = import "github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet" +``` + + +## Subpackages + +* [alerting](alerting/index.md) +* [dashboard](dashboard/index.md) +* [librarypanel](librarypanel.md) +* [panel](panel/index.md) +* [playlist](playlist/index.md) +* [preferences](preferences.md) +* [publicdashboard](publicdashboard.md) +* [query](query/index.md) +* [serviceaccount](serviceaccount.md) +* [team](team.md) +* [util](util.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md new file mode 100644 index 0000000000..b796b0c1b8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md @@ -0,0 +1,100 @@ +# contactPoint + +grafonnet.alerting.contactPoint + +**NOTE**: The schemas for all different contact points is under development, this means we can't properly express them in Grafonnet yet. The way this works now may change heavily. + + +## Index + +* [`fn withDisableResolveMessage(value=true)`](#fn-withdisableresolvemessage) +* [`fn withName(value)`](#fn-withname) +* [`fn withProvenance(value)`](#fn-withprovenance) +* [`fn withSettings(value)`](#fn-withsettings) +* [`fn withSettingsMixin(value)`](#fn-withsettingsmixin) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUid(value)`](#fn-withuid) + +## Fields + +### fn withDisableResolveMessage + +```jsonnet +withDisableResolveMessage(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name is used as grouping key in the UI. Contact points with the +same name will be grouped in the UI. +### fn withProvenance + +```jsonnet +withProvenance(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withSettings + +```jsonnet +withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withSettingsMixin + +```jsonnet +withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"alertmanager"`, `" dingding"`, `" discord"`, `" email"`, `" googlechat"`, `" kafka"`, `" line"`, `" opsgenie"`, `" pagerduty"`, `" pushover"`, `" sensugo"`, `" slack"`, `" teams"`, `" telegram"`, `" threema"`, `" victorops"`, `" webhook"`, `" wecom"` + + +### fn withUid + +```jsonnet +withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +UID is the unique identifier of the contact point. The UID can be +set by the user. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md new file mode 100644 index 0000000000..b77a82d09f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md @@ -0,0 +1,11 @@ +# alerting + +grafonnet.alerting + +## Subpackages + +* [contactPoint](contactPoint.md) +* [messageTemplate](messageTemplate.md) +* [muteTiming](muteTiming/index.md) +* [notificationPolicy](notificationPolicy/index.md) +* [ruleGroup](ruleGroup/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md new file mode 100644 index 0000000000..df7c233361 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md @@ -0,0 +1,32 @@ +# messageTemplate + +grafonnet.alerting.messageTemplate + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withTemplate(value)`](#fn-withtemplate) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTemplate + +```jsonnet +withTemplate(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md new file mode 100644 index 0000000000..3aee846bb2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md @@ -0,0 +1,48 @@ +# muteTiming + +grafonnet.alerting.muteTiming + +## Subpackages + +* [interval](interval/index.md) + +## Index + +* [`fn withIntervals(value)`](#fn-withintervals) +* [`fn withIntervalsMixin(value)`](#fn-withintervalsmixin) +* [`fn withName(value)`](#fn-withname) + +## Fields + +### fn withIntervals + +```jsonnet +withIntervals(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withIntervalsMixin + +```jsonnet +withIntervalsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md new file mode 100644 index 0000000000..aecdd1d920 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md @@ -0,0 +1,144 @@ +# interval + + + +## Subpackages + +* [times](times.md) + +## Index + +* [`fn withDaysOfMonth(value)`](#fn-withdaysofmonth) +* [`fn withDaysOfMonthMixin(value)`](#fn-withdaysofmonthmixin) +* [`fn withLocation(value)`](#fn-withlocation) +* [`fn withMonths(value)`](#fn-withmonths) +* [`fn withMonthsMixin(value)`](#fn-withmonthsmixin) +* [`fn withTimes(value)`](#fn-withtimes) +* [`fn withTimesMixin(value)`](#fn-withtimesmixin) +* [`fn withWeekdays(value)`](#fn-withweekdays) +* [`fn withWeekdaysMixin(value)`](#fn-withweekdaysmixin) +* [`fn withYears(value)`](#fn-withyears) +* [`fn withYearsMixin(value)`](#fn-withyearsmixin) + +## Fields + +### fn withDaysOfMonth + +```jsonnet +withDaysOfMonth(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withDaysOfMonthMixin + +```jsonnet +withDaysOfMonthMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withLocation + +```jsonnet +withLocation(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withMonths + +```jsonnet +withMonths(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withMonthsMixin + +```jsonnet +withMonthsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTimes + +```jsonnet +withTimes(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTimesMixin + +```jsonnet +withTimesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withWeekdays + +```jsonnet +withWeekdays(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withWeekdaysMixin + +```jsonnet +withWeekdaysMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withYears + +```jsonnet +withYears(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withYearsMixin + +```jsonnet +withYearsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md new file mode 100644 index 0000000000..43f7b3fe91 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md @@ -0,0 +1,32 @@ +# times + + + +## Index + +* [`fn withFrom(value)`](#fn-withfrom) +* [`fn withTo(value)`](#fn-withto) + +## Fields + +### fn withFrom + +```jsonnet +withFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTo + +```jsonnet +withTo(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md new file mode 100644 index 0000000000..cb4aa0a984 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md @@ -0,0 +1,173 @@ +# notificationPolicy + +grafonnet.alerting.notificationPolicy + +## Subpackages + +* [matcher](matcher.md) + +## Index + +* [`fn withContactPoint(value)`](#fn-withcontactpoint) +* [`fn withContinue(value=true)`](#fn-withcontinue) +* [`fn withGroupBy(value)`](#fn-withgroupby) +* [`fn withGroupByMixin(value)`](#fn-withgroupbymixin) +* [`fn withGroupInterval(value)`](#fn-withgroupinterval) +* [`fn withGroupWait(value)`](#fn-withgroupwait) +* [`fn withMatchers(value)`](#fn-withmatchers) +* [`fn withMatchersMixin(value)`](#fn-withmatchersmixin) +* [`fn withMuteTimeIntervals(value)`](#fn-withmutetimeintervals) +* [`fn withMuteTimeIntervalsMixin(value)`](#fn-withmutetimeintervalsmixin) +* [`fn withPolicy(value)`](#fn-withpolicy) +* [`fn withPolicyMixin(value)`](#fn-withpolicymixin) +* [`fn withRepeatInterval(value)`](#fn-withrepeatinterval) + +## Fields + +### fn withContactPoint + +```jsonnet +withContactPoint(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withContinue + +```jsonnet +withContinue(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withGroupBy + +```jsonnet +withGroupBy(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withGroupByMixin + +```jsonnet +withGroupByMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withGroupInterval + +```jsonnet +withGroupInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withGroupWait + +```jsonnet +withGroupWait(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withMatchers + +```jsonnet +withMatchers(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Matchers is a slice of Matchers that is sortable, implements Stringer, and +provides a Matches method to match a LabelSet against all Matchers in the +slice. Note that some users of Matchers might require it to be sorted. +### fn withMatchersMixin + +```jsonnet +withMatchersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Matchers is a slice of Matchers that is sortable, implements Stringer, and +provides a Matches method to match a LabelSet against all Matchers in the +slice. Note that some users of Matchers might require it to be sorted. +### fn withMuteTimeIntervals + +```jsonnet +withMuteTimeIntervals(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withMuteTimeIntervalsMixin + +```jsonnet +withMuteTimeIntervalsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPolicy + +```jsonnet +withPolicy(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPolicyMixin + +```jsonnet +withPolicyMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withRepeatInterval + +```jsonnet +withRepeatInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md new file mode 100644 index 0000000000..f31b1d85b2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md @@ -0,0 +1,45 @@ +# matcher + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withType(value)`](#fn-withtype) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"="`, `"!="`, `"=~"`, `"!~"` + +MatchType is an enum for label matching types. +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md new file mode 100644 index 0000000000..21d94b5fab --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md @@ -0,0 +1,72 @@ +# ruleGroup + +grafonnet.alerting.ruleGroup + +## Subpackages + +* [rule](rule/index.md) + +## Index + +* [`fn withFolderUid(value)`](#fn-withfolderuid) +* [`fn withInterval(value)`](#fn-withinterval) +* [`fn withName(value)`](#fn-withname) +* [`fn withRules(value)`](#fn-withrules) +* [`fn withRulesMixin(value)`](#fn-withrulesmixin) + +## Fields + +### fn withFolderUid + +```jsonnet +withFolderUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withInterval + +```jsonnet +withInterval(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withRules + +```jsonnet +withRules(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withRulesMixin + +```jsonnet +withRulesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md new file mode 100644 index 0000000000..0c6052003c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md @@ -0,0 +1,128 @@ +# data + + + +## Index + +* [`fn withDatasourceUid(value)`](#fn-withdatasourceuid) +* [`fn withModel(value)`](#fn-withmodel) +* [`fn withModelMixin(value)`](#fn-withmodelmixin) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withRelativeTimeRange(value)`](#fn-withrelativetimerange) +* [`fn withRelativeTimeRangeMixin(value)`](#fn-withrelativetimerangemixin) +* [`obj relativeTimeRange`](#obj-relativetimerange) + * [`fn withFrom(value)`](#fn-relativetimerangewithfrom) + * [`fn withTo(value)`](#fn-relativetimerangewithto) + +## Fields + +### fn withDatasourceUid + +```jsonnet +withDatasourceUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation. +### fn withModel + +```jsonnet +withModel(value) +``` + +PARAMETERS: + +* **value** (`object`) + +JSON is the raw JSON query and includes the above properties as well as custom properties. +### fn withModelMixin + +```jsonnet +withModelMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +JSON is the raw JSON query and includes the above properties as well as custom properties. +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +QueryType is an optional identifier for the type of query. +It can be used to distinguish different types of queries. +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +RefID is the unique identifier of the query, set by the frontend call. +### fn withRelativeTimeRange + +```jsonnet +withRelativeTimeRange(value) +``` + +PARAMETERS: + +* **value** (`object`) + +RelativeTimeRange is the per query start and end time +for requests. +### fn withRelativeTimeRangeMixin + +```jsonnet +withRelativeTimeRangeMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +RelativeTimeRange is the per query start and end time +for requests. +### obj relativeTimeRange + + +#### fn relativeTimeRange.withFrom + +```jsonnet +relativeTimeRange.withFrom(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +A Duration represents the elapsed time between two instants +as an int64 nanosecond count. The representation limits the +largest representable duration to approximately 290 years. +#### fn relativeTimeRange.withTo + +```jsonnet +relativeTimeRange.withTo(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +A Duration represents the elapsed time between two instants +as an int64 nanosecond count. The representation limits the +largest representable duration to approximately 290 years. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md new file mode 100644 index 0000000000..e93787c028 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md @@ -0,0 +1,161 @@ +# rule + + + +## Subpackages + +* [data](data.md) + +## Index + +* [`fn withAnnotations(value)`](#fn-withannotations) +* [`fn withAnnotationsMixin(value)`](#fn-withannotationsmixin) +* [`fn withCondition(value)`](#fn-withcondition) +* [`fn withData(value)`](#fn-withdata) +* [`fn withDataMixin(value)`](#fn-withdatamixin) +* [`fn withExecErrState(value)`](#fn-withexecerrstate) +* [`fn withFor(value)`](#fn-withfor) +* [`fn withIsPaused(value=true)`](#fn-withispaused) +* [`fn withLabels(value)`](#fn-withlabels) +* [`fn withLabelsMixin(value)`](#fn-withlabelsmixin) +* [`fn withName(value)`](#fn-withname) +* [`fn withNoDataState(value)`](#fn-withnodatastate) + +## Fields + +### fn withAnnotations + +```jsonnet +withAnnotations(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withAnnotationsMixin + +```jsonnet +withAnnotationsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withCondition + +```jsonnet +withCondition(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withData + +```jsonnet +withData(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withDataMixin + +```jsonnet +withDataMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withExecErrState + +```jsonnet +withExecErrState(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"OK"`, `"Alerting"`, `"Error"` + + +### fn withFor + +```jsonnet +withFor(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +A Duration represents the elapsed time between two instants +as an int64 nanosecond count. The representation limits the +largest representable duration to approximately 290 years. +### fn withIsPaused + +```jsonnet +withIsPaused(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withLabels + +```jsonnet +withLabels(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLabelsMixin + +```jsonnet +withLabelsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withNoDataState + +```jsonnet +withNoDataState(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Alerting"`, `"NoData"`, `"OK"` + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md new file mode 100644 index 0000000000..d486ab0fb8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md @@ -0,0 +1,285 @@ +# annotation + + + +## Index + +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withDatasourceMixin(value)`](#fn-withdatasourcemixin) +* [`fn withEnable(value=true)`](#fn-withenable) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withIconColor(value)`](#fn-withiconcolor) +* [`fn withName(value)`](#fn-withname) +* [`fn withTarget(value)`](#fn-withtarget) +* [`fn withTargetMixin(value)`](#fn-withtargetmixin) +* [`fn withType(value)`](#fn-withtype) +* [`obj datasource`](#obj-datasource) + * [`fn withType(value)`](#fn-datasourcewithtype) + * [`fn withUid(value)`](#fn-datasourcewithuid) +* [`obj filter`](#obj-filter) + * [`fn withExclude(value=true)`](#fn-filterwithexclude) + * [`fn withIds(value)`](#fn-filterwithids) + * [`fn withIdsMixin(value)`](#fn-filterwithidsmixin) +* [`obj target`](#obj-target) + * [`fn withLimit(value)`](#fn-targetwithlimit) + * [`fn withMatchAny(value=true)`](#fn-targetwithmatchany) + * [`fn withTags(value)`](#fn-targetwithtags) + * [`fn withTagsMixin(value)`](#fn-targetwithtagsmixin) + * [`fn withType(value)`](#fn-targetwithtype) + +## Fields + +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: Should be DataSourceRef +### fn withDatasourceMixin + +```jsonnet +withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: Should be DataSourceRef +### fn withEnable + +```jsonnet +withEnable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +When enabled the annotation query is issued with every dashboard refresh +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Annotation queries can be toggled on or off at the top of the dashboard. +When hide is true, the toggle is not shown in the dashboard. +### fn withIconColor + +```jsonnet +withIconColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Color to use for the annotation event markers +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of annotation. +### fn withTarget + +```jsonnet +withTarget(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: this should be a regular DataQuery that depends on the selected dashboard +these match the properties of the "grafana" datasouce that is default in most dashboards +### fn withTargetMixin + +```jsonnet +withTargetMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: this should be a regular DataQuery that depends on the selected dashboard +these match the properties of the "grafana" datasouce that is default in most dashboards +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO -- this should not exist here, it is based on the --grafana-- datasource +### obj datasource + + +#### fn datasource.withType + +```jsonnet +datasource.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn datasource.withUid + +```jsonnet +datasource.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj filter + + +#### fn filter.withExclude + +```jsonnet +filter.withExclude(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Should the specified panels be included or excluded +#### fn filter.withIds + +```jsonnet +filter.withIds(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel IDs that should be included or excluded +#### fn filter.withIdsMixin + +```jsonnet +filter.withIdsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel IDs that should be included or excluded +### obj target + + +#### fn target.withLimit + +```jsonnet +target.withLimit(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Only required/valid for the grafana datasource... +but code+tests is already depending on it so hard to change +#### fn target.withMatchAny + +```jsonnet +target.withMatchAny(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Only required/valid for the grafana datasource... +but code+tests is already depending on it so hard to change +#### fn target.withTags + +```jsonnet +target.withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Only required/valid for the grafana datasource... +but code+tests is already depending on it so hard to change +#### fn target.withTagsMixin + +```jsonnet +target.withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Only required/valid for the grafana datasource... +but code+tests is already depending on it so hard to change +#### fn target.withType + +```jsonnet +target.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Only required/valid for the grafana datasource... +but code+tests is already depending on it so hard to change \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md new file mode 100644 index 0000000000..bb0a284dc0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md @@ -0,0 +1,517 @@ +# dashboard + +grafonnet.dashboard + +## Subpackages + +* [annotation](annotation.md) +* [link](link.md) +* [variable](variable.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`fn withAnnotations(value)`](#fn-withannotations) +* [`fn withAnnotationsMixin(value)`](#fn-withannotationsmixin) +* [`fn withDescription(value)`](#fn-withdescription) +* [`fn withEditable(value=true)`](#fn-witheditable) +* [`fn withFiscalYearStartMonth(value=0)`](#fn-withfiscalyearstartmonth) +* [`fn withLinks(value)`](#fn-withlinks) +* [`fn withLinksMixin(value)`](#fn-withlinksmixin) +* [`fn withLiveNow(value=true)`](#fn-withlivenow) +* [`fn withPanels(value)`](#fn-withpanels) +* [`fn withPanelsMixin(value)`](#fn-withpanelsmixin) +* [`fn withRefresh(value)`](#fn-withrefresh) +* [`fn withRefreshMixin(value)`](#fn-withrefreshmixin) +* [`fn withSchemaVersion(value=36)`](#fn-withschemaversion) +* [`fn withStyle(value="dark")`](#fn-withstyle) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTemplating(value)`](#fn-withtemplating) +* [`fn withTemplatingMixin(value)`](#fn-withtemplatingmixin) +* [`fn withTimezone(value="browser")`](#fn-withtimezone) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withUid(value)`](#fn-withuid) +* [`fn withVariables(value)`](#fn-withvariables) +* [`fn withVariablesMixin(value)`](#fn-withvariablesmixin) +* [`fn withWeekStart(value)`](#fn-withweekstart) +* [`obj graphTooltip`](#obj-graphtooltip) + * [`fn withSharedCrosshair()`](#fn-graphtooltipwithsharedcrosshair) + * [`fn withSharedTooltip()`](#fn-graphtooltipwithsharedtooltip) +* [`obj time`](#obj-time) + * [`fn withFrom(value="now-6h")`](#fn-timewithfrom) + * [`fn withTo(value="now")`](#fn-timewithto) +* [`obj timepicker`](#obj-timepicker) + * [`fn withCollapse(value=true)`](#fn-timepickerwithcollapse) + * [`fn withEnable(value=true)`](#fn-timepickerwithenable) + * [`fn withHidden(value=true)`](#fn-timepickerwithhidden) + * [`fn withRefreshIntervals(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"])`](#fn-timepickerwithrefreshintervals) + * [`fn withRefreshIntervalsMixin(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"])`](#fn-timepickerwithrefreshintervalsmixin) + * [`fn withTimeOptions(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"])`](#fn-timepickerwithtimeoptions) + * [`fn withTimeOptionsMixin(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"])`](#fn-timepickerwithtimeoptionsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new dashboard with a title. +### fn withAnnotations + +```jsonnet +withAnnotations(value) +``` + +PARAMETERS: + +* **value** (`array`) + +`withAnnotations` adds an array of annotations to a dashboard. + +This function appends passed data to existing values + +### fn withAnnotationsMixin + +```jsonnet +withAnnotationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +`withAnnotationsMixin` adds an array of annotations to a dashboard. + +This function appends passed data to existing values + +### fn withDescription + +```jsonnet +withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description of dashboard. +### fn withEditable + +```jsonnet +withEditable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether a dashboard is editable or not. +### fn withFiscalYearStartMonth + +```jsonnet +withFiscalYearStartMonth(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +The month that the fiscal year starts on. 0 = January, 11 = December +### fn withLinks + +```jsonnet +withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. + +`withLinks` takes an array of [link objects](./link.md). + +The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. + +Example: + +```jsonnet +local g = import 'g.libsonnet'; +local link = g.dashboard.link; + +g.dashboard.new('Title dashboard') ++ g.dashboard.withLinks([ + link.link.new('My title', 'https://wikipedia.org/'), +]) +``` + +### fn withLinksMixin + +```jsonnet +withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. + +`withLinks` takes an array of [link objects](./link.md). + +The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. + +Example: + +```jsonnet +local g = import 'g.libsonnet'; +local link = g.dashboard.link; + +g.dashboard.new('Title dashboard') ++ g.dashboard.withLinks([ + link.link.new('My title', 'https://wikipedia.org/'), +]) +``` + +### fn withLiveNow + +```jsonnet +withLiveNow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +When set to true, the dashboard will redraw panels at an interval matching the pixel width. +This will keep data "moving left" regardless of the query refresh rate. This setting helps +avoid dashboards presenting stale live data +### fn withPanels + +```jsonnet +withPanels(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPanelsMixin + +```jsonnet +withPanelsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withRefresh + +```jsonnet +withRefresh(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d". +### fn withRefreshMixin + +```jsonnet +withRefreshMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d". +### fn withSchemaVersion + +```jsonnet +withSchemaVersion(value=36) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `36` + +Version of the JSON schema, incremented each time a Grafana update brings +changes to said schema. +TODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion +### fn withStyle + +```jsonnet +withStyle(value="dark") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"dark"` + - valid values: `"dark"`, `"light"` + +Theme of dashboard. +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Tags associated with dashboard. +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Tags associated with dashboard. +### fn withTemplating + +```jsonnet +withTemplating(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withTemplatingMixin + +```jsonnet +withTemplatingMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withTimezone + +```jsonnet +withTimezone(value="browser") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"browser"` + +Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc". +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Title of dashboard. +### fn withUid + +```jsonnet +withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique dashboard identifier that can be generated by anyone. string (8-40) +### fn withVariables + +```jsonnet +withVariables(value) +``` + +PARAMETERS: + +* **value** (`array`) + +`withVariables` adds an array of variables to a dashboard + +### fn withVariablesMixin + +```jsonnet +withVariablesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +`withVariablesMixin` adds an array of variables to a dashboard. + +This function appends passed data to existing values + +### fn withWeekStart + +```jsonnet +withWeekStart(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### obj graphTooltip + + +#### fn graphTooltip.withSharedCrosshair + +```jsonnet +graphTooltip.withSharedCrosshair() +``` + + +Share crosshair on all panels. +#### fn graphTooltip.withSharedTooltip + +```jsonnet +graphTooltip.withSharedTooltip() +``` + + +Share crosshair and tooltip on all panels. +### obj time + + +#### fn time.withFrom + +```jsonnet +time.withFrom(value="now-6h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"now-6h"` + + +#### fn time.withTo + +```jsonnet +time.withTo(value="now") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"now"` + + +### obj timepicker + + +#### fn timepicker.withCollapse + +```jsonnet +timepicker.withCollapse(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether timepicker is collapsed or not. +#### fn timepicker.withEnable + +```jsonnet +timepicker.withEnable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether timepicker is enabled or not. +#### fn timepicker.withHidden + +```jsonnet +timepicker.withHidden(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether timepicker is visible or not. +#### fn timepicker.withRefreshIntervals + +```jsonnet +timepicker.withRefreshIntervals(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]) +``` + +PARAMETERS: + +* **value** (`array`) + - default value: `["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]` + +Selectable intervals for auto-refresh. +#### fn timepicker.withRefreshIntervalsMixin + +```jsonnet +timepicker.withRefreshIntervalsMixin(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]) +``` + +PARAMETERS: + +* **value** (`array`) + - default value: `["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]` + +Selectable intervals for auto-refresh. +#### fn timepicker.withTimeOptions + +```jsonnet +timepicker.withTimeOptions(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"]) +``` + +PARAMETERS: + +* **value** (`array`) + - default value: `["5m","15m","1h","6h","12h","24h","2d","7d","30d"]` + +TODO docs +#### fn timepicker.withTimeOptionsMixin + +```jsonnet +timepicker.withTimeOptionsMixin(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"]) +``` + +PARAMETERS: + +* **value** (`array`) + - default value: `["5m","15m","1h","6h","12h","24h","2d","7d","30d"]` + +TODO docs \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md new file mode 100644 index 0000000000..75072e581c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md @@ -0,0 +1,195 @@ +# link + +Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. + +The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. + +Example: + +```jsonnet +local g = import 'g.libsonnet'; +local link = g.dashboard.link; + +g.dashboard.new('Title dashboard') ++ g.dashboard.withLinks([ + link.link.new('My title', 'https://wikipedia.org/'), +]) +``` + + +## Index + +* [`obj dashboards`](#obj-dashboards) + * [`fn new(title, tags)`](#fn-dashboardsnew) + * [`obj options`](#obj-dashboardsoptions) + * [`fn withAsDropdown(value=true)`](#fn-dashboardsoptionswithasdropdown) + * [`fn withIncludeVars(value=true)`](#fn-dashboardsoptionswithincludevars) + * [`fn withKeepTime(value=true)`](#fn-dashboardsoptionswithkeeptime) + * [`fn withTargetBlank(value=true)`](#fn-dashboardsoptionswithtargetblank) +* [`obj link`](#obj-link) + * [`fn new(title, url)`](#fn-linknew) + * [`fn withIcon(value)`](#fn-linkwithicon) + * [`fn withTooltip(value)`](#fn-linkwithtooltip) + * [`obj options`](#obj-linkoptions) + * [`fn withAsDropdown(value=true)`](#fn-linkoptionswithasdropdown) + * [`fn withIncludeVars(value=true)`](#fn-linkoptionswithincludevars) + * [`fn withKeepTime(value=true)`](#fn-linkoptionswithkeeptime) + * [`fn withTargetBlank(value=true)`](#fn-linkoptionswithtargetblank) + +## Fields + +### obj dashboards + + +#### fn dashboards.new + +```jsonnet +dashboards.new(title, tags) +``` + +PARAMETERS: + +* **title** (`string`) +* **tags** (`array`) + +Create links to dashboards based on `tags`. + +#### obj dashboards.options + + +##### fn dashboards.options.withAsDropdown + +```jsonnet +dashboards.options.withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn dashboards.options.withIncludeVars + +```jsonnet +dashboards.options.withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn dashboards.options.withKeepTime + +```jsonnet +dashboards.options.withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn dashboards.options.withTargetBlank + +```jsonnet +dashboards.options.withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj link + + +#### fn link.new + +```jsonnet +link.new(title, url) +``` + +PARAMETERS: + +* **title** (`string`) +* **url** (`string`) + +Create link to an arbitrary URL. + +#### fn link.withIcon + +```jsonnet +link.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn link.withTooltip + +```jsonnet +link.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj link.options + + +##### fn link.options.withAsDropdown + +```jsonnet +link.options.withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn link.options.withIncludeVars + +```jsonnet +link.options.withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn link.options.withKeepTime + +```jsonnet +link.options.withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn link.options.withTargetBlank + +```jsonnet +link.options.withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md new file mode 100644 index 0000000000..95ea78b86a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md @@ -0,0 +1,1042 @@ +# variable + +Example usage: + +```jsonnet +local g = import 'g.libsonnet'; +local var = g.dashboard.variable; + +local customVar = + var.custom.new( + 'myOptions', + values=['a', 'b', 'c', 'd'], + ) + + var.custom.generalOptions.withDescription( + 'This is a variable for my custom options.' + ) + + var.custom.selectionOptions.withMulti(); + +local queryVar = + var.query.new('queryOptions') + + var.query.queryTypes.withLabelValues( + 'up', + 'instance', + ) + + var.query.withDatasource( + type='prometheus', + uid='mimir-prod', + ) + + var.query.selectionOptions.withIncludeAll(); + + +g.dashboard.new('my dashboard') ++ g.dashboard.withVariables([ + customVar, + queryVar, +]) +``` + + +## Index + +* [`obj adhoc`](#obj-adhoc) + * [`fn new(name, type, uid)`](#fn-adhocnew) + * [`fn newFromDatasourceVariable(name, variable)`](#fn-adhocnewfromdatasourcevariable) + * [`obj generalOptions`](#obj-adhocgeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-adhocgeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-adhocgeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-adhocgeneraloptionswithlabel) + * [`fn withName(value)`](#fn-adhocgeneraloptionswithname) + * [`obj showOnDashboard`](#obj-adhocgeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-adhocgeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-adhocgeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-adhocgeneraloptionsshowondashboardwithvalueonly) +* [`obj constant`](#obj-constant) + * [`fn new(name, value)`](#fn-constantnew) + * [`obj generalOptions`](#obj-constantgeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-constantgeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-constantgeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-constantgeneraloptionswithlabel) + * [`fn withName(value)`](#fn-constantgeneraloptionswithname) + * [`obj showOnDashboard`](#obj-constantgeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-constantgeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-constantgeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-constantgeneraloptionsshowondashboardwithvalueonly) +* [`obj custom`](#obj-custom) + * [`fn new(name, values)`](#fn-customnew) + * [`obj generalOptions`](#obj-customgeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-customgeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-customgeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-customgeneraloptionswithlabel) + * [`fn withName(value)`](#fn-customgeneraloptionswithname) + * [`obj showOnDashboard`](#obj-customgeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-customgeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-customgeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-customgeneraloptionsshowondashboardwithvalueonly) + * [`obj selectionOptions`](#obj-customselectionoptions) + * [`fn withIncludeAll(value=true, customAllValue)`](#fn-customselectionoptionswithincludeall) + * [`fn withMulti(value=true)`](#fn-customselectionoptionswithmulti) +* [`obj datasource`](#obj-datasource) + * [`fn new(name, type)`](#fn-datasourcenew) + * [`fn withRegex(value)`](#fn-datasourcewithregex) + * [`obj generalOptions`](#obj-datasourcegeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-datasourcegeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-datasourcegeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-datasourcegeneraloptionswithlabel) + * [`fn withName(value)`](#fn-datasourcegeneraloptionswithname) + * [`obj showOnDashboard`](#obj-datasourcegeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-datasourcegeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-datasourcegeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-datasourcegeneraloptionsshowondashboardwithvalueonly) + * [`obj selectionOptions`](#obj-datasourceselectionoptions) + * [`fn withIncludeAll(value=true, customAllValue)`](#fn-datasourceselectionoptionswithincludeall) + * [`fn withMulti(value=true)`](#fn-datasourceselectionoptionswithmulti) +* [`obj interval`](#obj-interval) + * [`fn new(name, values)`](#fn-intervalnew) + * [`fn withAutoOption(count, minInterval)`](#fn-intervalwithautooption) + * [`obj generalOptions`](#obj-intervalgeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-intervalgeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-intervalgeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-intervalgeneraloptionswithlabel) + * [`fn withName(value)`](#fn-intervalgeneraloptionswithname) + * [`obj showOnDashboard`](#obj-intervalgeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-intervalgeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-intervalgeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-intervalgeneraloptionsshowondashboardwithvalueonly) +* [`obj query`](#obj-query) + * [`fn new(name, query="")`](#fn-querynew) + * [`fn withDatasource(type, uid)`](#fn-querywithdatasource) + * [`fn withDatasourceFromVariable(variable)`](#fn-querywithdatasourcefromvariable) + * [`fn withRegex(value)`](#fn-querywithregex) + * [`fn withSort(i=0, type="alphabetical", asc=true, caseInsensitive=false)`](#fn-querywithsort) + * [`obj generalOptions`](#obj-querygeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-querygeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-querygeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-querygeneraloptionswithlabel) + * [`fn withName(value)`](#fn-querygeneraloptionswithname) + * [`obj showOnDashboard`](#obj-querygeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-querygeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-querygeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-querygeneraloptionsshowondashboardwithvalueonly) + * [`obj queryTypes`](#obj-queryquerytypes) + * [`fn withLabelValues(label, metric="")`](#fn-queryquerytypeswithlabelvalues) + * [`obj refresh`](#obj-queryrefresh) + * [`fn onLoad()`](#fn-queryrefreshonload) + * [`fn onTime()`](#fn-queryrefreshontime) + * [`obj selectionOptions`](#obj-queryselectionoptions) + * [`fn withIncludeAll(value=true, customAllValue)`](#fn-queryselectionoptionswithincludeall) + * [`fn withMulti(value=true)`](#fn-queryselectionoptionswithmulti) +* [`obj textbox`](#obj-textbox) + * [`fn new(name, default="")`](#fn-textboxnew) + * [`obj generalOptions`](#obj-textboxgeneraloptions) + * [`fn withCurrent(key, value="")`](#fn-textboxgeneraloptionswithcurrent) + * [`fn withDescription(value)`](#fn-textboxgeneraloptionswithdescription) + * [`fn withLabel(value)`](#fn-textboxgeneraloptionswithlabel) + * [`fn withName(value)`](#fn-textboxgeneraloptionswithname) + * [`obj showOnDashboard`](#obj-textboxgeneraloptionsshowondashboard) + * [`fn withLabelAndValue()`](#fn-textboxgeneraloptionsshowondashboardwithlabelandvalue) + * [`fn withNothing()`](#fn-textboxgeneraloptionsshowondashboardwithnothing) + * [`fn withValueOnly()`](#fn-textboxgeneraloptionsshowondashboardwithvalueonly) + +## Fields + +### obj adhoc + + +#### fn adhoc.new + +```jsonnet +adhoc.new(name, type, uid) +``` + +PARAMETERS: + +* **name** (`string`) +* **type** (`string`) +* **uid** (`string`) + +`new` creates an adhoc template variable for datasource with `type` and `uid`. +#### fn adhoc.newFromDatasourceVariable + +```jsonnet +adhoc.newFromDatasourceVariable(name, variable) +``` + +PARAMETERS: + +* **name** (`string`) +* **variable** (`object`) + +Same as `new` but selecting the datasource from another template variable. +#### obj adhoc.generalOptions + + +##### fn adhoc.generalOptions.withCurrent + +```jsonnet +adhoc.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn adhoc.generalOptions.withDescription + +```jsonnet +adhoc.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn adhoc.generalOptions.withLabel + +```jsonnet +adhoc.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn adhoc.generalOptions.withName + +```jsonnet +adhoc.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj adhoc.generalOptions.showOnDashboard + + +###### fn adhoc.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +adhoc.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn adhoc.generalOptions.showOnDashboard.withNothing + +```jsonnet +adhoc.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn adhoc.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +adhoc.generalOptions.showOnDashboard.withValueOnly() +``` + + + +### obj constant + + +#### fn constant.new + +```jsonnet +constant.new(name, value) +``` + +PARAMETERS: + +* **name** (`string`) +* **value** (`string`) + +`new` creates a hidden constant template variable. +#### obj constant.generalOptions + + +##### fn constant.generalOptions.withCurrent + +```jsonnet +constant.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn constant.generalOptions.withDescription + +```jsonnet +constant.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn constant.generalOptions.withLabel + +```jsonnet +constant.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn constant.generalOptions.withName + +```jsonnet +constant.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj constant.generalOptions.showOnDashboard + + +###### fn constant.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +constant.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn constant.generalOptions.showOnDashboard.withNothing + +```jsonnet +constant.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn constant.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +constant.generalOptions.showOnDashboard.withValueOnly() +``` + + + +### obj custom + + +#### fn custom.new + +```jsonnet +custom.new(name, values) +``` + +PARAMETERS: + +* **name** (`string`) +* **values** (`array`) + +`new` creates a custom template variable. + +The `values` array accepts an object with key/value keys, if it's not an object +then it will be added as a string. + +Example: +``` +[ + { key: 'mykey', value: 'myvalue' }, + 'myvalue', + 12, +] + +#### obj custom.generalOptions + + +##### fn custom.generalOptions.withCurrent + +```jsonnet +custom.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn custom.generalOptions.withDescription + +```jsonnet +custom.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn custom.generalOptions.withLabel + +```jsonnet +custom.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn custom.generalOptions.withName + +```jsonnet +custom.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj custom.generalOptions.showOnDashboard + + +###### fn custom.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +custom.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn custom.generalOptions.showOnDashboard.withNothing + +```jsonnet +custom.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn custom.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +custom.generalOptions.showOnDashboard.withValueOnly() +``` + + + +#### obj custom.selectionOptions + + +##### fn custom.selectionOptions.withIncludeAll + +```jsonnet +custom.selectionOptions.withIncludeAll(value=true, customAllValue) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` +* **customAllValue** (`bool`) + +`withIncludeAll` enables an option to include all variables. + +Optionally you can set a `customAllValue`. + +##### fn custom.selectionOptions.withMulti + +```jsonnet +custom.selectionOptions.withMulti(value=true) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` + +Enable selecting multiple values. +### obj datasource + + +#### fn datasource.new + +```jsonnet +datasource.new(name, type) +``` + +PARAMETERS: + +* **name** (`string`) +* **type** (`string`) + +`new` creates a datasource template variable. +#### fn datasource.withRegex + +```jsonnet +datasource.withRegex(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`withRegex` filter for which data source instances to choose from in the +variable value list. Example: `/^prod/` + +#### obj datasource.generalOptions + + +##### fn datasource.generalOptions.withCurrent + +```jsonnet +datasource.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn datasource.generalOptions.withDescription + +```jsonnet +datasource.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn datasource.generalOptions.withLabel + +```jsonnet +datasource.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn datasource.generalOptions.withName + +```jsonnet +datasource.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj datasource.generalOptions.showOnDashboard + + +###### fn datasource.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +datasource.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn datasource.generalOptions.showOnDashboard.withNothing + +```jsonnet +datasource.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn datasource.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +datasource.generalOptions.showOnDashboard.withValueOnly() +``` + + + +#### obj datasource.selectionOptions + + +##### fn datasource.selectionOptions.withIncludeAll + +```jsonnet +datasource.selectionOptions.withIncludeAll(value=true, customAllValue) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` +* **customAllValue** (`bool`) + +`withIncludeAll` enables an option to include all variables. + +Optionally you can set a `customAllValue`. + +##### fn datasource.selectionOptions.withMulti + +```jsonnet +datasource.selectionOptions.withMulti(value=true) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` + +Enable selecting multiple values. +### obj interval + + +#### fn interval.new + +```jsonnet +interval.new(name, values) +``` + +PARAMETERS: + +* **name** (`string`) +* **values** (`array`) + +`new` creates an interval template variable. +#### fn interval.withAutoOption + +```jsonnet +interval.withAutoOption(count, minInterval) +``` + +PARAMETERS: + +* **count** (`number`) +* **minInterval** (`string`) + +`withAutoOption` adds an options to dynamically calculate interval by dividing +time range by the count specified. + +`minInterval' has to be either unit-less or end with one of the following units: +"y, M, w, d, h, m, s, ms". + +#### obj interval.generalOptions + + +##### fn interval.generalOptions.withCurrent + +```jsonnet +interval.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn interval.generalOptions.withDescription + +```jsonnet +interval.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn interval.generalOptions.withLabel + +```jsonnet +interval.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn interval.generalOptions.withName + +```jsonnet +interval.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj interval.generalOptions.showOnDashboard + + +###### fn interval.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +interval.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn interval.generalOptions.showOnDashboard.withNothing + +```jsonnet +interval.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn interval.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +interval.generalOptions.showOnDashboard.withValueOnly() +``` + + + +### obj query + + +#### fn query.new + +```jsonnet +query.new(name, query="") +``` + +PARAMETERS: + +* **name** (`string`) +* **query** (`string`) + - default value: `""` + +Create a query template variable. + +`query` argument is optional, this can also be set with `query.queryTypes`. + +#### fn query.withDatasource + +```jsonnet +query.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +Select a datasource for the variable template query. +#### fn query.withDatasourceFromVariable + +```jsonnet +query.withDatasourceFromVariable(variable) +``` + +PARAMETERS: + +* **variable** (`object`) + +Select the datasource from another template variable. +#### fn query.withRegex + +```jsonnet +query.withRegex(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`withRegex` can extract part of a series name or metric node segment. Named +capture groups can be used to separate the display text and value +([see examples](https://grafana.com/docs/grafana/latest/variables/filter-variables-with-regex#filter-and-modify-using-named-text-and-value-capture-groups)). + +#### fn query.withSort + +```jsonnet +query.withSort(i=0, type="alphabetical", asc=true, caseInsensitive=false) +``` + +PARAMETERS: + +* **i** (`number`) + - default value: `0` +* **type** (`string`) + - default value: `"alphabetical"` +* **asc** (`bool`) + - default value: `true` +* **caseInsensitive** (`bool`) + - default value: `false` + +Choose how to sort the values in the dropdown. + +This can be called as `withSort() to use the integer values for each +option. If `i==0` then it will be ignored and the other arguments will take +precedence. + +The numerical values are: + +- 1 - Alphabetical (asc) +- 2 - Alphabetical (desc) +- 3 - Numerical (asc) +- 4 - Numerical (desc) +- 5 - Alphabetical (case-insensitive, asc) +- 6 - Alphabetical (case-insensitive, desc) + +#### obj query.generalOptions + + +##### fn query.generalOptions.withCurrent + +```jsonnet +query.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn query.generalOptions.withDescription + +```jsonnet +query.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn query.generalOptions.withLabel + +```jsonnet +query.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn query.generalOptions.withName + +```jsonnet +query.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj query.generalOptions.showOnDashboard + + +###### fn query.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +query.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn query.generalOptions.showOnDashboard.withNothing + +```jsonnet +query.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn query.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +query.generalOptions.showOnDashboard.withValueOnly() +``` + + + +#### obj query.queryTypes + + +##### fn query.queryTypes.withLabelValues + +```jsonnet +query.queryTypes.withLabelValues(label, metric="") +``` + +PARAMETERS: + +* **label** (`string`) +* **metric** (`string`) + - default value: `""` + +Construct a Prometheus template variable using `label_values()`. +#### obj query.refresh + + +##### fn query.refresh.onLoad + +```jsonnet +query.refresh.onLoad() +``` + + +Refresh label values on dashboard load. +##### fn query.refresh.onTime + +```jsonnet +query.refresh.onTime() +``` + + +Refresh label values on time range change. +#### obj query.selectionOptions + + +##### fn query.selectionOptions.withIncludeAll + +```jsonnet +query.selectionOptions.withIncludeAll(value=true, customAllValue) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` +* **customAllValue** (`bool`) + +`withIncludeAll` enables an option to include all variables. + +Optionally you can set a `customAllValue`. + +##### fn query.selectionOptions.withMulti + +```jsonnet +query.selectionOptions.withMulti(value=true) +``` + +PARAMETERS: + +* **value** (`bool`) + - default value: `true` + +Enable selecting multiple values. +### obj textbox + + +#### fn textbox.new + +```jsonnet +textbox.new(name, default="") +``` + +PARAMETERS: + +* **name** (`string`) +* **default** (`string`) + - default value: `""` + +`new` creates a textbox template variable. +#### obj textbox.generalOptions + + +##### fn textbox.generalOptions.withCurrent + +```jsonnet +textbox.generalOptions.withCurrent(key, value="") +``` + +PARAMETERS: + +* **key** (`any`) +* **value** (`any`) + - default value: `""` + +`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. + +##### fn textbox.generalOptions.withDescription + +```jsonnet +textbox.generalOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn textbox.generalOptions.withLabel + +```jsonnet +textbox.generalOptions.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn textbox.generalOptions.withName + +```jsonnet +textbox.generalOptions.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj textbox.generalOptions.showOnDashboard + + +###### fn textbox.generalOptions.showOnDashboard.withLabelAndValue + +```jsonnet +textbox.generalOptions.showOnDashboard.withLabelAndValue() +``` + + + +###### fn textbox.generalOptions.showOnDashboard.withNothing + +```jsonnet +textbox.generalOptions.showOnDashboard.withNothing() +``` + + + +###### fn textbox.generalOptions.showOnDashboard.withValueOnly + +```jsonnet +textbox.generalOptions.showOnDashboard.withValueOnly() +``` + + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md new file mode 100644 index 0000000000..c4244ce4ba --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md @@ -0,0 +1,334 @@ +# librarypanel + +grafonnet.librarypanel + +## Index + +* [`fn withDescription(value)`](#fn-withdescription) +* [`fn withFolderUid(value)`](#fn-withfolderuid) +* [`fn withMeta(value)`](#fn-withmeta) +* [`fn withMetaMixin(value)`](#fn-withmetamixin) +* [`fn withModel(value)`](#fn-withmodel) +* [`fn withModelMixin(value)`](#fn-withmodelmixin) +* [`fn withName(value)`](#fn-withname) +* [`fn withSchemaVersion(value)`](#fn-withschemaversion) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUid(value)`](#fn-withuid) +* [`fn withVersion(value)`](#fn-withversion) +* [`obj meta`](#obj-meta) + * [`fn withConnectedDashboards(value)`](#fn-metawithconnecteddashboards) + * [`fn withCreated(value)`](#fn-metawithcreated) + * [`fn withCreatedBy(value)`](#fn-metawithcreatedby) + * [`fn withCreatedByMixin(value)`](#fn-metawithcreatedbymixin) + * [`fn withFolderName(value)`](#fn-metawithfoldername) + * [`fn withFolderUid(value)`](#fn-metawithfolderuid) + * [`fn withUpdated(value)`](#fn-metawithupdated) + * [`fn withUpdatedBy(value)`](#fn-metawithupdatedby) + * [`fn withUpdatedByMixin(value)`](#fn-metawithupdatedbymixin) + * [`obj createdBy`](#obj-metacreatedby) + * [`fn withAvatarUrl(value)`](#fn-metacreatedbywithavatarurl) + * [`fn withId(value)`](#fn-metacreatedbywithid) + * [`fn withName(value)`](#fn-metacreatedbywithname) + * [`obj updatedBy`](#obj-metaupdatedby) + * [`fn withAvatarUrl(value)`](#fn-metaupdatedbywithavatarurl) + * [`fn withId(value)`](#fn-metaupdatedbywithid) + * [`fn withName(value)`](#fn-metaupdatedbywithname) + +## Fields + +### fn withDescription + +```jsonnet +withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel description +### fn withFolderUid + +```jsonnet +withFolderUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Folder UID +### fn withMeta + +```jsonnet +withMeta(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withMetaMixin + +```jsonnet +withMetaMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withModel + +```jsonnet +withModel(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: should be the same panel schema defined in dashboard +Typescript: Omit; +### fn withModelMixin + +```jsonnet +withModelMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO: should be the same panel schema defined in dashboard +Typescript: Omit; +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel name (also saved in the model) +### fn withSchemaVersion + +```jsonnet +withSchemaVersion(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Dashboard version when this was saved (zero if unknown) +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The panel type (from inside the model) +### fn withUid + +```jsonnet +withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Library element UID +### fn withVersion + +```jsonnet +withVersion(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +panel version, incremented each time the dashboard is updated. +### obj meta + + +#### fn meta.withConnectedDashboards + +```jsonnet +meta.withConnectedDashboards(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn meta.withCreated + +```jsonnet +meta.withCreated(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn meta.withCreatedBy + +```jsonnet +meta.withCreatedBy(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn meta.withCreatedByMixin + +```jsonnet +meta.withCreatedByMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn meta.withFolderName + +```jsonnet +meta.withFolderName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn meta.withFolderUid + +```jsonnet +meta.withFolderUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn meta.withUpdated + +```jsonnet +meta.withUpdated(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn meta.withUpdatedBy + +```jsonnet +meta.withUpdatedBy(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn meta.withUpdatedByMixin + +```jsonnet +meta.withUpdatedByMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### obj meta.createdBy + + +##### fn meta.createdBy.withAvatarUrl + +```jsonnet +meta.createdBy.withAvatarUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn meta.createdBy.withId + +```jsonnet +meta.createdBy.withId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn meta.createdBy.withName + +```jsonnet +meta.createdBy.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj meta.updatedBy + + +##### fn meta.updatedBy.withAvatarUrl + +```jsonnet +meta.updatedBy.withAvatarUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn meta.updatedBy.withId + +```jsonnet +meta.updatedBy.withId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn meta.updatedBy.withName + +```jsonnet +meta.updatedBy.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md new file mode 100644 index 0000000000..1c3e3945db --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md @@ -0,0 +1,605 @@ +# alertGroups + +grafonnet.panel.alertGroups + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withAlertmanager(value)`](#fn-optionswithalertmanager) + * [`fn withExpandAll(value=true)`](#fn-optionswithexpandall) + * [`fn withLabels(value)`](#fn-optionswithlabels) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new alertGroups panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withAlertmanager + +```jsonnet +options.withAlertmanager(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the alertmanager used as a source for alerts +#### fn options.withExpandAll + +```jsonnet +options.withExpandAll(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Expand all alert groups by default +#### fn options.withLabels + +```jsonnet +options.withLabels(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Comma-separated list of values used to filter alert results +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md new file mode 100644 index 0000000000..e02b39b6cd --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md @@ -0,0 +1,1136 @@ +# alertList + +grafonnet.panel.alertList + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withAlertListOptions(value)`](#fn-optionswithalertlistoptions) + * [`fn withAlertListOptionsMixin(value)`](#fn-optionswithalertlistoptionsmixin) + * [`fn withUnifiedAlertListOptions(value)`](#fn-optionswithunifiedalertlistoptions) + * [`fn withUnifiedAlertListOptionsMixin(value)`](#fn-optionswithunifiedalertlistoptionsmixin) + * [`obj AlertListOptions`](#obj-optionsalertlistoptions) + * [`fn withAlertName(value)`](#fn-optionsalertlistoptionswithalertname) + * [`fn withDashboardAlerts(value=true)`](#fn-optionsalertlistoptionswithdashboardalerts) + * [`fn withDashboardTitle(value)`](#fn-optionsalertlistoptionswithdashboardtitle) + * [`fn withFolderId(value)`](#fn-optionsalertlistoptionswithfolderid) + * [`fn withMaxItems(value)`](#fn-optionsalertlistoptionswithmaxitems) + * [`fn withShowOptions(value)`](#fn-optionsalertlistoptionswithshowoptions) + * [`fn withSortOrder(value)`](#fn-optionsalertlistoptionswithsortorder) + * [`fn withStateFilter(value)`](#fn-optionsalertlistoptionswithstatefilter) + * [`fn withStateFilterMixin(value)`](#fn-optionsalertlistoptionswithstatefiltermixin) + * [`fn withTags(value)`](#fn-optionsalertlistoptionswithtags) + * [`fn withTagsMixin(value)`](#fn-optionsalertlistoptionswithtagsmixin) + * [`obj stateFilter`](#obj-optionsalertlistoptionsstatefilter) + * [`fn withAlerting(value=true)`](#fn-optionsalertlistoptionsstatefilterwithalerting) + * [`fn withExecutionError(value=true)`](#fn-optionsalertlistoptionsstatefilterwithexecutionerror) + * [`fn withNoData(value=true)`](#fn-optionsalertlistoptionsstatefilterwithnodata) + * [`fn withOk(value=true)`](#fn-optionsalertlistoptionsstatefilterwithok) + * [`fn withPaused(value=true)`](#fn-optionsalertlistoptionsstatefilterwithpaused) + * [`fn withPending(value=true)`](#fn-optionsalertlistoptionsstatefilterwithpending) + * [`obj UnifiedAlertListOptions`](#obj-optionsunifiedalertlistoptions) + * [`fn withAlertInstanceLabelFilter(value)`](#fn-optionsunifiedalertlistoptionswithalertinstancelabelfilter) + * [`fn withAlertName(value)`](#fn-optionsunifiedalertlistoptionswithalertname) + * [`fn withDashboardAlerts(value=true)`](#fn-optionsunifiedalertlistoptionswithdashboardalerts) + * [`fn withDatasource(value)`](#fn-optionsunifiedalertlistoptionswithdatasource) + * [`fn withFolder(value)`](#fn-optionsunifiedalertlistoptionswithfolder) + * [`fn withFolderMixin(value)`](#fn-optionsunifiedalertlistoptionswithfoldermixin) + * [`fn withGroupBy(value)`](#fn-optionsunifiedalertlistoptionswithgroupby) + * [`fn withGroupByMixin(value)`](#fn-optionsunifiedalertlistoptionswithgroupbymixin) + * [`fn withGroupMode(value)`](#fn-optionsunifiedalertlistoptionswithgroupmode) + * [`fn withMaxItems(value)`](#fn-optionsunifiedalertlistoptionswithmaxitems) + * [`fn withShowInstances(value=true)`](#fn-optionsunifiedalertlistoptionswithshowinstances) + * [`fn withSortOrder(value)`](#fn-optionsunifiedalertlistoptionswithsortorder) + * [`fn withStateFilter(value)`](#fn-optionsunifiedalertlistoptionswithstatefilter) + * [`fn withStateFilterMixin(value)`](#fn-optionsunifiedalertlistoptionswithstatefiltermixin) + * [`fn withViewMode(value)`](#fn-optionsunifiedalertlistoptionswithviewmode) + * [`obj folder`](#obj-optionsunifiedalertlistoptionsfolder) + * [`fn withId(value)`](#fn-optionsunifiedalertlistoptionsfolderwithid) + * [`fn withTitle(value)`](#fn-optionsunifiedalertlistoptionsfolderwithtitle) + * [`obj stateFilter`](#obj-optionsunifiedalertlistoptionsstatefilter) + * [`fn withError(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwitherror) + * [`fn withFiring(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithfiring) + * [`fn withInactive(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithinactive) + * [`fn withNoData(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithnodata) + * [`fn withNormal(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithnormal) + * [`fn withPending(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithpending) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new alertlist panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withAlertListOptions + +```jsonnet +options.withAlertListOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withAlertListOptionsMixin + +```jsonnet +options.withAlertListOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withUnifiedAlertListOptions + +```jsonnet +options.withUnifiedAlertListOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withUnifiedAlertListOptionsMixin + +```jsonnet +options.withUnifiedAlertListOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### obj options.AlertListOptions + + +##### fn options.AlertListOptions.withAlertName + +```jsonnet +options.AlertListOptions.withAlertName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.AlertListOptions.withDashboardAlerts + +```jsonnet +options.AlertListOptions.withDashboardAlerts(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.AlertListOptions.withDashboardTitle + +```jsonnet +options.AlertListOptions.withDashboardTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.AlertListOptions.withFolderId + +```jsonnet +options.AlertListOptions.withFolderId(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.AlertListOptions.withMaxItems + +```jsonnet +options.AlertListOptions.withMaxItems(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.AlertListOptions.withShowOptions + +```jsonnet +options.AlertListOptions.withShowOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"current"`, `"changes"` + + +##### fn options.AlertListOptions.withSortOrder + +```jsonnet +options.AlertListOptions.withSortOrder(value) +``` + +PARAMETERS: + +* **value** (`number`) + - valid values: `1`, `2`, `3`, `4`, `5` + + +##### fn options.AlertListOptions.withStateFilter + +```jsonnet +options.AlertListOptions.withStateFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.AlertListOptions.withStateFilterMixin + +```jsonnet +options.AlertListOptions.withStateFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.AlertListOptions.withTags + +```jsonnet +options.AlertListOptions.withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.AlertListOptions.withTagsMixin + +```jsonnet +options.AlertListOptions.withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### obj options.AlertListOptions.stateFilter + + +###### fn options.AlertListOptions.stateFilter.withAlerting + +```jsonnet +options.AlertListOptions.stateFilter.withAlerting(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.AlertListOptions.stateFilter.withExecutionError + +```jsonnet +options.AlertListOptions.stateFilter.withExecutionError(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.AlertListOptions.stateFilter.withNoData + +```jsonnet +options.AlertListOptions.stateFilter.withNoData(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.AlertListOptions.stateFilter.withOk + +```jsonnet +options.AlertListOptions.stateFilter.withOk(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.AlertListOptions.stateFilter.withPaused + +```jsonnet +options.AlertListOptions.stateFilter.withPaused(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.AlertListOptions.stateFilter.withPending + +```jsonnet +options.AlertListOptions.stateFilter.withPending(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### obj options.UnifiedAlertListOptions + + +##### fn options.UnifiedAlertListOptions.withAlertInstanceLabelFilter + +```jsonnet +options.UnifiedAlertListOptions.withAlertInstanceLabelFilter(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.UnifiedAlertListOptions.withAlertName + +```jsonnet +options.UnifiedAlertListOptions.withAlertName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.UnifiedAlertListOptions.withDashboardAlerts + +```jsonnet +options.UnifiedAlertListOptions.withDashboardAlerts(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.UnifiedAlertListOptions.withDatasource + +```jsonnet +options.UnifiedAlertListOptions.withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.UnifiedAlertListOptions.withFolder + +```jsonnet +options.UnifiedAlertListOptions.withFolder(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.UnifiedAlertListOptions.withFolderMixin + +```jsonnet +options.UnifiedAlertListOptions.withFolderMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.UnifiedAlertListOptions.withGroupBy + +```jsonnet +options.UnifiedAlertListOptions.withGroupBy(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.UnifiedAlertListOptions.withGroupByMixin + +```jsonnet +options.UnifiedAlertListOptions.withGroupByMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.UnifiedAlertListOptions.withGroupMode + +```jsonnet +options.UnifiedAlertListOptions.withGroupMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"default"`, `"custom"` + + +##### fn options.UnifiedAlertListOptions.withMaxItems + +```jsonnet +options.UnifiedAlertListOptions.withMaxItems(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.UnifiedAlertListOptions.withShowInstances + +```jsonnet +options.UnifiedAlertListOptions.withShowInstances(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.UnifiedAlertListOptions.withSortOrder + +```jsonnet +options.UnifiedAlertListOptions.withSortOrder(value) +``` + +PARAMETERS: + +* **value** (`number`) + - valid values: `1`, `2`, `3`, `4`, `5` + + +##### fn options.UnifiedAlertListOptions.withStateFilter + +```jsonnet +options.UnifiedAlertListOptions.withStateFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.UnifiedAlertListOptions.withStateFilterMixin + +```jsonnet +options.UnifiedAlertListOptions.withStateFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.UnifiedAlertListOptions.withViewMode + +```jsonnet +options.UnifiedAlertListOptions.withViewMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"stat"` + + +##### obj options.UnifiedAlertListOptions.folder + + +###### fn options.UnifiedAlertListOptions.folder.withId + +```jsonnet +options.UnifiedAlertListOptions.folder.withId(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn options.UnifiedAlertListOptions.folder.withTitle + +```jsonnet +options.UnifiedAlertListOptions.folder.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj options.UnifiedAlertListOptions.stateFilter + + +###### fn options.UnifiedAlertListOptions.stateFilter.withError + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withError(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.UnifiedAlertListOptions.stateFilter.withFiring + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withFiring(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.UnifiedAlertListOptions.stateFilter.withInactive + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withInactive(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.UnifiedAlertListOptions.stateFilter.withNoData + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withNoData(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.UnifiedAlertListOptions.stateFilter.withNormal + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withNormal(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.UnifiedAlertListOptions.stateFilter.withPending + +```jsonnet +options.UnifiedAlertListOptions.stateFilter.withPending(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md new file mode 100644 index 0000000000..dc21cba61e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md @@ -0,0 +1,709 @@ +# annotationsList + +grafonnet.panel.annotationsList + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withLimit(value=10)`](#fn-optionswithlimit) + * [`fn withNavigateAfter(value="10m")`](#fn-optionswithnavigateafter) + * [`fn withNavigateBefore(value="10m")`](#fn-optionswithnavigatebefore) + * [`fn withNavigateToPanel(value=true)`](#fn-optionswithnavigatetopanel) + * [`fn withOnlyFromThisDashboard(value=true)`](#fn-optionswithonlyfromthisdashboard) + * [`fn withOnlyInTimeRange(value=true)`](#fn-optionswithonlyintimerange) + * [`fn withShowTags(value=true)`](#fn-optionswithshowtags) + * [`fn withShowTime(value=true)`](#fn-optionswithshowtime) + * [`fn withShowUser(value=true)`](#fn-optionswithshowuser) + * [`fn withTags(value)`](#fn-optionswithtags) + * [`fn withTagsMixin(value)`](#fn-optionswithtagsmixin) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new annotationsList panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withLimit + +```jsonnet +options.withLimit(value=10) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `10` + + +#### fn options.withNavigateAfter + +```jsonnet +options.withNavigateAfter(value="10m") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"10m"` + + +#### fn options.withNavigateBefore + +```jsonnet +options.withNavigateBefore(value="10m") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"10m"` + + +#### fn options.withNavigateToPanel + +```jsonnet +options.withNavigateToPanel(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withOnlyFromThisDashboard + +```jsonnet +options.withOnlyFromThisDashboard(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withOnlyInTimeRange + +```jsonnet +options.withOnlyInTimeRange(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowTags + +```jsonnet +options.withShowTags(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowTime + +```jsonnet +options.withShowTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowUser + +```jsonnet +options.withShowUser(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withTags + +```jsonnet +options.withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTagsMixin + +```jsonnet +options.withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md new file mode 100644 index 0000000000..8eaa9bd99f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md @@ -0,0 +1,1305 @@ +# barChart + +grafonnet.panel.barChart + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) + * [`fn withFillOpacity(value=80)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) + * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) + * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) + * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withBarRadius(value=0)`](#fn-optionswithbarradius) + * [`fn withBarWidth(value=0.97)`](#fn-optionswithbarwidth) + * [`fn withColorByField(value)`](#fn-optionswithcolorbyfield) + * [`fn withFullHighlight(value=true)`](#fn-optionswithfullhighlight) + * [`fn withGroupWidth(value=0.7)`](#fn-optionswithgroupwidth) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withOrientation(value)`](#fn-optionswithorientation) + * [`fn withShowValue(value)`](#fn-optionswithshowvalue) + * [`fn withStacking(value)`](#fn-optionswithstacking) + * [`fn withText(value)`](#fn-optionswithtext) + * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`fn withXField(value)`](#fn-optionswithxfield) + * [`fn withXTickLabelMaxLength(value)`](#fn-optionswithxticklabelmaxlength) + * [`fn withXTickLabelRotation(value=0)`](#fn-optionswithxticklabelrotation) + * [`fn withXTickLabelSpacing(value=0)`](#fn-optionswithxticklabelspacing) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj text`](#obj-optionstext) + * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) + * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new barChart panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withAxisCenteredZero + +```jsonnet +fieldConfig.defaults.custom.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisColorMode + +```jsonnet +fieldConfig.defaults.custom.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisGridShow + +```jsonnet +fieldConfig.defaults.custom.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisLabel + +```jsonnet +fieldConfig.defaults.custom.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withAxisPlacement + +```jsonnet +fieldConfig.defaults.custom.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisSoftMax + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisSoftMin + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisWidth + +```jsonnet +fieldConfig.defaults.custom.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value=80) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `80` + +Controls the fill opacity of the bars. +###### fn fieldConfig.defaults.custom.withGradientMode + +```jsonnet +fieldConfig.defaults.custom.withGradientMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option. +Gradient appearance is influenced by the Fill opacity setting. +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value=1) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `1` + +Controls line width of the bars. +###### fn fieldConfig.defaults.custom.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyle + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### obj fieldConfig.defaults.custom.scaleDistribution + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +###### obj fieldConfig.defaults.custom.thresholdsStyle + + +####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode + +```jsonnet +fieldConfig.defaults.custom.thresholdsStyle.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withBarRadius + +```jsonnet +options.withBarRadius(value=0) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0` + +Controls the radius of each bar. +#### fn options.withBarWidth + +```jsonnet +options.withBarWidth(value=0.97) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0.97` + +Controls the width of bars. 1 = Max width, 0 = Min width. +#### fn options.withColorByField + +```jsonnet +options.withColorByField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Use the color value for a sibling field to color each bar value. +#### fn options.withFullHighlight + +```jsonnet +options.withFullHighlight(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Enables mode which highlights the entire bar area and shows tooltip when cursor +hovers over highlighted area +#### fn options.withGroupWidth + +```jsonnet +options.withGroupWidth(value=0.7) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0.7` + +Controls the width of groups. 1 = max with, 0 = min width. +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withOrientation + +```jsonnet +options.withOrientation(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls the orientation of the bar chart, either vertical or horizontal. +#### fn options.withShowValue + +```jsonnet +options.withShowValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +This controls whether values are shown on top or to the left of bars. +#### fn options.withStacking + +```jsonnet +options.withStacking(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls whether bars are stacked or not, either normally or in percent mode. +#### fn options.withText + +```jsonnet +options.withText(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMixin + +```jsonnet +options.withTextMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withXField + +```jsonnet +options.withXField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Manually select which field from the dataset to represent the x field. +#### fn options.withXTickLabelMaxLength + +```jsonnet +options.withXTickLabelMaxLength(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Sets the max length that a label can have before it is truncated. +#### fn options.withXTickLabelRotation + +```jsonnet +options.withXTickLabelRotation(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +Controls the rotation of the x axis labels. +#### fn options.withXTickLabelSpacing + +```jsonnet +options.withXTickLabelSpacing(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +Controls the spacing between x axis labels. +negative values indicate backwards skipping behavior +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.text + + +##### fn options.text.withTitleSize + +```jsonnet +options.text.withTitleSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit title text size +##### fn options.text.withValueSize + +```jsonnet +options.text.withValueSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit value text size +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md new file mode 100644 index 0000000000..c9f8277d70 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md @@ -0,0 +1,788 @@ +# barGauge + +grafonnet.panel.barGauge + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withDisplayMode(value)`](#fn-optionswithdisplaymode) + * [`fn withMinVizHeight(value=10)`](#fn-optionswithminvizheight) + * [`fn withMinVizWidth(value=0)`](#fn-optionswithminvizwidth) + * [`fn withOrientation(value)`](#fn-optionswithorientation) + * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) + * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) + * [`fn withShowUnfilled(value=true)`](#fn-optionswithshowunfilled) + * [`fn withText(value)`](#fn-optionswithtext) + * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) + * [`fn withValueMode(value)`](#fn-optionswithvaluemode) + * [`obj reduceOptions`](#obj-optionsreduceoptions) + * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) + * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) + * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) + * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) + * [`obj text`](#obj-optionstext) + * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) + * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new barGauge panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withDisplayMode + +```jsonnet +options.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"basic"`, `"lcd"`, `"gradient"` + +Enum expressing the possible display modes +for the bar gauge component of Grafana UI +#### fn options.withMinVizHeight + +```jsonnet +options.withMinVizHeight(value=10) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `10` + + +#### fn options.withMinVizWidth + +```jsonnet +options.withMinVizWidth(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + + +#### fn options.withOrientation + +```jsonnet +options.withOrientation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"vertical"`, `"horizontal"` + +TODO docs +#### fn options.withReduceOptions + +```jsonnet +options.withReduceOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withReduceOptionsMixin + +```jsonnet +options.withReduceOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withShowUnfilled + +```jsonnet +options.withShowUnfilled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withText + +```jsonnet +options.withText(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMixin + +```jsonnet +options.withTextMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withValueMode + +```jsonnet +options.withValueMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"color"`, `"text"`, `"hidden"` + +Allows for the table cell gauge display type to set the gauge mode. +#### obj options.reduceOptions + + +##### fn options.reduceOptions.withCalcs + +```jsonnet +options.reduceOptions.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withCalcsMixin + +```jsonnet +options.reduceOptions.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withFields + +```jsonnet +options.reduceOptions.withFields(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Which fields to show. By default this is only numeric fields +##### fn options.reduceOptions.withLimit + +```jsonnet +options.reduceOptions.withLimit(value) +``` + +PARAMETERS: + +* **value** (`number`) + +if showing all values limit +##### fn options.reduceOptions.withValues + +```jsonnet +options.reduceOptions.withValues(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +If true show each row value +#### obj options.text + + +##### fn options.text.withTitleSize + +```jsonnet +options.text.withTitleSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit title text size +##### fn options.text.withValueSize + +```jsonnet +options.text.withValueSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit value text size +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md new file mode 100644 index 0000000000..fc422189df --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md @@ -0,0 +1,564 @@ +# candlestick + +grafonnet.panel.candlestick + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new candlestick panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md new file mode 100644 index 0000000000..cffebcaf5a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md @@ -0,0 +1,564 @@ +# canvas + +grafonnet.panel.canvas + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new canvas panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md new file mode 100644 index 0000000000..39ddeedc0e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md @@ -0,0 +1,708 @@ +# dashboardList + +grafonnet.panel.dashboardList + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withFolderId(value)`](#fn-optionswithfolderid) + * [`fn withIncludeVars(value=true)`](#fn-optionswithincludevars) + * [`fn withKeepTime(value=true)`](#fn-optionswithkeeptime) + * [`fn withMaxItems(value=10)`](#fn-optionswithmaxitems) + * [`fn withQuery(value="")`](#fn-optionswithquery) + * [`fn withShowHeadings(value=true)`](#fn-optionswithshowheadings) + * [`fn withShowRecentlyViewed(value=true)`](#fn-optionswithshowrecentlyviewed) + * [`fn withShowSearch(value=true)`](#fn-optionswithshowsearch) + * [`fn withShowStarred(value=true)`](#fn-optionswithshowstarred) + * [`fn withTags(value)`](#fn-optionswithtags) + * [`fn withTagsMixin(value)`](#fn-optionswithtagsmixin) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new dashboardList panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withFolderId + +```jsonnet +options.withFolderId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn options.withIncludeVars + +```jsonnet +options.withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withKeepTime + +```jsonnet +options.withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withMaxItems + +```jsonnet +options.withMaxItems(value=10) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `10` + + +#### fn options.withQuery + +```jsonnet +options.withQuery(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn options.withShowHeadings + +```jsonnet +options.withShowHeadings(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowRecentlyViewed + +```jsonnet +options.withShowRecentlyViewed(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowSearch + +```jsonnet +options.withShowSearch(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowStarred + +```jsonnet +options.withShowStarred(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withTags + +```jsonnet +options.withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTagsMixin + +```jsonnet +options.withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md new file mode 100644 index 0000000000..27438c0a77 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md @@ -0,0 +1,581 @@ +# datagrid + +grafonnet.panel.datagrid + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withSelectedSeries(value=0)`](#fn-optionswithselectedseries) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new datagrid panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withSelectedSeries + +```jsonnet +options.withSelectedSeries(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md new file mode 100644 index 0000000000..edf7a291e4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md @@ -0,0 +1,648 @@ +# debug + +grafonnet.panel.debug + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withCounters(value)`](#fn-optionswithcounters) + * [`fn withCountersMixin(value)`](#fn-optionswithcountersmixin) + * [`fn withMode(value)`](#fn-optionswithmode) + * [`obj counters`](#obj-optionscounters) + * [`fn withDataChanged(value=true)`](#fn-optionscounterswithdatachanged) + * [`fn withRender(value=true)`](#fn-optionscounterswithrender) + * [`fn withSchemaChanged(value=true)`](#fn-optionscounterswithschemachanged) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new debug panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withCounters + +```jsonnet +options.withCounters(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withCountersMixin + +```jsonnet +options.withCountersMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withMode + +```jsonnet +options.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"render"`, `"events"`, `"cursor"`, `"State"`, `"ThrowError"` + + +#### obj options.counters + + +##### fn options.counters.withDataChanged + +```jsonnet +options.counters.withDataChanged(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.counters.withRender + +```jsonnet +options.counters.withRender(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.counters.withSchemaChanged + +```jsonnet +options.counters.withSchemaChanged(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md new file mode 100644 index 0000000000..b766519f7a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md @@ -0,0 +1,748 @@ +# gauge + +grafonnet.panel.gauge + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withOrientation(value)`](#fn-optionswithorientation) + * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) + * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) + * [`fn withShowThresholdLabels(value=true)`](#fn-optionswithshowthresholdlabels) + * [`fn withShowThresholdMarkers(value=true)`](#fn-optionswithshowthresholdmarkers) + * [`fn withText(value)`](#fn-optionswithtext) + * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) + * [`obj reduceOptions`](#obj-optionsreduceoptions) + * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) + * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) + * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) + * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) + * [`obj text`](#obj-optionstext) + * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) + * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new gauge panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withOrientation + +```jsonnet +options.withOrientation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"vertical"`, `"horizontal"` + +TODO docs +#### fn options.withReduceOptions + +```jsonnet +options.withReduceOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withReduceOptionsMixin + +```jsonnet +options.withReduceOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withShowThresholdLabels + +```jsonnet +options.withShowThresholdLabels(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowThresholdMarkers + +```jsonnet +options.withShowThresholdMarkers(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withText + +```jsonnet +options.withText(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMixin + +```jsonnet +options.withTextMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.reduceOptions + + +##### fn options.reduceOptions.withCalcs + +```jsonnet +options.reduceOptions.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withCalcsMixin + +```jsonnet +options.reduceOptions.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withFields + +```jsonnet +options.reduceOptions.withFields(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Which fields to show. By default this is only numeric fields +##### fn options.reduceOptions.withLimit + +```jsonnet +options.reduceOptions.withLimit(value) +``` + +PARAMETERS: + +* **value** (`number`) + +if showing all values limit +##### fn options.reduceOptions.withValues + +```jsonnet +options.reduceOptions.withValues(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +If true show each row value +#### obj options.text + + +##### fn options.text.withTitleSize + +```jsonnet +options.text.withTitleSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit title text size +##### fn options.text.withValueSize + +```jsonnet +options.text.withValueSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit value text size +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md new file mode 100644 index 0000000000..39c74bd8f8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md @@ -0,0 +1,1123 @@ +# geomap + +grafonnet.panel.geomap + +## Subpackages + +* [options.layers](options/layers.md) +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withBasemap(value)`](#fn-optionswithbasemap) + * [`fn withBasemapMixin(value)`](#fn-optionswithbasemapmixin) + * [`fn withControls(value)`](#fn-optionswithcontrols) + * [`fn withControlsMixin(value)`](#fn-optionswithcontrolsmixin) + * [`fn withLayers(value)`](#fn-optionswithlayers) + * [`fn withLayersMixin(value)`](#fn-optionswithlayersmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`fn withView(value)`](#fn-optionswithview) + * [`fn withViewMixin(value)`](#fn-optionswithviewmixin) + * [`obj basemap`](#obj-optionsbasemap) + * [`fn withConfig(value)`](#fn-optionsbasemapwithconfig) + * [`fn withFilterData(value)`](#fn-optionsbasemapwithfilterdata) + * [`fn withLocation(value)`](#fn-optionsbasemapwithlocation) + * [`fn withLocationMixin(value)`](#fn-optionsbasemapwithlocationmixin) + * [`fn withName(value)`](#fn-optionsbasemapwithname) + * [`fn withOpacity(value)`](#fn-optionsbasemapwithopacity) + * [`fn withTooltip(value=true)`](#fn-optionsbasemapwithtooltip) + * [`fn withType(value)`](#fn-optionsbasemapwithtype) + * [`obj location`](#obj-optionsbasemaplocation) + * [`fn withGazetteer(value)`](#fn-optionsbasemaplocationwithgazetteer) + * [`fn withGeohash(value)`](#fn-optionsbasemaplocationwithgeohash) + * [`fn withLatitude(value)`](#fn-optionsbasemaplocationwithlatitude) + * [`fn withLongitude(value)`](#fn-optionsbasemaplocationwithlongitude) + * [`fn withLookup(value)`](#fn-optionsbasemaplocationwithlookup) + * [`fn withMode(value)`](#fn-optionsbasemaplocationwithmode) + * [`fn withWkt(value)`](#fn-optionsbasemaplocationwithwkt) + * [`obj controls`](#obj-optionscontrols) + * [`fn withMouseWheelZoom(value=true)`](#fn-optionscontrolswithmousewheelzoom) + * [`fn withShowAttribution(value=true)`](#fn-optionscontrolswithshowattribution) + * [`fn withShowDebug(value=true)`](#fn-optionscontrolswithshowdebug) + * [`fn withShowMeasure(value=true)`](#fn-optionscontrolswithshowmeasure) + * [`fn withShowScale(value=true)`](#fn-optionscontrolswithshowscale) + * [`fn withShowZoom(value=true)`](#fn-optionscontrolswithshowzoom) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`obj view`](#obj-optionsview) + * [`fn withAllLayers(value=true)`](#fn-optionsviewwithalllayers) + * [`fn withId(value="zero")`](#fn-optionsviewwithid) + * [`fn withLastOnly(value=true)`](#fn-optionsviewwithlastonly) + * [`fn withLat(value=0)`](#fn-optionsviewwithlat) + * [`fn withLayer(value)`](#fn-optionsviewwithlayer) + * [`fn withLon(value=0)`](#fn-optionsviewwithlon) + * [`fn withMaxZoom(value)`](#fn-optionsviewwithmaxzoom) + * [`fn withMinZoom(value)`](#fn-optionsviewwithminzoom) + * [`fn withPadding(value)`](#fn-optionsviewwithpadding) + * [`fn withShared(value=true)`](#fn-optionsviewwithshared) + * [`fn withZoom(value=1)`](#fn-optionsviewwithzoom) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new geomap panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withBasemap + +```jsonnet +options.withBasemap(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withBasemapMixin + +```jsonnet +options.withBasemapMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withControls + +```jsonnet +options.withControls(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withControlsMixin + +```jsonnet +options.withControlsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withLayers + +```jsonnet +options.withLayers(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withLayersMixin + +```jsonnet +options.withLayersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withView + +```jsonnet +options.withView(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withViewMixin + +```jsonnet +options.withViewMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### obj options.basemap + + +##### fn options.basemap.withConfig + +```jsonnet +options.basemap.withConfig(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Custom options depending on the type +##### fn options.basemap.withFilterData + +```jsonnet +options.basemap.withFilterData(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Defines a frame MatcherConfig that may filter data for the given layer +##### fn options.basemap.withLocation + +```jsonnet +options.basemap.withLocation(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.basemap.withLocationMixin + +```jsonnet +options.basemap.withLocationMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.basemap.withName + +```jsonnet +options.basemap.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +configured unique display name +##### fn options.basemap.withOpacity + +```jsonnet +options.basemap.withOpacity(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Common properties: +https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html +Layer opacity (0-1) +##### fn options.basemap.withTooltip + +```jsonnet +options.basemap.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Check tooltip (defaults to true) +##### fn options.basemap.withType + +```jsonnet +options.basemap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj options.basemap.location + + +###### fn options.basemap.location.withGazetteer + +```jsonnet +options.basemap.location.withGazetteer(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Path to Gazetteer +###### fn options.basemap.location.withGeohash + +```jsonnet +options.basemap.location.withGeohash(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Field mappings +###### fn options.basemap.location.withLatitude + +```jsonnet +options.basemap.location.withLatitude(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn options.basemap.location.withLongitude + +```jsonnet +options.basemap.location.withLongitude(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn options.basemap.location.withLookup + +```jsonnet +options.basemap.location.withLookup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn options.basemap.location.withMode + +```jsonnet +options.basemap.location.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"geohash"`, `"coords"`, `"lookup"` + + +###### fn options.basemap.location.withWkt + +```jsonnet +options.basemap.location.withWkt(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj options.controls + + +##### fn options.controls.withMouseWheelZoom + +```jsonnet +options.controls.withMouseWheelZoom(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +let the mouse wheel zoom +##### fn options.controls.withShowAttribution + +```jsonnet +options.controls.withShowAttribution(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Lower right +##### fn options.controls.withShowDebug + +```jsonnet +options.controls.withShowDebug(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Show debug +##### fn options.controls.withShowMeasure + +```jsonnet +options.controls.withShowMeasure(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Show measure +##### fn options.controls.withShowScale + +```jsonnet +options.controls.withShowScale(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Scale options +##### fn options.controls.withShowZoom + +```jsonnet +options.controls.withShowZoom(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Zoom (upper left) +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"details"` + + +#### obj options.view + + +##### fn options.view.withAllLayers + +```jsonnet +options.view.withAllLayers(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.view.withId + +```jsonnet +options.view.withId(value="zero") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"zero"` + + +##### fn options.view.withLastOnly + +```jsonnet +options.view.withLastOnly(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.view.withLat + +```jsonnet +options.view.withLat(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + + +##### fn options.view.withLayer + +```jsonnet +options.view.withLayer(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.view.withLon + +```jsonnet +options.view.withLon(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + + +##### fn options.view.withMaxZoom + +```jsonnet +options.view.withMaxZoom(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn options.view.withMinZoom + +```jsonnet +options.view.withMinZoom(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn options.view.withPadding + +```jsonnet +options.view.withPadding(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn options.view.withShared + +```jsonnet +options.view.withShared(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.view.withZoom + +```jsonnet +options.view.withZoom(value=1) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `1` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md new file mode 100644 index 0000000000..d65f7c6054 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md @@ -0,0 +1,196 @@ +# layers + + + +## Index + +* [`fn withConfig(value)`](#fn-withconfig) +* [`fn withFilterData(value)`](#fn-withfilterdata) +* [`fn withLocation(value)`](#fn-withlocation) +* [`fn withLocationMixin(value)`](#fn-withlocationmixin) +* [`fn withName(value)`](#fn-withname) +* [`fn withOpacity(value)`](#fn-withopacity) +* [`fn withTooltip(value=true)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`obj location`](#obj-location) + * [`fn withGazetteer(value)`](#fn-locationwithgazetteer) + * [`fn withGeohash(value)`](#fn-locationwithgeohash) + * [`fn withLatitude(value)`](#fn-locationwithlatitude) + * [`fn withLongitude(value)`](#fn-locationwithlongitude) + * [`fn withLookup(value)`](#fn-locationwithlookup) + * [`fn withMode(value)`](#fn-locationwithmode) + * [`fn withWkt(value)`](#fn-locationwithwkt) + +## Fields + +### fn withConfig + +```jsonnet +withConfig(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Custom options depending on the type +### fn withFilterData + +```jsonnet +withFilterData(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Defines a frame MatcherConfig that may filter data for the given layer +### fn withLocation + +```jsonnet +withLocation(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLocationMixin + +```jsonnet +withLocationMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +configured unique display name +### fn withOpacity + +```jsonnet +withOpacity(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Common properties: +https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html +Layer opacity (0-1) +### fn withTooltip + +```jsonnet +withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Check tooltip (defaults to true) +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj location + + +#### fn location.withGazetteer + +```jsonnet +location.withGazetteer(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Path to Gazetteer +#### fn location.withGeohash + +```jsonnet +location.withGeohash(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Field mappings +#### fn location.withLatitude + +```jsonnet +location.withLatitude(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn location.withLongitude + +```jsonnet +location.withLongitude(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn location.withLookup + +```jsonnet +location.withLookup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn location.withMode + +```jsonnet +location.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"geohash"`, `"coords"`, `"lookup"` + + +#### fn location.withWkt + +```jsonnet +location.withWkt(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md new file mode 100644 index 0000000000..04322da2d5 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md @@ -0,0 +1,1804 @@ +# heatmap + +grafonnet.panel.heatmap + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withCalculate(value=true)`](#fn-optionswithcalculate) + * [`fn withCalculation(value)`](#fn-optionswithcalculation) + * [`fn withCalculationMixin(value)`](#fn-optionswithcalculationmixin) + * [`fn withCellGap(value=1)`](#fn-optionswithcellgap) + * [`fn withCellRadius(value)`](#fn-optionswithcellradius) + * [`fn withCellValues(value={})`](#fn-optionswithcellvalues) + * [`fn withCellValuesMixin(value={})`](#fn-optionswithcellvaluesmixin) + * [`fn withColor(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64})`](#fn-optionswithcolor) + * [`fn withColorMixin(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64})`](#fn-optionswithcolormixin) + * [`fn withExemplars(value)`](#fn-optionswithexemplars) + * [`fn withExemplarsMixin(value)`](#fn-optionswithexemplarsmixin) + * [`fn withFilterValues(value={"le": 0.000000001})`](#fn-optionswithfiltervalues) + * [`fn withFilterValuesMixin(value={"le": 0.000000001})`](#fn-optionswithfiltervaluesmixin) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withRowsFrame(value)`](#fn-optionswithrowsframe) + * [`fn withRowsFrameMixin(value)`](#fn-optionswithrowsframemixin) + * [`fn withShowValue(value)`](#fn-optionswithshowvalue) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`fn withYAxis(value)`](#fn-optionswithyaxis) + * [`fn withYAxisMixin(value)`](#fn-optionswithyaxismixin) + * [`obj calculation`](#obj-optionscalculation) + * [`fn withXBuckets(value)`](#fn-optionscalculationwithxbuckets) + * [`fn withXBucketsMixin(value)`](#fn-optionscalculationwithxbucketsmixin) + * [`fn withYBuckets(value)`](#fn-optionscalculationwithybuckets) + * [`fn withYBucketsMixin(value)`](#fn-optionscalculationwithybucketsmixin) + * [`obj xBuckets`](#obj-optionscalculationxbuckets) + * [`fn withMode(value)`](#fn-optionscalculationxbucketswithmode) + * [`fn withScale(value)`](#fn-optionscalculationxbucketswithscale) + * [`fn withScaleMixin(value)`](#fn-optionscalculationxbucketswithscalemixin) + * [`fn withValue(value)`](#fn-optionscalculationxbucketswithvalue) + * [`obj scale`](#obj-optionscalculationxbucketsscale) + * [`fn withLinearThreshold(value)`](#fn-optionscalculationxbucketsscalewithlinearthreshold) + * [`fn withLog(value)`](#fn-optionscalculationxbucketsscalewithlog) + * [`fn withType(value)`](#fn-optionscalculationxbucketsscalewithtype) + * [`obj yBuckets`](#obj-optionscalculationybuckets) + * [`fn withMode(value)`](#fn-optionscalculationybucketswithmode) + * [`fn withScale(value)`](#fn-optionscalculationybucketswithscale) + * [`fn withScaleMixin(value)`](#fn-optionscalculationybucketswithscalemixin) + * [`fn withValue(value)`](#fn-optionscalculationybucketswithvalue) + * [`obj scale`](#obj-optionscalculationybucketsscale) + * [`fn withLinearThreshold(value)`](#fn-optionscalculationybucketsscalewithlinearthreshold) + * [`fn withLog(value)`](#fn-optionscalculationybucketsscalewithlog) + * [`fn withType(value)`](#fn-optionscalculationybucketsscalewithtype) + * [`obj cellValues`](#obj-optionscellvalues) + * [`fn withCellValues(value)`](#fn-optionscellvalueswithcellvalues) + * [`fn withCellValuesMixin(value)`](#fn-optionscellvalueswithcellvaluesmixin) + * [`obj CellValues`](#obj-optionscellvaluescellvalues) + * [`fn withDecimals(value)`](#fn-optionscellvaluescellvalueswithdecimals) + * [`fn withUnit(value)`](#fn-optionscellvaluescellvalueswithunit) + * [`obj color`](#obj-optionscolor) + * [`fn withHeatmapColorOptions(value)`](#fn-optionscolorwithheatmapcoloroptions) + * [`fn withHeatmapColorOptionsMixin(value)`](#fn-optionscolorwithheatmapcoloroptionsmixin) + * [`obj HeatmapColorOptions`](#obj-optionscolorheatmapcoloroptions) + * [`fn withExponent(value)`](#fn-optionscolorheatmapcoloroptionswithexponent) + * [`fn withFill(value)`](#fn-optionscolorheatmapcoloroptionswithfill) + * [`fn withMax(value)`](#fn-optionscolorheatmapcoloroptionswithmax) + * [`fn withMin(value)`](#fn-optionscolorheatmapcoloroptionswithmin) + * [`fn withMode(value)`](#fn-optionscolorheatmapcoloroptionswithmode) + * [`fn withReverse(value=true)`](#fn-optionscolorheatmapcoloroptionswithreverse) + * [`fn withScale(value)`](#fn-optionscolorheatmapcoloroptionswithscale) + * [`fn withScheme(value)`](#fn-optionscolorheatmapcoloroptionswithscheme) + * [`fn withSteps(value)`](#fn-optionscolorheatmapcoloroptionswithsteps) + * [`obj exemplars`](#obj-optionsexemplars) + * [`fn withColor(value)`](#fn-optionsexemplarswithcolor) + * [`obj filterValues`](#obj-optionsfiltervalues) + * [`fn withFilterValueRange(value)`](#fn-optionsfiltervalueswithfiltervaluerange) + * [`fn withFilterValueRangeMixin(value)`](#fn-optionsfiltervalueswithfiltervaluerangemixin) + * [`obj FilterValueRange`](#obj-optionsfiltervaluesfiltervaluerange) + * [`fn withGe(value)`](#fn-optionsfiltervaluesfiltervaluerangewithge) + * [`fn withLe(value)`](#fn-optionsfiltervaluesfiltervaluerangewithle) + * [`obj legend`](#obj-optionslegend) + * [`fn withShow(value=true)`](#fn-optionslegendwithshow) + * [`obj rowsFrame`](#obj-optionsrowsframe) + * [`fn withLayout(value)`](#fn-optionsrowsframewithlayout) + * [`fn withValue(value)`](#fn-optionsrowsframewithvalue) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withShow(value=true)`](#fn-optionstooltipwithshow) + * [`fn withYHistogram(value=true)`](#fn-optionstooltipwithyhistogram) + * [`obj yAxis`](#obj-optionsyaxis) + * [`fn withAxisCenteredZero(value=true)`](#fn-optionsyaxiswithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-optionsyaxiswithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-optionsyaxiswithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-optionsyaxiswithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-optionsyaxiswithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-optionsyaxiswithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-optionsyaxiswithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-optionsyaxiswithaxiswidth) + * [`fn withDecimals(value)`](#fn-optionsyaxiswithdecimals) + * [`fn withMax(value)`](#fn-optionsyaxiswithmax) + * [`fn withMin(value)`](#fn-optionsyaxiswithmin) + * [`fn withReverse(value=true)`](#fn-optionsyaxiswithreverse) + * [`fn withScaleDistribution(value)`](#fn-optionsyaxiswithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-optionsyaxiswithscaledistributionmixin) + * [`fn withUnit(value)`](#fn-optionsyaxiswithunit) + * [`obj scaleDistribution`](#obj-optionsyaxisscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-optionsyaxisscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-optionsyaxisscaledistributionwithlog) + * [`fn withType(value)`](#fn-optionsyaxisscaledistributionwithtype) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new heatmap panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### obj fieldConfig.defaults.custom.scaleDistribution + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withCalculate + +```jsonnet +options.withCalculate(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls if the heatmap should be calculated from data +#### fn options.withCalculation + +```jsonnet +options.withCalculation(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withCalculationMixin + +```jsonnet +options.withCalculationMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withCellGap + +```jsonnet +options.withCellGap(value=1) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `1` + +Controls gap between cells +#### fn options.withCellRadius + +```jsonnet +options.withCellRadius(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Controls cell radius +#### fn options.withCellValues + +```jsonnet +options.withCellValues(value={}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{}` + +Controls cell value unit +#### fn options.withCellValuesMixin + +```jsonnet +options.withCellValuesMixin(value={}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{}` + +Controls cell value unit +#### fn options.withColor + +```jsonnet +options.withColor(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}` + +Controls the color options +#### fn options.withColorMixin + +```jsonnet +options.withColorMixin(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}` + +Controls the color options +#### fn options.withExemplars + +```jsonnet +options.withExemplars(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls exemplar options +#### fn options.withExemplarsMixin + +```jsonnet +options.withExemplarsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls exemplar options +#### fn options.withFilterValues + +```jsonnet +options.withFilterValues(value={"le": 0.000000001}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"le": 0.000000001}` + +Filters values between a given range +#### fn options.withFilterValuesMixin + +```jsonnet +options.withFilterValuesMixin(value={"le": 0.000000001}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"le": 0.000000001}` + +Filters values between a given range +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls legend options +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls legend options +#### fn options.withRowsFrame + +```jsonnet +options.withRowsFrame(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls frame rows options +#### fn options.withRowsFrameMixin + +```jsonnet +options.withRowsFrameMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls frame rows options +#### fn options.withShowValue + +```jsonnet +options.withShowValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +| *{ + layout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed +} +Controls the display of the value in the cell +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls tooltip options +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls tooltip options +#### fn options.withYAxis + +```jsonnet +options.withYAxis(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Configuration options for the yAxis +#### fn options.withYAxisMixin + +```jsonnet +options.withYAxisMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Configuration options for the yAxis +#### obj options.calculation + + +##### fn options.calculation.withXBuckets + +```jsonnet +options.calculation.withXBuckets(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.calculation.withXBucketsMixin + +```jsonnet +options.calculation.withXBucketsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.calculation.withYBuckets + +```jsonnet +options.calculation.withYBuckets(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn options.calculation.withYBucketsMixin + +```jsonnet +options.calculation.withYBucketsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### obj options.calculation.xBuckets + + +###### fn options.calculation.xBuckets.withMode + +```jsonnet +options.calculation.xBuckets.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"size"`, `"count"` + + +###### fn options.calculation.xBuckets.withScale + +```jsonnet +options.calculation.xBuckets.withScale(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn options.calculation.xBuckets.withScaleMixin + +```jsonnet +options.calculation.xBuckets.withScaleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn options.calculation.xBuckets.withValue + +```jsonnet +options.calculation.xBuckets.withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The number of buckets to use for the axis in the heatmap +###### obj options.calculation.xBuckets.scale + + +####### fn options.calculation.xBuckets.scale.withLinearThreshold + +```jsonnet +options.calculation.xBuckets.scale.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn options.calculation.xBuckets.scale.withLog + +```jsonnet +options.calculation.xBuckets.scale.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn options.calculation.xBuckets.scale.withType + +```jsonnet +options.calculation.xBuckets.scale.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +##### obj options.calculation.yBuckets + + +###### fn options.calculation.yBuckets.withMode + +```jsonnet +options.calculation.yBuckets.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"size"`, `"count"` + + +###### fn options.calculation.yBuckets.withScale + +```jsonnet +options.calculation.yBuckets.withScale(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn options.calculation.yBuckets.withScaleMixin + +```jsonnet +options.calculation.yBuckets.withScaleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn options.calculation.yBuckets.withValue + +```jsonnet +options.calculation.yBuckets.withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The number of buckets to use for the axis in the heatmap +###### obj options.calculation.yBuckets.scale + + +####### fn options.calculation.yBuckets.scale.withLinearThreshold + +```jsonnet +options.calculation.yBuckets.scale.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn options.calculation.yBuckets.scale.withLog + +```jsonnet +options.calculation.yBuckets.scale.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn options.calculation.yBuckets.scale.withType + +```jsonnet +options.calculation.yBuckets.scale.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +#### obj options.cellValues + + +##### fn options.cellValues.withCellValues + +```jsonnet +options.cellValues.withCellValues(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls cell value options +##### fn options.cellValues.withCellValuesMixin + +```jsonnet +options.cellValues.withCellValuesMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls cell value options +##### obj options.cellValues.CellValues + + +###### fn options.cellValues.CellValues.withDecimals + +```jsonnet +options.cellValues.CellValues.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Controls the number of decimals for cell values +###### fn options.cellValues.CellValues.withUnit + +```jsonnet +options.cellValues.CellValues.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls the cell value unit +#### obj options.color + + +##### fn options.color.withHeatmapColorOptions + +```jsonnet +options.color.withHeatmapColorOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls various color options +##### fn options.color.withHeatmapColorOptionsMixin + +```jsonnet +options.color.withHeatmapColorOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls various color options +##### obj options.color.HeatmapColorOptions + + +###### fn options.color.HeatmapColorOptions.withExponent + +```jsonnet +options.color.HeatmapColorOptions.withExponent(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Controls the exponent when scale is set to exponential +###### fn options.color.HeatmapColorOptions.withFill + +```jsonnet +options.color.HeatmapColorOptions.withFill(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls the color fill when in opacity mode +###### fn options.color.HeatmapColorOptions.withMax + +```jsonnet +options.color.HeatmapColorOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the maximum value for the color scale +###### fn options.color.HeatmapColorOptions.withMin + +```jsonnet +options.color.HeatmapColorOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the minimum value for the color scale +###### fn options.color.HeatmapColorOptions.withMode + +```jsonnet +options.color.HeatmapColorOptions.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"opacity"`, `"scheme"` + +Controls the color mode of the heatmap +###### fn options.color.HeatmapColorOptions.withReverse + +```jsonnet +options.color.HeatmapColorOptions.withReverse(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Reverses the color scheme +###### fn options.color.HeatmapColorOptions.withScale + +```jsonnet +options.color.HeatmapColorOptions.withScale(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"exponential"` + +Controls the color scale of the heatmap +###### fn options.color.HeatmapColorOptions.withScheme + +```jsonnet +options.color.HeatmapColorOptions.withScheme(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls the color scheme used +###### fn options.color.HeatmapColorOptions.withSteps + +```jsonnet +options.color.HeatmapColorOptions.withSteps(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Controls the number of color steps +#### obj options.exemplars + + +##### fn options.exemplars.withColor + +```jsonnet +options.exemplars.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Sets the color of the exemplar markers +#### obj options.filterValues + + +##### fn options.filterValues.withFilterValueRange + +```jsonnet +options.filterValues.withFilterValueRange(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls the value filter range +##### fn options.filterValues.withFilterValueRangeMixin + +```jsonnet +options.filterValues.withFilterValueRangeMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Controls the value filter range +##### obj options.filterValues.FilterValueRange + + +###### fn options.filterValues.FilterValueRange.withGe + +```jsonnet +options.filterValues.FilterValueRange.withGe(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the filter range to values greater than or equal to the given value +###### fn options.filterValues.FilterValueRange.withLe + +```jsonnet +options.filterValues.FilterValueRange.withLe(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the filter range to values less than or equal to the given value +#### obj options.legend + + +##### fn options.legend.withShow + +```jsonnet +options.legend.withShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls if the legend is shown +#### obj options.rowsFrame + + +##### fn options.rowsFrame.withLayout + +```jsonnet +options.rowsFrame.withLayout(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"le"`, `"ge"`, `"unknown"`, `"auto"` + + +##### fn options.rowsFrame.withValue + +```jsonnet +options.rowsFrame.withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Sets the name of the cell when not calculating from data +#### obj options.tooltip + + +##### fn options.tooltip.withShow + +```jsonnet +options.tooltip.withShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls if the tooltip is shown +##### fn options.tooltip.withYHistogram + +```jsonnet +options.tooltip.withYHistogram(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls if the tooltip shows a histogram of the y-axis values +#### obj options.yAxis + + +##### fn options.yAxis.withAxisCenteredZero + +```jsonnet +options.yAxis.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.yAxis.withAxisColorMode + +```jsonnet +options.yAxis.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +##### fn options.yAxis.withAxisGridShow + +```jsonnet +options.yAxis.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.yAxis.withAxisLabel + +```jsonnet +options.yAxis.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.yAxis.withAxisPlacement + +```jsonnet +options.yAxis.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +##### fn options.yAxis.withAxisSoftMax + +```jsonnet +options.yAxis.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.yAxis.withAxisSoftMin + +```jsonnet +options.yAxis.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.yAxis.withAxisWidth + +```jsonnet +options.yAxis.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn options.yAxis.withDecimals + +```jsonnet +options.yAxis.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Controls the number of decimals for yAxis values +##### fn options.yAxis.withMax + +```jsonnet +options.yAxis.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the maximum value for the yAxis +##### fn options.yAxis.withMin + +```jsonnet +options.yAxis.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Sets the minimum value for the yAxis +##### fn options.yAxis.withReverse + +```jsonnet +options.yAxis.withReverse(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Reverses the yAxis +##### fn options.yAxis.withScaleDistribution + +```jsonnet +options.yAxis.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn options.yAxis.withScaleDistributionMixin + +```jsonnet +options.yAxis.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn options.yAxis.withUnit + +```jsonnet +options.yAxis.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Sets the yAxis unit +##### obj options.yAxis.scaleDistribution + + +###### fn options.yAxis.scaleDistribution.withLinearThreshold + +```jsonnet +options.yAxis.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn options.yAxis.scaleDistribution.withLog + +```jsonnet +options.yAxis.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn options.yAxis.scaleDistribution.withType + +```jsonnet +options.yAxis.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md new file mode 100644 index 0000000000..48daae8edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md @@ -0,0 +1,1098 @@ +# histogram + +grafonnet.panel.histogram + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) + * [`fn withFillOpacity(value=80)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withBucketOffset(value=0)`](#fn-optionswithbucketoffset) + * [`fn withBucketSize(value)`](#fn-optionswithbucketsize) + * [`fn withCombine(value=true)`](#fn-optionswithcombine) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new histogram panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withAxisCenteredZero + +```jsonnet +fieldConfig.defaults.custom.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisColorMode + +```jsonnet +fieldConfig.defaults.custom.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisGridShow + +```jsonnet +fieldConfig.defaults.custom.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisLabel + +```jsonnet +fieldConfig.defaults.custom.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withAxisPlacement + +```jsonnet +fieldConfig.defaults.custom.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisSoftMax + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisSoftMin + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisWidth + +```jsonnet +fieldConfig.defaults.custom.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value=80) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `80` + +Controls the fill opacity of the bars. +###### fn fieldConfig.defaults.custom.withGradientMode + +```jsonnet +fieldConfig.defaults.custom.withGradientMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option. +Gradient appearance is influenced by the Fill opacity setting. +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value=1) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `1` + +Controls line width of the bars. +###### fn fieldConfig.defaults.custom.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### obj fieldConfig.defaults.custom.scaleDistribution + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withBucketOffset + +```jsonnet +options.withBucketOffset(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +Offset buckets by this amount +#### fn options.withBucketSize + +```jsonnet +options.withBucketSize(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Size of each bucket +#### fn options.withCombine + +```jsonnet +options.withCombine(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Combines multiple series into a single histogram +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md new file mode 100644 index 0000000000..d29f1572a8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md @@ -0,0 +1,33 @@ +# panel + +grafonnet.panel + +## Subpackages + +* [alertGroups](alertGroups/index.md) +* [alertList](alertList/index.md) +* [annotationsList](annotationsList/index.md) +* [barChart](barChart/index.md) +* [barGauge](barGauge/index.md) +* [candlestick](candlestick/index.md) +* [canvas](canvas/index.md) +* [dashboardList](dashboardList/index.md) +* [datagrid](datagrid/index.md) +* [debug](debug/index.md) +* [gauge](gauge/index.md) +* [geomap](geomap/index.md) +* [heatmap](heatmap/index.md) +* [histogram](histogram/index.md) +* [logs](logs/index.md) +* [news](news/index.md) +* [nodeGraph](nodeGraph/index.md) +* [pieChart](pieChart/index.md) +* [row](row.md) +* [stat](stat/index.md) +* [stateTimeline](stateTimeline/index.md) +* [statusHistory](statusHistory/index.md) +* [table](table/index.md) +* [text](text/index.md) +* [timeSeries](timeSeries/index.md) +* [trend](trend/index.md) +* [xyChart](xyChart/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md new file mode 100644 index 0000000000..4d1f3ad2b4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md @@ -0,0 +1,672 @@ +# logs + +grafonnet.panel.logs + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withDedupStrategy(value)`](#fn-optionswithdedupstrategy) + * [`fn withEnableLogDetails(value=true)`](#fn-optionswithenablelogdetails) + * [`fn withPrettifyLogMessage(value=true)`](#fn-optionswithprettifylogmessage) + * [`fn withShowCommonLabels(value=true)`](#fn-optionswithshowcommonlabels) + * [`fn withShowLabels(value=true)`](#fn-optionswithshowlabels) + * [`fn withShowTime(value=true)`](#fn-optionswithshowtime) + * [`fn withSortOrder(value)`](#fn-optionswithsortorder) + * [`fn withWrapLogMessage(value=true)`](#fn-optionswithwraplogmessage) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new logs panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withDedupStrategy + +```jsonnet +options.withDedupStrategy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"exact"`, `"numbers"`, `"signature"` + + +#### fn options.withEnableLogDetails + +```jsonnet +options.withEnableLogDetails(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withPrettifyLogMessage + +```jsonnet +options.withPrettifyLogMessage(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowCommonLabels + +```jsonnet +options.withShowCommonLabels(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowLabels + +```jsonnet +options.withShowLabels(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withShowTime + +```jsonnet +options.withShowTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn options.withSortOrder + +```jsonnet +options.withSortOrder(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Descending"`, `"Ascending"` + + +#### fn options.withWrapLogMessage + +```jsonnet +options.withWrapLogMessage(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md new file mode 100644 index 0000000000..bdad9a6e8b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md @@ -0,0 +1,593 @@ +# news + +grafonnet.panel.news + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withFeedUrl(value)`](#fn-optionswithfeedurl) + * [`fn withShowImage(value=true)`](#fn-optionswithshowimage) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new news panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withFeedUrl + +```jsonnet +options.withFeedUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + +empty/missing will default to grafana blog +#### fn options.withShowImage + +```jsonnet +options.withShowImage(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md new file mode 100644 index 0000000000..694775f663 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md @@ -0,0 +1,697 @@ +# nodeGraph + +grafonnet.panel.nodeGraph + +## Subpackages + +* [options.nodes.arcs](options/nodes/arcs.md) +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withEdges(value)`](#fn-optionswithedges) + * [`fn withEdgesMixin(value)`](#fn-optionswithedgesmixin) + * [`fn withNodes(value)`](#fn-optionswithnodes) + * [`fn withNodesMixin(value)`](#fn-optionswithnodesmixin) + * [`obj edges`](#obj-optionsedges) + * [`fn withMainStatUnit(value)`](#fn-optionsedgeswithmainstatunit) + * [`fn withSecondaryStatUnit(value)`](#fn-optionsedgeswithsecondarystatunit) + * [`obj nodes`](#obj-optionsnodes) + * [`fn withArcs(value)`](#fn-optionsnodeswitharcs) + * [`fn withArcsMixin(value)`](#fn-optionsnodeswitharcsmixin) + * [`fn withMainStatUnit(value)`](#fn-optionsnodeswithmainstatunit) + * [`fn withSecondaryStatUnit(value)`](#fn-optionsnodeswithsecondarystatunit) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new nodeGraph panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withEdges + +```jsonnet +options.withEdges(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withEdgesMixin + +```jsonnet +options.withEdgesMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withNodes + +```jsonnet +options.withNodes(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withNodesMixin + +```jsonnet +options.withNodesMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### obj options.edges + + +##### fn options.edges.withMainStatUnit + +```jsonnet +options.edges.withMainStatUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unit for the main stat to override what ever is set in the data frame. +##### fn options.edges.withSecondaryStatUnit + +```jsonnet +options.edges.withSecondaryStatUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unit for the secondary stat to override what ever is set in the data frame. +#### obj options.nodes + + +##### fn options.nodes.withArcs + +```jsonnet +options.nodes.withArcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Define which fields are shown as part of the node arc (colored circle around the node). +##### fn options.nodes.withArcsMixin + +```jsonnet +options.nodes.withArcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Define which fields are shown as part of the node arc (colored circle around the node). +##### fn options.nodes.withMainStatUnit + +```jsonnet +options.nodes.withMainStatUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unit for the main stat to override what ever is set in the data frame. +##### fn options.nodes.withSecondaryStatUnit + +```jsonnet +options.nodes.withSecondaryStatUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unit for the secondary stat to override what ever is set in the data frame. +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md new file mode 100644 index 0000000000..f80fe24133 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md @@ -0,0 +1,33 @@ +# arcs + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withField(value)`](#fn-withfield) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The color of the arc. +### fn withField + +```jsonnet +withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Field from which to get the value. Values should be less than 1, representing fraction of a circle. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md new file mode 100644 index 0000000000..b431d7427c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md @@ -0,0 +1,1071 @@ +# pieChart + +grafonnet.panel.pieChart + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withDisplayLabels(value)`](#fn-optionswithdisplaylabels) + * [`fn withDisplayLabelsMixin(value)`](#fn-optionswithdisplaylabelsmixin) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withOrientation(value)`](#fn-optionswithorientation) + * [`fn withPieType(value)`](#fn-optionswithpietype) + * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) + * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) + * [`fn withText(value)`](#fn-optionswithtext) + * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withValues(value)`](#fn-optionslegendwithvalues) + * [`fn withValuesMixin(value)`](#fn-optionslegendwithvaluesmixin) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj reduceOptions`](#obj-optionsreduceoptions) + * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) + * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) + * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) + * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) + * [`obj text`](#obj-optionstext) + * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) + * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new pieChart panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withDisplayLabels + +```jsonnet +options.withDisplayLabels(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withDisplayLabelsMixin + +```jsonnet +options.withDisplayLabelsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withOrientation + +```jsonnet +options.withOrientation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"vertical"`, `"horizontal"` + +TODO docs +#### fn options.withPieType + +```jsonnet +options.withPieType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"pie"`, `"donut"` + +Select the pie chart display style. +#### fn options.withReduceOptions + +```jsonnet +options.withReduceOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withReduceOptionsMixin + +```jsonnet +options.withReduceOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withText + +```jsonnet +options.withText(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMixin + +```jsonnet +options.withTextMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withValues + +```jsonnet +options.legend.withValues(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withValuesMixin + +```jsonnet +options.legend.withValuesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.reduceOptions + + +##### fn options.reduceOptions.withCalcs + +```jsonnet +options.reduceOptions.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withCalcsMixin + +```jsonnet +options.reduceOptions.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withFields + +```jsonnet +options.reduceOptions.withFields(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Which fields to show. By default this is only numeric fields +##### fn options.reduceOptions.withLimit + +```jsonnet +options.reduceOptions.withLimit(value) +``` + +PARAMETERS: + +* **value** (`number`) + +if showing all values limit +##### fn options.reduceOptions.withValues + +```jsonnet +options.reduceOptions.withValues(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +If true show each row value +#### obj options.text + + +##### fn options.text.withTitleSize + +```jsonnet +options.text.withTitleSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit title text size +##### fn options.text.withValueSize + +```jsonnet +options.text.withValueSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit value text size +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md new file mode 100644 index 0000000000..8ae5023936 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md @@ -0,0 +1,248 @@ +# row + +grafonnet.panel.row + +## Index + +* [`fn new(title)`](#fn-new) +* [`fn withCollapsed(value=true)`](#fn-withcollapsed) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withDatasourceMixin(value)`](#fn-withdatasourcemixin) +* [`fn withGridPos(value)`](#fn-withgridpos) +* [`fn withGridPosMixin(value)`](#fn-withgridposmixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withPanels(value)`](#fn-withpanels) +* [`fn withPanelsMixin(value)`](#fn-withpanelsmixin) +* [`fn withRepeat(value)`](#fn-withrepeat) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withType()`](#fn-withtype) +* [`obj datasource`](#obj-datasource) + * [`fn withType(value)`](#fn-datasourcewithtype) + * [`fn withUid(value)`](#fn-datasourcewithuid) +* [`obj gridPos`](#obj-gridpos) + * [`fn withH(value=9)`](#fn-gridposwithh) + * [`fn withStatic(value=true)`](#fn-gridposwithstatic) + * [`fn withW(value=12)`](#fn-gridposwithw) + * [`fn withX(value=0)`](#fn-gridposwithx) + * [`fn withY(value=0)`](#fn-gridposwithy) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new row panel with a title. +### fn withCollapsed + +```jsonnet +withCollapsed(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Name of default datasource. +### fn withDatasourceMixin + +```jsonnet +withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Name of default datasource. +### fn withGridPos + +```jsonnet +withGridPos(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withGridPosMixin + +```jsonnet +withGridPosMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withPanels + +```jsonnet +withPanels(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPanelsMixin + +```jsonnet +withPanelsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withRepeat + +```jsonnet +withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType() +``` + + + +### obj datasource + + +#### fn datasource.withType + +```jsonnet +datasource.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn datasource.withUid + +```jsonnet +datasource.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj gridPos + + +#### fn gridPos.withH + +```jsonnet +gridPos.withH(value=9) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `9` + +Panel +#### fn gridPos.withStatic + +```jsonnet +gridPos.withStatic(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if fixed +#### fn gridPos.withW + +```jsonnet +gridPos.withW(value=12) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `12` + +Panel +#### fn gridPos.withX + +```jsonnet +gridPos.withX(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +Panel x +#### fn gridPos.withY + +```jsonnet +gridPos.withY(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + +Panel y \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md new file mode 100644 index 0000000000..a76b1af08c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md @@ -0,0 +1,774 @@ +# stat + +grafonnet.panel.stat + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withColorMode(value)`](#fn-optionswithcolormode) + * [`fn withGraphMode(value)`](#fn-optionswithgraphmode) + * [`fn withJustifyMode(value)`](#fn-optionswithjustifymode) + * [`fn withOrientation(value)`](#fn-optionswithorientation) + * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) + * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) + * [`fn withText(value)`](#fn-optionswithtext) + * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) + * [`fn withTextMode(value)`](#fn-optionswithtextmode) + * [`obj reduceOptions`](#obj-optionsreduceoptions) + * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) + * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) + * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) + * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) + * [`obj text`](#obj-optionstext) + * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) + * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new stat panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withColorMode + +```jsonnet +options.withColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"value"`, `"background"`, `"background_solid"`, `"none"` + +TODO docs +#### fn options.withGraphMode + +```jsonnet +options.withGraphMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"line"`, `"area"` + +TODO docs +#### fn options.withJustifyMode + +```jsonnet +options.withJustifyMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"center"` + +TODO docs +#### fn options.withOrientation + +```jsonnet +options.withOrientation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"vertical"`, `"horizontal"` + +TODO docs +#### fn options.withReduceOptions + +```jsonnet +options.withReduceOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withReduceOptionsMixin + +```jsonnet +options.withReduceOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withText + +```jsonnet +options.withText(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMixin + +```jsonnet +options.withTextMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTextMode + +```jsonnet +options.withTextMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"value"`, `"value_and_name"`, `"name"`, `"none"` + +TODO docs +#### obj options.reduceOptions + + +##### fn options.reduceOptions.withCalcs + +```jsonnet +options.reduceOptions.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withCalcsMixin + +```jsonnet +options.reduceOptions.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +When !values, pick one value for the whole field +##### fn options.reduceOptions.withFields + +```jsonnet +options.reduceOptions.withFields(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Which fields to show. By default this is only numeric fields +##### fn options.reduceOptions.withLimit + +```jsonnet +options.reduceOptions.withLimit(value) +``` + +PARAMETERS: + +* **value** (`number`) + +if showing all values limit +##### fn options.reduceOptions.withValues + +```jsonnet +options.reduceOptions.withValues(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +If true show each row value +#### obj options.text + + +##### fn options.text.withTitleSize + +```jsonnet +options.text.withTitleSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit title text size +##### fn options.text.withValueSize + +```jsonnet +options.text.withValueSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Explicit value text size +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md new file mode 100644 index 0000000000..091ed33bd8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md @@ -0,0 +1,956 @@ +# stateTimeline + +grafonnet.panel.stateTimeline + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withFillOpacity(value=70)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineWidth(value=0)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withAlignValue(value)`](#fn-optionswithalignvalue) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withMergeValues(value=true)`](#fn-optionswithmergevalues) + * [`fn withRowHeight(value=0.9)`](#fn-optionswithrowheight) + * [`fn withShowValue(value)`](#fn-optionswithshowvalue) + * [`fn withTimezone(value)`](#fn-optionswithtimezone) + * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new stateTimeline panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value=70) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `70` + + +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value=0) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `0` + + +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withAlignValue + +```jsonnet +options.withAlignValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls value alignment on the timelines +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withMergeValues + +```jsonnet +options.withMergeValues(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Merge equal consecutive values +#### fn options.withRowHeight + +```jsonnet +options.withRowHeight(value=0.9) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0.9` + +Controls the row height +#### fn options.withShowValue + +```jsonnet +options.withShowValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Show timeline values on chart +#### fn options.withTimezone + +```jsonnet +options.withTimezone(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTimezoneMixin + +```jsonnet +options.withTimezoneMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md new file mode 100644 index 0000000000..c0b81780d2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md @@ -0,0 +1,944 @@ +# statusHistory + +grafonnet.panel.statusHistory + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withFillOpacity(value=70)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withColWidth(value=0.9)`](#fn-optionswithcolwidth) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withRowHeight(value=0.9)`](#fn-optionswithrowheight) + * [`fn withShowValue(value)`](#fn-optionswithshowvalue) + * [`fn withTimezone(value)`](#fn-optionswithtimezone) + * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new statusHistory panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value=70) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `70` + + +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value=1) +``` + +PARAMETERS: + +* **value** (`integer`) + - default value: `1` + + +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withColWidth + +```jsonnet +options.withColWidth(value=0.9) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0.9` + +Controls the column width +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withRowHeight + +```jsonnet +options.withRowHeight(value=0.9) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0.9` + +Set the height of the rows +#### fn options.withShowValue + +```jsonnet +options.withShowValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Show values on the columns +#### fn options.withTimezone + +```jsonnet +options.withTimezone(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTimezoneMixin + +```jsonnet +options.withTimezoneMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md new file mode 100644 index 0000000000..3704ddf312 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md @@ -0,0 +1,1830 @@ +# table + +grafonnet.panel.table + +## Subpackages + +* [options.sortBy](options/sortBy.md) +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withAlign(value)`](#fn-fieldconfigdefaultscustomwithalign) + * [`fn withCellOptions(value)`](#fn-fieldconfigdefaultscustomwithcelloptions) + * [`fn withCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomwithcelloptionsmixin) + * [`fn withDisplayMode(value)`](#fn-fieldconfigdefaultscustomwithdisplaymode) + * [`fn withFilterable(value=true)`](#fn-fieldconfigdefaultscustomwithfilterable) + * [`fn withHidden(value=true)`](#fn-fieldconfigdefaultscustomwithhidden) + * [`fn withHideHeader(value=true)`](#fn-fieldconfigdefaultscustomwithhideheader) + * [`fn withInspect(value=true)`](#fn-fieldconfigdefaultscustomwithinspect) + * [`fn withMinWidth(value)`](#fn-fieldconfigdefaultscustomwithminwidth) + * [`fn withWidth(value)`](#fn-fieldconfigdefaultscustomwithwidth) + * [`obj cellOptions`](#obj-fieldconfigdefaultscustomcelloptions) + * [`fn withTableAutoCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableautocelloptions) + * [`fn withTableAutoCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableautocelloptionsmixin) + * [`fn withTableBarGaugeCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablebargaugecelloptions) + * [`fn withTableBarGaugeCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablebargaugecelloptionsmixin) + * [`fn withTableColorTextCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecolortextcelloptions) + * [`fn withTableColorTextCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecolortextcelloptionsmixin) + * [`fn withTableColoredBackgroundCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecoloredbackgroundcelloptions) + * [`fn withTableColoredBackgroundCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecoloredbackgroundcelloptionsmixin) + * [`fn withTableImageCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableimagecelloptions) + * [`fn withTableImageCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableimagecelloptionsmixin) + * [`fn withTableJsonViewCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablejsonviewcelloptions) + * [`fn withTableJsonViewCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablejsonviewcelloptionsmixin) + * [`fn withTableSparklineCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablesparklinecelloptions) + * [`fn withTableSparklineCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablesparklinecelloptionsmixin) + * [`obj TableAutoCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstableautocelloptions) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstableautocelloptionswithtype) + * [`obj TableBarGaugeCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablebargaugecelloptions) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithmode) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithtype) + * [`fn withValueDisplayMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithvaluedisplaymode) + * [`obj TableColorTextCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablecolortextcelloptions) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablecolortextcelloptionswithtype) + * [`obj TableColoredBackgroundCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptions) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptionswithmode) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptionswithtype) + * [`obj TableImageCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstableimagecelloptions) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstableimagecelloptionswithtype) + * [`obj TableJsonViewCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablejsonviewcelloptions) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablejsonviewcelloptionswithtype) + * [`obj TableSparklineCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptions) + * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiswidth) + * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbaralignment) + * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbarmaxwidth) + * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbarwidthfactor) + * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithdrawstyle) + * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillbelowto) + * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillcolor) + * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillopacity) + * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithgradientmode) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithhidefrommixin) + * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinecolor) + * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlineinterpolation) + * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinestyle) + * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinestylemixin) + * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinewidth) + * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointcolor) + * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointsize) + * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointsymbol) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithscaledistributionmixin) + * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithshowpoints) + * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithspannulls) + * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithstacking) + * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithstackingmixin) + * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswiththresholdsstyle) + * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswiththresholdsstylemixin) + * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithtransform) + * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithtype) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithviz) + * [`obj lineStyle`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestyle) + * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithdash) + * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithdashmixin) + * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithfill) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithtype) + * [`obj stacking`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstacking) + * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstackingwithgroup) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstackingwithmode) + * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsthresholdsstyle) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsthresholdsstylewithmode) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withCellHeight(value)`](#fn-optionswithcellheight) + * [`fn withFooter(value={"countRows": false,"reducer": [],"show": false})`](#fn-optionswithfooter) + * [`fn withFooterMixin(value={"countRows": false,"reducer": [],"show": false})`](#fn-optionswithfootermixin) + * [`fn withFrameIndex(value=0)`](#fn-optionswithframeindex) + * [`fn withShowHeader(value=true)`](#fn-optionswithshowheader) + * [`fn withShowTypeIcons(value=true)`](#fn-optionswithshowtypeicons) + * [`fn withSortBy(value)`](#fn-optionswithsortby) + * [`fn withSortByMixin(value)`](#fn-optionswithsortbymixin) + * [`obj footer`](#obj-optionsfooter) + * [`fn withTableFooterOptions(value)`](#fn-optionsfooterwithtablefooteroptions) + * [`fn withTableFooterOptionsMixin(value)`](#fn-optionsfooterwithtablefooteroptionsmixin) + * [`obj TableFooterOptions`](#obj-optionsfootertablefooteroptions) + * [`fn withCountRows(value=true)`](#fn-optionsfootertablefooteroptionswithcountrows) + * [`fn withEnablePagination(value=true)`](#fn-optionsfootertablefooteroptionswithenablepagination) + * [`fn withFields(value)`](#fn-optionsfootertablefooteroptionswithfields) + * [`fn withFieldsMixin(value)`](#fn-optionsfootertablefooteroptionswithfieldsmixin) + * [`fn withReducer(value)`](#fn-optionsfootertablefooteroptionswithreducer) + * [`fn withReducerMixin(value)`](#fn-optionsfootertablefooteroptionswithreducermixin) + * [`fn withShow(value=true)`](#fn-optionsfootertablefooteroptionswithshow) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new table panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withAlign + +```jsonnet +fieldConfig.defaults.custom.withAlign(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"left"`, `"right"`, `"center"` + +TODO -- should not be table specific! TODO docs +###### fn fieldConfig.defaults.custom.withCellOptions + +```jsonnet +fieldConfig.defaults.custom.withCellOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Table cell options. Each cell has a display mode and other potential options for that display. +###### fn fieldConfig.defaults.custom.withCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.withCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Table cell options. Each cell has a display mode and other potential options for that display. +###### fn fieldConfig.defaults.custom.withDisplayMode + +```jsonnet +fieldConfig.defaults.custom.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"basic"`, `"color-background"`, `"color-background-solid"`, `"color-text"`, `"custom"`, `"gauge"`, `"gradient-gauge"`, `"image"`, `"json-view"`, `"lcd-gauge"`, `"sparkline"` + +Internally, this is the "type" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions +###### fn fieldConfig.defaults.custom.withFilterable + +```jsonnet +fieldConfig.defaults.custom.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withHidden + +```jsonnet +fieldConfig.defaults.custom.withHidden(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withHideHeader + +```jsonnet +fieldConfig.defaults.custom.withHideHeader(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Hides any header for a column, usefull for columns that show some static content or buttons. +###### fn fieldConfig.defaults.custom.withInspect + +```jsonnet +fieldConfig.defaults.custom.withInspect(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withMinWidth + +```jsonnet +fieldConfig.defaults.custom.withMinWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withWidth + +```jsonnet +fieldConfig.defaults.custom.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### obj fieldConfig.defaults.custom.cellOptions + + +####### fn fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Auto mode table cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Auto mode table cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Gauge cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Gauge cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Colored text cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Colored text cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Colored background cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Colored background cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableImageCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableImageCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Json view cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableImageCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableImageCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Json view cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Json view cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Json view cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptions + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Sparkline cell options +####### fn fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptionsMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Sparkline cell options +####### obj fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions.withType() +``` + + + +####### obj fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"basic"`, `"gradient"`, `"lcd"` + +Enum expressing the possible display modes for the bar gauge component of Grafana UI +######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withType() +``` + + + +######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withValueDisplayMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withValueDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"color"`, `"hidden"`, `"text"` + +Allows for the table cell gauge display type to set the gauge mode. +####### obj fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions.withType() +``` + + + +####### obj fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"basic"`, `"gradient"` + +Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient. +######## fn fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withType() +``` + + + +####### obj fieldConfig.defaults.custom.cellOptions.TableImageCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableImageCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableImageCellOptions.withType() +``` + + + +####### obj fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions.withType() +``` + + + +####### obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisCenteredZero + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisColorMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"series"`, `"text"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisGridShow + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisLabel + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisPlacement + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"bottom"`, `"hidden"`, `"left"`, `"right"`, `"top"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMax + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisWidth + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarAlignment + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarAlignment(value) +``` + +PARAMETERS: + +* **value** (`number`) + - valid values: `1`, `-1`, `0` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarMaxWidth + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarMaxWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarWidthFactor + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarWidthFactor(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withDrawStyle + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withDrawStyle(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bars"`, `"line"`, `"points"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillBelowTo + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillBelowTo(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillColor + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillOpacity(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withGradientMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withGradientMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"hue"`, `"none"`, `"opacity"`, `"scheme"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineColor + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineInterpolation + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineInterpolation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"smooth"`, `"stepAfter"`, `"stepBefore"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyle + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyleMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointColor + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSize + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSymbol + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSymbol(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withShowPoints + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withShowPoints(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"always"`, `"auto"`, `"never"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withSpanNulls + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withSpanNulls(value) +``` + +PARAMETERS: + +* **value** (`["boolean", "number"]`) + +Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStacking + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStacking(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStackingMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStackingMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyle + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyleMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withTransform + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withTransform(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"constant"`, `"negative-Y"` + +TODO docs +######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withType() +``` + + + +######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDash + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDash(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDashMixin + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDashMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withFill + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withFill(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` + + +######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withGroup + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"normal"`, `"percent"` + +TODO docs +######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle + + +######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle.withMode + +```jsonnet +fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"area"`, `"dashed"`, `"dashed+area"`, `"line"`, `"line+area"`, `"off"`, `"series"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withCellHeight + +```jsonnet +options.withCellHeight(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Controls the height of the rows +#### fn options.withFooter + +```jsonnet +options.withFooter(value={"countRows": false,"reducer": [],"show": false}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"countRows": false,"reducer": [],"show": false}` + +Controls footer options +#### fn options.withFooterMixin + +```jsonnet +options.withFooterMixin(value={"countRows": false,"reducer": [],"show": false}) +``` + +PARAMETERS: + +* **value** (`object`) + - default value: `{"countRows": false,"reducer": [],"show": false}` + +Controls footer options +#### fn options.withFrameIndex + +```jsonnet +options.withFrameIndex(value=0) +``` + +PARAMETERS: + +* **value** (`number`) + - default value: `0` + +Represents the index of the selected frame +#### fn options.withShowHeader + +```jsonnet +options.withShowHeader(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls whether the panel should show the header +#### fn options.withShowTypeIcons + +```jsonnet +options.withShowTypeIcons(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Controls whether the header should show icons for the column types +#### fn options.withSortBy + +```jsonnet +options.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Used to control row sorting +#### fn options.withSortByMixin + +```jsonnet +options.withSortByMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Used to control row sorting +#### obj options.footer + + +##### fn options.footer.withTableFooterOptions + +```jsonnet +options.footer.withTableFooterOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Footer options +##### fn options.footer.withTableFooterOptionsMixin + +```jsonnet +options.footer.withTableFooterOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Footer options +##### obj options.footer.TableFooterOptions + + +###### fn options.footer.TableFooterOptions.withCountRows + +```jsonnet +options.footer.TableFooterOptions.withCountRows(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.footer.TableFooterOptions.withEnablePagination + +```jsonnet +options.footer.TableFooterOptions.withEnablePagination(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn options.footer.TableFooterOptions.withFields + +```jsonnet +options.footer.TableFooterOptions.withFields(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn options.footer.TableFooterOptions.withFieldsMixin + +```jsonnet +options.footer.TableFooterOptions.withFieldsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn options.footer.TableFooterOptions.withReducer + +```jsonnet +options.footer.TableFooterOptions.withReducer(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn options.footer.TableFooterOptions.withReducerMixin + +```jsonnet +options.footer.TableFooterOptions.withReducerMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn options.footer.TableFooterOptions.withShow + +```jsonnet +options.footer.TableFooterOptions.withShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md new file mode 100644 index 0000000000..20748dc807 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md @@ -0,0 +1,34 @@ +# sortBy + + + +## Index + +* [`fn withDesc(value=true)`](#fn-withdesc) +* [`fn withDisplayName(value)`](#fn-withdisplayname) + +## Fields + +### fn withDesc + +```jsonnet +withDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Flag used to indicate descending sort order +### fn withDisplayName + +```jsonnet +withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Sets the display name of the field to sort by \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md new file mode 100644 index 0000000000..b70ade3ed4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md @@ -0,0 +1,662 @@ +# text + +grafonnet.panel.text + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withCode(value)`](#fn-optionswithcode) + * [`fn withCodeMixin(value)`](#fn-optionswithcodemixin) + * [`fn withContent(value="# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)")`](#fn-optionswithcontent) + * [`fn withMode(value)`](#fn-optionswithmode) + * [`obj code`](#obj-optionscode) + * [`fn withLanguage(value="plaintext")`](#fn-optionscodewithlanguage) + * [`fn withShowLineNumbers(value=true)`](#fn-optionscodewithshowlinenumbers) + * [`fn withShowMiniMap(value=true)`](#fn-optionscodewithshowminimap) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new text panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withCode + +```jsonnet +options.withCode(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withCodeMixin + +```jsonnet +options.withCodeMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withContent + +```jsonnet +options.withContent(value="# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)"` + + +#### fn options.withMode + +```jsonnet +options.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"html"`, `"markdown"`, `"code"` + + +#### obj options.code + + +##### fn options.code.withLanguage + +```jsonnet +options.code.withLanguage(value="plaintext") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"plaintext"` + - valid values: `"plaintext"`, `"yaml"`, `"xml"`, `"typescript"`, `"sql"`, `"go"`, `"markdown"`, `"html"`, `"json"` + + +##### fn options.code.withShowLineNumbers + +```jsonnet +options.code.withShowLineNumbers(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.code.withShowMiniMap + +```jsonnet +options.code.withShowMiniMap(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md new file mode 100644 index 0000000000..fa1d2e7e4c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md @@ -0,0 +1,1430 @@ +# timeSeries + +grafonnet.panel.timeSeries + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) + * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomwithbaralignment) + * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomwithbarmaxwidth) + * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomwithbarwidthfactor) + * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomwithdrawstyle) + * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomwithfillbelowto) + * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomwithfillcolor) + * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomwithlinecolor) + * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomwithlineinterpolation) + * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomwithlinestyle) + * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomwithlinestylemixin) + * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomwithpointcolor) + * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomwithpointsize) + * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomwithpointsymbol) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) + * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomwithshowpoints) + * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomwithspannulls) + * [`fn withSpanNullsMixin(value)`](#fn-fieldconfigdefaultscustomwithspannullsmixin) + * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomwithstacking) + * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomwithstackingmixin) + * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) + * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) + * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomwithtransform) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) + * [`obj lineStyle`](#obj-fieldconfigdefaultscustomlinestyle) + * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomlinestylewithdash) + * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomlinestylewithdashmixin) + * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomlinestylewithfill) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) + * [`obj stacking`](#obj-fieldconfigdefaultscustomstacking) + * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomstackingwithgroup) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomstackingwithmode) + * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withTimezone(value)`](#fn-optionswithtimezone) + * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new timeSeries panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withAxisCenteredZero + +```jsonnet +fieldConfig.defaults.custom.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisColorMode + +```jsonnet +fieldConfig.defaults.custom.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisGridShow + +```jsonnet +fieldConfig.defaults.custom.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisLabel + +```jsonnet +fieldConfig.defaults.custom.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withAxisPlacement + +```jsonnet +fieldConfig.defaults.custom.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisSoftMax + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisSoftMin + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisWidth + +```jsonnet +fieldConfig.defaults.custom.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withBarAlignment + +```jsonnet +fieldConfig.defaults.custom.withBarAlignment(value) +``` + +PARAMETERS: + +* **value** (`integer`) + - valid values: `-1`, `0`, `1` + +TODO docs +###### fn fieldConfig.defaults.custom.withBarMaxWidth + +```jsonnet +fieldConfig.defaults.custom.withBarMaxWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withBarWidthFactor + +```jsonnet +fieldConfig.defaults.custom.withBarWidthFactor(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withDrawStyle + +```jsonnet +fieldConfig.defaults.custom.withDrawStyle(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"line"`, `"bars"`, `"points"` + +TODO docs +###### fn fieldConfig.defaults.custom.withFillBelowTo + +```jsonnet +fieldConfig.defaults.custom.withFillBelowTo(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withFillColor + +```jsonnet +fieldConfig.defaults.custom.withFillColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withGradientMode + +```jsonnet +fieldConfig.defaults.custom.withGradientMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"opacity"`, `"hue"`, `"scheme"` + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineColor + +```jsonnet +fieldConfig.defaults.custom.withLineColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withLineInterpolation + +```jsonnet +fieldConfig.defaults.custom.withLineInterpolation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"smooth"`, `"stepBefore"`, `"stepAfter"` + +TODO docs +###### fn fieldConfig.defaults.custom.withLineStyle + +```jsonnet +fieldConfig.defaults.custom.withLineStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineStyleMixin + +```jsonnet +fieldConfig.defaults.custom.withLineStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withPointColor + +```jsonnet +fieldConfig.defaults.custom.withPointColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withPointSize + +```jsonnet +fieldConfig.defaults.custom.withPointSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withPointSymbol + +```jsonnet +fieldConfig.defaults.custom.withPointSymbol(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withShowPoints + +```jsonnet +fieldConfig.defaults.custom.withShowPoints(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"never"`, `"always"` + +TODO docs +###### fn fieldConfig.defaults.custom.withSpanNulls + +```jsonnet +fieldConfig.defaults.custom.withSpanNulls(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Indicate if null values should be treated as gaps or connected. +When the value is a number, it represents the maximum delta in the +X axis that should be considered connected. For timeseries, this is milliseconds +###### fn fieldConfig.defaults.custom.withSpanNullsMixin + +```jsonnet +fieldConfig.defaults.custom.withSpanNullsMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Indicate if null values should be treated as gaps or connected. +When the value is a number, it represents the maximum delta in the +X axis that should be considered connected. For timeseries, this is milliseconds +###### fn fieldConfig.defaults.custom.withStacking + +```jsonnet +fieldConfig.defaults.custom.withStacking(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withStackingMixin + +```jsonnet +fieldConfig.defaults.custom.withStackingMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyle + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withTransform + +```jsonnet +fieldConfig.defaults.custom.withTransform(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"constant"`, `"negative-Y"` + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### obj fieldConfig.defaults.custom.lineStyle + + +####### fn fieldConfig.defaults.custom.lineStyle.withDash + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withDash(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn fieldConfig.defaults.custom.lineStyle.withDashMixin + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withDashMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn fieldConfig.defaults.custom.lineStyle.withFill + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withFill(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` + + +###### obj fieldConfig.defaults.custom.scaleDistribution + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +###### obj fieldConfig.defaults.custom.stacking + + +####### fn fieldConfig.defaults.custom.stacking.withGroup + +```jsonnet +fieldConfig.defaults.custom.stacking.withGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +####### fn fieldConfig.defaults.custom.stacking.withMode + +```jsonnet +fieldConfig.defaults.custom.stacking.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"normal"`, `"percent"` + +TODO docs +###### obj fieldConfig.defaults.custom.thresholdsStyle + + +####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode + +```jsonnet +fieldConfig.defaults.custom.thresholdsStyle.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTimezone + +```jsonnet +options.withTimezone(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTimezoneMixin + +```jsonnet +options.withTimezoneMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md new file mode 100644 index 0000000000..cb752f91ed --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md @@ -0,0 +1,1418 @@ +# trend + +grafonnet.panel.trend + +## Subpackages + +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj fieldConfig`](#obj-fieldconfig) + * [`obj defaults`](#obj-fieldconfigdefaults) + * [`obj custom`](#obj-fieldconfigdefaultscustom) + * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) + * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) + * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) + * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) + * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) + * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) + * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) + * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) + * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomwithbaralignment) + * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomwithbarmaxwidth) + * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomwithbarwidthfactor) + * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomwithdrawstyle) + * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomwithfillbelowto) + * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomwithfillcolor) + * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomwithfillopacity) + * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) + * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) + * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) + * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomwithlinecolor) + * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomwithlineinterpolation) + * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomwithlinestyle) + * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomwithlinestylemixin) + * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomwithlinewidth) + * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomwithpointcolor) + * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomwithpointsize) + * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomwithpointsymbol) + * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) + * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) + * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomwithshowpoints) + * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomwithspannulls) + * [`fn withSpanNullsMixin(value)`](#fn-fieldconfigdefaultscustomwithspannullsmixin) + * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomwithstacking) + * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomwithstackingmixin) + * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) + * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) + * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomwithtransform) + * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) + * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) + * [`obj lineStyle`](#obj-fieldconfigdefaultscustomlinestyle) + * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomlinestylewithdash) + * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomlinestylewithdashmixin) + * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomlinestylewithfill) + * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) + * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) + * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) + * [`obj stacking`](#obj-fieldconfigdefaultscustomstacking) + * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomstackingwithgroup) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomstackingwithmode) + * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) + * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`fn withXField(value)`](#fn-optionswithxfield) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new trend panel with a title. +### obj fieldConfig + + +#### obj fieldConfig.defaults + + +##### obj fieldConfig.defaults.custom + + +###### fn fieldConfig.defaults.custom.withAxisCenteredZero + +```jsonnet +fieldConfig.defaults.custom.withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisColorMode + +```jsonnet +fieldConfig.defaults.custom.withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisGridShow + +```jsonnet +fieldConfig.defaults.custom.withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### fn fieldConfig.defaults.custom.withAxisLabel + +```jsonnet +fieldConfig.defaults.custom.withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withAxisPlacement + +```jsonnet +fieldConfig.defaults.custom.withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +###### fn fieldConfig.defaults.custom.withAxisSoftMax + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisSoftMin + +```jsonnet +fieldConfig.defaults.custom.withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withAxisWidth + +```jsonnet +fieldConfig.defaults.custom.withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withBarAlignment + +```jsonnet +fieldConfig.defaults.custom.withBarAlignment(value) +``` + +PARAMETERS: + +* **value** (`integer`) + - valid values: `-1`, `0`, `1` + +TODO docs +###### fn fieldConfig.defaults.custom.withBarMaxWidth + +```jsonnet +fieldConfig.defaults.custom.withBarMaxWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withBarWidthFactor + +```jsonnet +fieldConfig.defaults.custom.withBarWidthFactor(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withDrawStyle + +```jsonnet +fieldConfig.defaults.custom.withDrawStyle(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"line"`, `"bars"`, `"points"` + +TODO docs +###### fn fieldConfig.defaults.custom.withFillBelowTo + +```jsonnet +fieldConfig.defaults.custom.withFillBelowTo(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withFillColor + +```jsonnet +fieldConfig.defaults.custom.withFillColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withFillOpacity + +```jsonnet +fieldConfig.defaults.custom.withFillOpacity(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withGradientMode + +```jsonnet +fieldConfig.defaults.custom.withGradientMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"opacity"`, `"hue"`, `"scheme"` + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFrom + +```jsonnet +fieldConfig.defaults.custom.withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withHideFromMixin + +```jsonnet +fieldConfig.defaults.custom.withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineColor + +```jsonnet +fieldConfig.defaults.custom.withLineColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withLineInterpolation + +```jsonnet +fieldConfig.defaults.custom.withLineInterpolation(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"smooth"`, `"stepBefore"`, `"stepAfter"` + +TODO docs +###### fn fieldConfig.defaults.custom.withLineStyle + +```jsonnet +fieldConfig.defaults.custom.withLineStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineStyleMixin + +```jsonnet +fieldConfig.defaults.custom.withLineStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withLineWidth + +```jsonnet +fieldConfig.defaults.custom.withLineWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withPointColor + +```jsonnet +fieldConfig.defaults.custom.withPointColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withPointSize + +```jsonnet +fieldConfig.defaults.custom.withPointSize(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +###### fn fieldConfig.defaults.custom.withPointSymbol + +```jsonnet +fieldConfig.defaults.custom.withPointSymbol(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn fieldConfig.defaults.custom.withScaleDistribution + +```jsonnet +fieldConfig.defaults.custom.withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withScaleDistributionMixin + +```jsonnet +fieldConfig.defaults.custom.withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withShowPoints + +```jsonnet +fieldConfig.defaults.custom.withShowPoints(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"never"`, `"always"` + +TODO docs +###### fn fieldConfig.defaults.custom.withSpanNulls + +```jsonnet +fieldConfig.defaults.custom.withSpanNulls(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Indicate if null values should be treated as gaps or connected. +When the value is a number, it represents the maximum delta in the +X axis that should be considered connected. For timeseries, this is milliseconds +###### fn fieldConfig.defaults.custom.withSpanNullsMixin + +```jsonnet +fieldConfig.defaults.custom.withSpanNullsMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Indicate if null values should be treated as gaps or connected. +When the value is a number, it represents the maximum delta in the +X axis that should be considered connected. For timeseries, this is milliseconds +###### fn fieldConfig.defaults.custom.withStacking + +```jsonnet +fieldConfig.defaults.custom.withStacking(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withStackingMixin + +```jsonnet +fieldConfig.defaults.custom.withStackingMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyle + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin + +```jsonnet +fieldConfig.defaults.custom.withThresholdsStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +###### fn fieldConfig.defaults.custom.withTransform + +```jsonnet +fieldConfig.defaults.custom.withTransform(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"constant"`, `"negative-Y"` + +TODO docs +###### obj fieldConfig.defaults.custom.hideFrom + + +####### fn fieldConfig.defaults.custom.hideFrom.withLegend + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withTooltip + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +####### fn fieldConfig.defaults.custom.hideFrom.withViz + +```jsonnet +fieldConfig.defaults.custom.hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +###### obj fieldConfig.defaults.custom.lineStyle + + +####### fn fieldConfig.defaults.custom.lineStyle.withDash + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withDash(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn fieldConfig.defaults.custom.lineStyle.withDashMixin + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withDashMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn fieldConfig.defaults.custom.lineStyle.withFill + +```jsonnet +fieldConfig.defaults.custom.lineStyle.withFill(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` + + +###### obj fieldConfig.defaults.custom.scaleDistribution + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withLog + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +####### fn fieldConfig.defaults.custom.scaleDistribution.withType + +```jsonnet +fieldConfig.defaults.custom.scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs +###### obj fieldConfig.defaults.custom.stacking + + +####### fn fieldConfig.defaults.custom.stacking.withGroup + +```jsonnet +fieldConfig.defaults.custom.stacking.withGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +####### fn fieldConfig.defaults.custom.stacking.withMode + +```jsonnet +fieldConfig.defaults.custom.stacking.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"none"`, `"normal"`, `"percent"` + +TODO docs +###### obj fieldConfig.defaults.custom.thresholdsStyle + + +####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode + +```jsonnet +fieldConfig.defaults.custom.thresholdsStyle.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` + +TODO docs +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withXField + +```jsonnet +options.withXField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the x field to use (defaults to first number) +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md new file mode 100644 index 0000000000..9f89ebce5b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md @@ -0,0 +1,891 @@ +# xyChart + +grafonnet.panel.xyChart + +## Subpackages + +* [options.series](options/series.md) +* [panelOptions.link](panelOptions/link.md) +* [queryOptions.transformation](queryOptions/transformation.md) +* [standardOptions.mapping](standardOptions/mapping.md) +* [standardOptions.override](standardOptions/override.md) +* [standardOptions.threshold.step](standardOptions/threshold/step.md) + +## Index + +* [`fn new(title)`](#fn-new) +* [`obj libraryPanel`](#obj-librarypanel) + * [`fn withName(value)`](#fn-librarypanelwithname) + * [`fn withUid(value)`](#fn-librarypanelwithuid) +* [`obj options`](#obj-options) + * [`fn withDims(value)`](#fn-optionswithdims) + * [`fn withDimsMixin(value)`](#fn-optionswithdimsmixin) + * [`fn withLegend(value)`](#fn-optionswithlegend) + * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) + * [`fn withSeries(value)`](#fn-optionswithseries) + * [`fn withSeriesMapping(value)`](#fn-optionswithseriesmapping) + * [`fn withSeriesMixin(value)`](#fn-optionswithseriesmixin) + * [`fn withTooltip(value)`](#fn-optionswithtooltip) + * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) + * [`obj dims`](#obj-optionsdims) + * [`fn withExclude(value)`](#fn-optionsdimswithexclude) + * [`fn withExcludeMixin(value)`](#fn-optionsdimswithexcludemixin) + * [`fn withFrame(value)`](#fn-optionsdimswithframe) + * [`fn withX(value)`](#fn-optionsdimswithx) + * [`obj legend`](#obj-optionslegend) + * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) + * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) + * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) + * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) + * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) + * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) + * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) + * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) + * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) + * [`fn withWidth(value)`](#fn-optionslegendwithwidth) + * [`obj tooltip`](#obj-optionstooltip) + * [`fn withMode(value)`](#fn-optionstooltipwithmode) + * [`fn withSort(value)`](#fn-optionstooltipwithsort) +* [`obj panelOptions`](#obj-paneloptions) + * [`fn withDescription(value)`](#fn-paneloptionswithdescription) + * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) + * [`fn withLinks(value)`](#fn-paneloptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) + * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) + * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) + * [`fn withTitle(value)`](#fn-paneloptionswithtitle) + * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) +* [`obj queryOptions`](#obj-queryoptions) + * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) + * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) + * [`fn withInterval(value)`](#fn-queryoptionswithinterval) + * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) + * [`fn withTargets(value)`](#fn-queryoptionswithtargets) + * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) + * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) + * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) + * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) + * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) +* [`obj standardOptions`](#obj-standardoptions) + * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) + * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) + * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) + * [`fn withLinks(value)`](#fn-standardoptionswithlinks) + * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) + * [`fn withMappings(value)`](#fn-standardoptionswithmappings) + * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) + * [`fn withMax(value)`](#fn-standardoptionswithmax) + * [`fn withMin(value)`](#fn-standardoptionswithmin) + * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) + * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) + * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) + * [`fn withPath(value)`](#fn-standardoptionswithpath) + * [`fn withUnit(value)`](#fn-standardoptionswithunit) + * [`obj color`](#obj-standardoptionscolor) + * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) + * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) + * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) + * [`obj thresholds`](#obj-standardoptionsthresholds) + * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) + * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) + * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) + +## Fields + +### fn new + +```jsonnet +new(title) +``` + +PARAMETERS: + +* **title** (`string`) + +Creates a new xyChart panel with a title. +### obj libraryPanel + + +#### fn libraryPanel.withName + +```jsonnet +libraryPanel.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn libraryPanel.withUid + +```jsonnet +libraryPanel.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj options + + +#### fn options.withDims + +```jsonnet +options.withDims(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withDimsMixin + +```jsonnet +options.withDimsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn options.withLegend + +```jsonnet +options.withLegend(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withLegendMixin + +```jsonnet +options.withLegendMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withSeries + +```jsonnet +options.withSeries(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withSeriesMapping + +```jsonnet +options.withSeriesMapping(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"manual"` + + +#### fn options.withSeriesMixin + +```jsonnet +options.withSeriesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn options.withTooltip + +```jsonnet +options.withTooltip(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### fn options.withTooltipMixin + +```jsonnet +options.withTooltipMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +#### obj options.dims + + +##### fn options.dims.withExclude + +```jsonnet +options.dims.withExclude(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.dims.withExcludeMixin + +```jsonnet +options.dims.withExcludeMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.dims.withFrame + +```jsonnet +options.dims.withFrame(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +##### fn options.dims.withX + +```jsonnet +options.dims.withX(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj options.legend + + +##### fn options.legend.withAsTable + +```jsonnet +options.legend.withAsTable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withCalcs + +```jsonnet +options.legend.withCalcs(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withCalcsMixin + +```jsonnet +options.legend.withCalcsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn options.legend.withDisplayMode + +```jsonnet +options.legend.withDisplayMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"list"`, `"table"`, `"hidden"` + +TODO docs +Note: "hidden" needs to remain as an option for plugins compatibility +##### fn options.legend.withIsVisible + +```jsonnet +options.legend.withIsVisible(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withPlacement + +```jsonnet +options.legend.withPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"bottom"`, `"right"` + +TODO docs +##### fn options.legend.withShowLegend + +```jsonnet +options.legend.withShowLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withSortBy + +```jsonnet +options.legend.withSortBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn options.legend.withSortDesc + +```jsonnet +options.legend.withSortDesc(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn options.legend.withWidth + +```jsonnet +options.legend.withWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### obj options.tooltip + + +##### fn options.tooltip.withMode + +```jsonnet +options.tooltip.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"single"`, `"multi"`, `"none"` + +TODO docs +##### fn options.tooltip.withSort + +```jsonnet +options.tooltip.withSort(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"asc"`, `"desc"`, `"none"` + +TODO docs +### obj panelOptions + + +#### fn panelOptions.withDescription + +```jsonnet +panelOptions.withDescription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Description. +#### fn panelOptions.withGridPos + +```jsonnet +panelOptions.withGridPos(h="null", w="null", x="null", y="null") +``` + +PARAMETERS: + +* **h** (`number`) + - default value: `"null"` +* **w** (`number`) + - default value: `"null"` +* **x** (`number`) + - default value: `"null"` +* **y** (`number`) + - default value: `"null"` + +`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. + +All arguments default to `null`, which means they will remain unchanged or unset. + +#### fn panelOptions.withLinks + +```jsonnet +panelOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withLinksMixin + +```jsonnet +panelOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Panel links. +TODO fill this out - seems there are a couple variants? +#### fn panelOptions.withRepeat + +```jsonnet +panelOptions.withRepeat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of template variable to repeat for. +#### fn panelOptions.withRepeatDirection + +```jsonnet +panelOptions.withRepeatDirection(value="h") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"h"` + - valid values: `"h"`, `"v"` + +Direction to repeat in if 'repeat' is set. +"h" for horizontal, "v" for vertical. +TODO this is probably optional +#### fn panelOptions.withTitle + +```jsonnet +panelOptions.withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Panel title. +#### fn panelOptions.withTransparent + +```jsonnet +panelOptions.withTransparent(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Whether to display the panel without a background. +### obj queryOptions + + +#### fn queryOptions.withDatasource + +```jsonnet +queryOptions.withDatasource(type, uid) +``` + +PARAMETERS: + +* **type** (`string`) +* **uid** (`string`) + +`withDatasource` sets the datasource for all queries in a panel. + +The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. + +#### fn queryOptions.withDatasourceMixin + +```jsonnet +queryOptions.withDatasourceMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +The datasource used in all targets. +#### fn queryOptions.withInterval + +```jsonnet +queryOptions.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withMaxDataPoints + +```jsonnet +queryOptions.withMaxDataPoints(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +#### fn queryOptions.withTargets + +```jsonnet +queryOptions.withTargets(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTargetsMixin + +```jsonnet +queryOptions.withTargetsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +TODO docs +#### fn queryOptions.withTimeFrom + +```jsonnet +queryOptions.withTimeFrom(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTimeShift + +```jsonnet +queryOptions.withTimeShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO tighter constraint +#### fn queryOptions.withTransformations + +```jsonnet +queryOptions.withTransformations(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn queryOptions.withTransformationsMixin + +```jsonnet +queryOptions.withTransformationsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj standardOptions + + +#### fn standardOptions.withDecimals + +```jsonnet +standardOptions.withDecimals(value) +``` + +PARAMETERS: + +* **value** (`number`) + +Significant digits (for display) +#### fn standardOptions.withDisplayName + +```jsonnet +standardOptions.withDisplayName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The display value for this field. This supports template variables blank is auto +#### fn standardOptions.withFilterable + +```jsonnet +standardOptions.withFilterable(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +True if data source field supports ad-hoc filters +#### fn standardOptions.withLinks + +```jsonnet +standardOptions.withLinks(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withLinksMixin + +```jsonnet +standardOptions.withLinksMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The behavior when clicking on a result +#### fn standardOptions.withMappings + +```jsonnet +standardOptions.withMappings(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMappingsMixin + +```jsonnet +standardOptions.withMappingsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Convert input values into a display string +#### fn standardOptions.withMax + +```jsonnet +standardOptions.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withMin + +```jsonnet +standardOptions.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn standardOptions.withNoValue + +```jsonnet +standardOptions.withNoValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alternative to empty string +#### fn standardOptions.withOverrides + +```jsonnet +standardOptions.withOverrides(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withOverridesMixin + +```jsonnet +standardOptions.withOverridesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn standardOptions.withPath + +```jsonnet +standardOptions.withPath(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An explicit path to the field in the datasource. When the frame meta includes a path, +This will default to `${frame.meta.path}/${field.name} + +When defined, this value can be used as an identifier within the datasource scope, and +may be used to update the results +#### fn standardOptions.withUnit + +```jsonnet +standardOptions.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Numeric Options +#### obj standardOptions.color + + +##### fn standardOptions.color.withFixedColor + +```jsonnet +standardOptions.color.withFixedColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Stores the fixed color value if mode is fixed +##### fn standardOptions.color.withMode + +```jsonnet +standardOptions.color.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The main color scheme mode +##### fn standardOptions.color.withSeriesBy + +```jsonnet +standardOptions.color.withSeriesBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"min"`, `"max"`, `"last"` + +TODO docs +#### obj standardOptions.thresholds + + +##### fn standardOptions.thresholds.withMode + +```jsonnet +standardOptions.thresholds.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"absolute"`, `"percentage"` + + +##### fn standardOptions.thresholds.withSteps + +```jsonnet +standardOptions.thresholds.withSteps(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity +##### fn standardOptions.thresholds.withStepsMixin + +```jsonnet +standardOptions.thresholds.withStepsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md new file mode 100644 index 0000000000..00891ab5d8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md @@ -0,0 +1,638 @@ +# series + + + +## Index + +* [`fn withAxisCenteredZero(value=true)`](#fn-withaxiscenteredzero) +* [`fn withAxisColorMode(value)`](#fn-withaxiscolormode) +* [`fn withAxisGridShow(value=true)`](#fn-withaxisgridshow) +* [`fn withAxisLabel(value)`](#fn-withaxislabel) +* [`fn withAxisPlacement(value)`](#fn-withaxisplacement) +* [`fn withAxisSoftMax(value)`](#fn-withaxissoftmax) +* [`fn withAxisSoftMin(value)`](#fn-withaxissoftmin) +* [`fn withAxisWidth(value)`](#fn-withaxiswidth) +* [`fn withHideFrom(value)`](#fn-withhidefrom) +* [`fn withHideFromMixin(value)`](#fn-withhidefrommixin) +* [`fn withLabel(value)`](#fn-withlabel) +* [`fn withLabelValue(value)`](#fn-withlabelvalue) +* [`fn withLabelValueMixin(value)`](#fn-withlabelvaluemixin) +* [`fn withLineColor(value)`](#fn-withlinecolor) +* [`fn withLineColorMixin(value)`](#fn-withlinecolormixin) +* [`fn withLineStyle(value)`](#fn-withlinestyle) +* [`fn withLineStyleMixin(value)`](#fn-withlinestylemixin) +* [`fn withLineWidth(value)`](#fn-withlinewidth) +* [`fn withName(value)`](#fn-withname) +* [`fn withPointColor(value)`](#fn-withpointcolor) +* [`fn withPointColorMixin(value)`](#fn-withpointcolormixin) +* [`fn withPointSize(value)`](#fn-withpointsize) +* [`fn withPointSizeMixin(value)`](#fn-withpointsizemixin) +* [`fn withScaleDistribution(value)`](#fn-withscaledistribution) +* [`fn withScaleDistributionMixin(value)`](#fn-withscaledistributionmixin) +* [`fn withShow(value)`](#fn-withshow) +* [`fn withX(value)`](#fn-withx) +* [`fn withY(value)`](#fn-withy) +* [`obj hideFrom`](#obj-hidefrom) + * [`fn withLegend(value=true)`](#fn-hidefromwithlegend) + * [`fn withTooltip(value=true)`](#fn-hidefromwithtooltip) + * [`fn withViz(value=true)`](#fn-hidefromwithviz) +* [`obj labelValue`](#obj-labelvalue) + * [`fn withField(value)`](#fn-labelvaluewithfield) + * [`fn withFixed(value)`](#fn-labelvaluewithfixed) + * [`fn withMode(value)`](#fn-labelvaluewithmode) +* [`obj lineColor`](#obj-linecolor) + * [`fn withField(value)`](#fn-linecolorwithfield) + * [`fn withFixed(value)`](#fn-linecolorwithfixed) +* [`obj lineStyle`](#obj-linestyle) + * [`fn withDash(value)`](#fn-linestylewithdash) + * [`fn withDashMixin(value)`](#fn-linestylewithdashmixin) + * [`fn withFill(value)`](#fn-linestylewithfill) +* [`obj pointColor`](#obj-pointcolor) + * [`fn withField(value)`](#fn-pointcolorwithfield) + * [`fn withFixed(value)`](#fn-pointcolorwithfixed) +* [`obj pointSize`](#obj-pointsize) + * [`fn withField(value)`](#fn-pointsizewithfield) + * [`fn withFixed(value)`](#fn-pointsizewithfixed) + * [`fn withMax(value)`](#fn-pointsizewithmax) + * [`fn withMin(value)`](#fn-pointsizewithmin) + * [`fn withMode(value)`](#fn-pointsizewithmode) +* [`obj scaleDistribution`](#obj-scaledistribution) + * [`fn withLinearThreshold(value)`](#fn-scaledistributionwithlinearthreshold) + * [`fn withLog(value)`](#fn-scaledistributionwithlog) + * [`fn withType(value)`](#fn-scaledistributionwithtype) + +## Fields + +### fn withAxisCenteredZero + +```jsonnet +withAxisCenteredZero(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withAxisColorMode + +```jsonnet +withAxisColorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"text"`, `"series"` + +TODO docs +### fn withAxisGridShow + +```jsonnet +withAxisGridShow(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withAxisLabel + +```jsonnet +withAxisLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withAxisPlacement + +```jsonnet +withAxisPlacement(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` + +TODO docs +### fn withAxisSoftMax + +```jsonnet +withAxisSoftMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +### fn withAxisSoftMin + +```jsonnet +withAxisSoftMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +### fn withAxisWidth + +```jsonnet +withAxisWidth(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +### fn withHideFrom + +```jsonnet +withHideFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withHideFromMixin + +```jsonnet +withHideFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withLabel + +```jsonnet +withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"auto"`, `"never"`, `"always"` + +TODO docs +### fn withLabelValue + +```jsonnet +withLabelValue(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLabelValueMixin + +```jsonnet +withLabelValueMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLineColor + +```jsonnet +withLineColor(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLineColorMixin + +```jsonnet +withLineColorMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withLineStyle + +```jsonnet +withLineStyle(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withLineStyleMixin + +```jsonnet +withLineStyleMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withLineWidth + +```jsonnet +withLineWidth(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withPointColor + +```jsonnet +withPointColor(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withPointColorMixin + +```jsonnet +withPointColorMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withPointSize + +```jsonnet +withPointSize(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withPointSizeMixin + +```jsonnet +withPointSizeMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withScaleDistribution + +```jsonnet +withScaleDistribution(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withScaleDistributionMixin + +```jsonnet +withScaleDistributionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +### fn withShow + +```jsonnet +withShow(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"points"`, `"lines"`, `"points+lines"` + + +### fn withX + +```jsonnet +withX(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withY + +```jsonnet +withY(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj hideFrom + + +#### fn hideFrom.withLegend + +```jsonnet +hideFrom.withLegend(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn hideFrom.withTooltip + +```jsonnet +hideFrom.withTooltip(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn hideFrom.withViz + +```jsonnet +hideFrom.withViz(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### obj labelValue + + +#### fn labelValue.withField + +```jsonnet +labelValue.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +fixed: T -- will be added by each element +#### fn labelValue.withFixed + +```jsonnet +labelValue.withFixed(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn labelValue.withMode + +```jsonnet +labelValue.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"fixed"`, `"field"`, `"template"` + + +### obj lineColor + + +#### fn lineColor.withField + +```jsonnet +lineColor.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +fixed: T -- will be added by each element +#### fn lineColor.withFixed + +```jsonnet +lineColor.withFixed(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj lineStyle + + +#### fn lineStyle.withDash + +```jsonnet +lineStyle.withDash(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn lineStyle.withDashMixin + +```jsonnet +lineStyle.withDashMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn lineStyle.withFill + +```jsonnet +lineStyle.withFill(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` + + +### obj pointColor + + +#### fn pointColor.withField + +```jsonnet +pointColor.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +fixed: T -- will be added by each element +#### fn pointColor.withFixed + +```jsonnet +pointColor.withFixed(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj pointSize + + +#### fn pointSize.withField + +```jsonnet +pointSize.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +fixed: T -- will be added by each element +#### fn pointSize.withFixed + +```jsonnet +pointSize.withFixed(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn pointSize.withMax + +```jsonnet +pointSize.withMax(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn pointSize.withMin + +```jsonnet +pointSize.withMin(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn pointSize.withMode + +```jsonnet +pointSize.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"quad"` + + +### obj scaleDistribution + + +#### fn scaleDistribution.withLinearThreshold + +```jsonnet +scaleDistribution.withLinearThreshold(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn scaleDistribution.withLog + +```jsonnet +scaleDistribution.withLog(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn scaleDistribution.withType + +```jsonnet +scaleDistribution.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` + +TODO docs \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md new file mode 100644 index 0000000000..106f9d2edb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md @@ -0,0 +1,145 @@ +# link + + + +## Index + +* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) +* [`fn withIcon(value)`](#fn-withicon) +* [`fn withIncludeVars(value=true)`](#fn-withincludevars) +* [`fn withKeepTime(value=true)`](#fn-withkeeptime) +* [`fn withTags(value)`](#fn-withtags) +* [`fn withTagsMixin(value)`](#fn-withtagsmixin) +* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withTooltip(value)`](#fn-withtooltip) +* [`fn withType(value)`](#fn-withtype) +* [`fn withUrl(value)`](#fn-withurl) + +## Fields + +### fn withAsDropdown + +```jsonnet +withAsDropdown(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withIcon + +```jsonnet +withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withIncludeVars + +```jsonnet +withIncludeVars(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withKeepTime + +```jsonnet +withKeepTime(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTags + +```jsonnet +withTags(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTagsMixin + +```jsonnet +withTagsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withTargetBlank + +```jsonnet +withTargetBlank(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTooltip + +```jsonnet +withTooltip(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"link"`, `"dashboards"` + +TODO docs +### fn withUrl + +```jsonnet +withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md new file mode 100644 index 0000000000..dc832f653d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md @@ -0,0 +1,99 @@ +# transformation + + + +## Index + +* [`fn withDisabled(value=true)`](#fn-withdisabled) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilterMixin(value)`](#fn-withfiltermixin) +* [`fn withId(value)`](#fn-withid) +* [`fn withOptions(value)`](#fn-withoptions) +* [`obj filter`](#obj-filter) + * [`fn withId(value="")`](#fn-filterwithid) + * [`fn withOptions(value)`](#fn-filterwithoptions) + +## Fields + +### fn withDisabled + +```jsonnet +withDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Disabled transformations are skipped +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withFilterMixin + +```jsonnet +withFilterMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique identifier of transformer +### fn withOptions + +```jsonnet +withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Options to be passed to the transformer +Valid options depend on the transformer id +### obj filter + + +#### fn filter.withId + +```jsonnet +filter.withId(value="") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `""` + + +#### fn filter.withOptions + +```jsonnet +filter.withOptions(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md new file mode 100644 index 0000000000..93296972e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md @@ -0,0 +1,469 @@ +# mapping + + + +## Index + +* [`obj RangeMap`](#obj-rangemap) + * [`fn withOptions(value)`](#fn-rangemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) + * [`fn withType(value)`](#fn-rangemapwithtype) + * [`obj options`](#obj-rangemapoptions) + * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) + * [`fn withResult(value)`](#fn-rangemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) + * [`fn withTo(value)`](#fn-rangemapoptionswithto) + * [`obj result`](#obj-rangemapoptionsresult) + * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) +* [`obj RegexMap`](#obj-regexmap) + * [`fn withOptions(value)`](#fn-regexmapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) + * [`fn withType(value)`](#fn-regexmapwithtype) + * [`obj options`](#obj-regexmapoptions) + * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) + * [`fn withResult(value)`](#fn-regexmapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) + * [`obj result`](#obj-regexmapoptionsresult) + * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) + * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) +* [`obj SpecialValueMap`](#obj-specialvaluemap) + * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) + * [`fn withType(value)`](#fn-specialvaluemapwithtype) + * [`obj options`](#obj-specialvaluemapoptions) + * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) + * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) + * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) + * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) + * [`obj result`](#obj-specialvaluemapoptionsresult) + * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) + * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) + * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) + * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) +* [`obj ValueMap`](#obj-valuemap) + * [`fn withOptions(value)`](#fn-valuemapwithoptions) + * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) + * [`fn withType(value)`](#fn-valuemapwithtype) + +## Fields + +### obj RangeMap + + +#### fn RangeMap.withOptions + +```jsonnet +RangeMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withOptionsMixin + +```jsonnet +RangeMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RangeMap.withType + +```jsonnet +RangeMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RangeMap.options + + +##### fn RangeMap.options.withFrom + +```jsonnet +RangeMap.options.withFrom(value) +``` + +PARAMETERS: + +* **value** (`number`) + +to and from are `number | null` in current ts, really not sure what to do +##### fn RangeMap.options.withResult + +```jsonnet +RangeMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withResultMixin + +```jsonnet +RangeMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RangeMap.options.withTo + +```jsonnet +RangeMap.options.withTo(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### obj RangeMap.options.result + + +###### fn RangeMap.options.result.withColor + +```jsonnet +RangeMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIcon + +```jsonnet +RangeMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RangeMap.options.result.withIndex + +```jsonnet +RangeMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RangeMap.options.result.withText + +```jsonnet +RangeMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj RegexMap + + +#### fn RegexMap.withOptions + +```jsonnet +RegexMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withOptionsMixin + +```jsonnet +RegexMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn RegexMap.withType + +```jsonnet +RegexMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj RegexMap.options + + +##### fn RegexMap.options.withPattern + +```jsonnet +RegexMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn RegexMap.options.withResult + +```jsonnet +RegexMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn RegexMap.options.withResultMixin + +```jsonnet +RegexMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj RegexMap.options.result + + +###### fn RegexMap.options.result.withColor + +```jsonnet +RegexMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIcon + +```jsonnet +RegexMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn RegexMap.options.result.withIndex + +```jsonnet +RegexMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn RegexMap.options.result.withText + +```jsonnet +RegexMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj SpecialValueMap + + +#### fn SpecialValueMap.withOptions + +```jsonnet +SpecialValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withOptionsMixin + +```jsonnet +SpecialValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn SpecialValueMap.withType + +```jsonnet +SpecialValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj SpecialValueMap.options + + +##### fn SpecialValueMap.options.withMatch + +```jsonnet +SpecialValueMap.options.withMatch(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"true"`, `"false"` + + +##### fn SpecialValueMap.options.withPattern + +```jsonnet +SpecialValueMap.options.withPattern(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn SpecialValueMap.options.withResult + +```jsonnet +SpecialValueMap.options.withResult(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### fn SpecialValueMap.options.withResultMixin + +```jsonnet +SpecialValueMap.options.withResultMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +TODO docs +##### obj SpecialValueMap.options.result + + +###### fn SpecialValueMap.options.result.withColor + +```jsonnet +SpecialValueMap.options.result.withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIcon + +```jsonnet +SpecialValueMap.options.result.withIcon(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn SpecialValueMap.options.result.withIndex + +```jsonnet +SpecialValueMap.options.result.withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +###### fn SpecialValueMap.options.result.withText + +```jsonnet +SpecialValueMap.options.result.withText(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj ValueMap + + +#### fn ValueMap.withOptions + +```jsonnet +ValueMap.withOptions(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withOptionsMixin + +```jsonnet +ValueMap.withOptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn ValueMap.withType + +```jsonnet +ValueMap.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md new file mode 100644 index 0000000000..154f3dbdac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md @@ -0,0 +1,244 @@ +# override + +Overrides allow you to customize visualization settings for specific fields or +series. This is accomplished by adding an override rule that targets +a particular set of fields and that can each define multiple options. + +```jsonnet +override.byType.new('number') ++ override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('s') +) +``` + + +## Index + +* [`obj byName`](#obj-byname) + * [`fn new(value)`](#fn-bynamenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bynamewithproperty) +* [`obj byQuery`](#obj-byquery) + * [`fn new(value)`](#fn-byquerynew) + * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byquerywithproperty) +* [`obj byRegexp`](#obj-byregexp) + * [`fn new(value)`](#fn-byregexpnew) + * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) +* [`obj byType`](#obj-bytype) + * [`fn new(value)`](#fn-bytypenew) + * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-bytypewithproperty) +* [`obj byValue`](#obj-byvalue) + * [`fn new(value)`](#fn-byvaluenew) + * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) + * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) + +## Fields + +### obj byName + + +#### fn byName.new + +```jsonnet +byName.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byName`. +#### fn byName.withPropertiesFromOptions + +```jsonnet +byName.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byName.withProperty + +```jsonnet +byName.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byQuery + + +#### fn byQuery.new + +```jsonnet +byQuery.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byQuery`. +#### fn byQuery.withPropertiesFromOptions + +```jsonnet +byQuery.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byQuery.withProperty + +```jsonnet +byQuery.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byRegexp + + +#### fn byRegexp.new + +```jsonnet +byRegexp.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byRegexp`. +#### fn byRegexp.withPropertiesFromOptions + +```jsonnet +byRegexp.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byRegexp.withProperty + +```jsonnet +byRegexp.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byType + + +#### fn byType.new + +```jsonnet +byType.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byType`. +#### fn byType.withPropertiesFromOptions + +```jsonnet +byType.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byType.withProperty + +```jsonnet +byType.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. + +### obj byValue + + +#### fn byValue.new + +```jsonnet +byValue.new(value) +``` + +PARAMETERS: + +* **value** (`string`) + +`new` creates a new override of type `byValue`. +#### fn byValue.withPropertiesFromOptions + +```jsonnet +byValue.withPropertiesFromOptions(options) +``` + +PARAMETERS: + +* **options** (`object`) + +`withPropertiesFromOptions` takes an object with properties that need to be +overridden. See example code above. + +#### fn byValue.withProperty + +```jsonnet +byValue.withProperty(id, value) +``` + +PARAMETERS: + +* **id** (`string`) +* **value** (`any`) + +`withProperty` adds a property that needs to be overridden. This function can +be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md new file mode 100644 index 0000000000..dd2dd227ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md @@ -0,0 +1,60 @@ +# threshold.step + + + +## Index + +* [`fn withColor(value)`](#fn-withcolor) +* [`fn withIndex(value)`](#fn-withindex) +* [`fn withState(value)`](#fn-withstate) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withColor + +```jsonnet +withColor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +### fn withIndex + +```jsonnet +withIndex(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Threshold index, an old property that is not needed an should only appear in older dashboards +### fn withState + +```jsonnet +withState(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TODO docs +TODO are the values here enumerable into a disjunction? +Some seem to be listed in typescript comment +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + +TODO docs +FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md new file mode 100644 index 0000000000..27624b512c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md @@ -0,0 +1,78 @@ +# playlist + +grafonnet.playlist + +## Subpackages + +* [items](items.md) + +## Index + +* [`fn withInterval(value="5m")`](#fn-withinterval) +* [`fn withItems(value)`](#fn-withitems) +* [`fn withItemsMixin(value)`](#fn-withitemsmixin) +* [`fn withName(value)`](#fn-withname) +* [`fn withUid(value)`](#fn-withuid) + +## Fields + +### fn withInterval + +```jsonnet +withInterval(value="5m") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"5m"` + +Interval sets the time between switching views in a playlist. +FIXME: Is this based on a standardized format or what options are available? Can datemath be used? +### fn withItems + +```jsonnet +withItems(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The ordered list of items that the playlist will iterate over. +FIXME! This should not be optional, but changing it makes the godegen awkward +### fn withItemsMixin + +```jsonnet +withItemsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +The ordered list of items that the playlist will iterate over. +FIXME! This should not be optional, but changing it makes the godegen awkward +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the playlist. +### fn withUid + +```jsonnet +withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique playlist identifier. Generated on creation, either by the +creator of the playlist of by the application. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md new file mode 100644 index 0000000000..8361764359 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md @@ -0,0 +1,53 @@ +# items + + + +## Index + +* [`fn withTitle(value)`](#fn-withtitle) +* [`fn withType(value)`](#fn-withtype) +* [`fn withValue(value)`](#fn-withvalue) + +## Fields + +### fn withTitle + +```jsonnet +withTitle(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Title is an unused property -- it will be removed in the future +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"dashboard_by_uid"`, `"dashboard_by_id"`, `"dashboard_by_tag"` + +Type of the item. +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Value depends on type and describes the playlist item. + + - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This + is not portable as the numerical identifier is non-deterministic between different instances. + Will be replaced by dashboard_by_uid in the future. (deprecated) + - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All + dashboards behind the tag will be added to the playlist. + - dashboard_by_uid: The value is the dashboard UID \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md new file mode 100644 index 0000000000..7f6f9d5e11 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md @@ -0,0 +1,110 @@ +# preferences + +grafonnet.preferences + +## Index + +* [`fn withHomeDashboardUID(value)`](#fn-withhomedashboarduid) +* [`fn withLanguage(value)`](#fn-withlanguage) +* [`fn withQueryHistory(value)`](#fn-withqueryhistory) +* [`fn withQueryHistoryMixin(value)`](#fn-withqueryhistorymixin) +* [`fn withTheme(value)`](#fn-withtheme) +* [`fn withTimezone(value)`](#fn-withtimezone) +* [`fn withWeekStart(value)`](#fn-withweekstart) +* [`obj queryHistory`](#obj-queryhistory) + * [`fn withHomeTab(value)`](#fn-queryhistorywithhometab) + +## Fields + +### fn withHomeDashboardUID + +```jsonnet +withHomeDashboardUID(value) +``` + +PARAMETERS: + +* **value** (`string`) + +UID for the home dashboard +### fn withLanguage + +```jsonnet +withLanguage(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Selected language (beta) +### fn withQueryHistory + +```jsonnet +withQueryHistory(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withQueryHistoryMixin + +```jsonnet +withQueryHistoryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withTheme + +```jsonnet +withTheme(value) +``` + +PARAMETERS: + +* **value** (`string`) + +light, dark, empty is default +### fn withTimezone + +```jsonnet +withTimezone(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The timezone selection +TODO: this should use the timezone defined in common +### fn withWeekStart + +```jsonnet +withWeekStart(value) +``` + +PARAMETERS: + +* **value** (`string`) + +day of the week (sunday, monday, etc) +### obj queryHistory + + +#### fn queryHistory.withHomeTab + +```jsonnet +queryHistory.withHomeTab(value) +``` + +PARAMETERS: + +* **value** (`string`) + +one of: '' | 'query' | 'starred'; \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md new file mode 100644 index 0000000000..9cb78fbd5c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md @@ -0,0 +1,84 @@ +# publicdashboard + +grafonnet.publicdashboard + +## Index + +* [`fn withAccessToken(value)`](#fn-withaccesstoken) +* [`fn withAnnotationsEnabled(value=true)`](#fn-withannotationsenabled) +* [`fn withDashboardUid(value)`](#fn-withdashboarduid) +* [`fn withIsEnabled(value=true)`](#fn-withisenabled) +* [`fn withTimeSelectionEnabled(value=true)`](#fn-withtimeselectionenabled) +* [`fn withUid(value)`](#fn-withuid) + +## Fields + +### fn withAccessToken + +```jsonnet +withAccessToken(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique public access token +### fn withAnnotationsEnabled + +```jsonnet +withAnnotationsEnabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Flag that indicates if annotations are enabled +### fn withDashboardUid + +```jsonnet +withDashboardUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Dashboard unique identifier referenced by this public dashboard +### fn withIsEnabled + +```jsonnet +withIsEnabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Flag that indicates if the public dashboard is enabled +### fn withTimeSelectionEnabled + +```jsonnet +withTimeSelectionEnabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Flag that indicates if the time range picker is enabled +### fn withUid + +```jsonnet +withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Unique public dashboard identifier \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md new file mode 100644 index 0000000000..43b6cf5503 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md @@ -0,0 +1,69 @@ +# dimensionFilters + + + +## Index + +* [`fn withDimension(value)`](#fn-withdimension) +* [`fn withFilter(value)`](#fn-withfilter) +* [`fn withFilters(value)`](#fn-withfilters) +* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) +* [`fn withOperator(value)`](#fn-withoperator) + +## Fields + +### fn withDimension + +```jsonnet +withDimension(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of Dimension to be filtered on. +### fn withFilter + +```jsonnet +withFilter(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated filter is deprecated in favour of filters to support multiselect. +### fn withFilters + +```jsonnet +withFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Values to match with the filter. +### fn withFiltersMixin + +```jsonnet +withFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Values to match with the filter. +### fn withOperator + +```jsonnet +withOperator(value) +``` + +PARAMETERS: + +* **value** (`string`) + +String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md new file mode 100644 index 0000000000..18bb633afc --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md @@ -0,0 +1,68 @@ +# resources + + + +## Index + +* [`fn withMetricNamespace(value)`](#fn-withmetricnamespace) +* [`fn withRegion(value)`](#fn-withregion) +* [`fn withResourceGroup(value)`](#fn-withresourcegroup) +* [`fn withResourceName(value)`](#fn-withresourcename) +* [`fn withSubscription(value)`](#fn-withsubscription) + +## Fields + +### fn withMetricNamespace + +```jsonnet +withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withRegion + +```jsonnet +withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withResourceGroup + +```jsonnet +withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withResourceName + +```jsonnet +withResourceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withSubscription + +```jsonnet +withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md new file mode 100644 index 0000000000..0c5c7182a8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md @@ -0,0 +1,57 @@ +# filters + + + +## Index + +* [`fn withFilters(value)`](#fn-withfilters) +* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) +* [`fn withOperation(value)`](#fn-withoperation) +* [`fn withProperty(value)`](#fn-withproperty) + +## Fields + +### fn withFilters + +```jsonnet +withFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Values to filter by. +### fn withFiltersMixin + +```jsonnet +withFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Values to filter by. +### fn withOperation + +```jsonnet +withOperation(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Comparison operator to use. Either equals or not equals. +### fn withProperty + +```jsonnet +withProperty(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Property name, auto-populated based on available traces. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md new file mode 100644 index 0000000000..b836b44e3c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md @@ -0,0 +1,1502 @@ +# azureMonitor + +grafonnet.query.azureMonitor + +## Subpackages + +* [azureMonitor.dimensionFilters](azureMonitor/dimensionFilters.md) +* [azureMonitor.resources](azureMonitor/resources.md) +* [azureTraces.filters](azureTraces/filters.md) + +## Index + +* [`fn withAzureLogAnalytics(value)`](#fn-withazureloganalytics) +* [`fn withAzureLogAnalyticsMixin(value)`](#fn-withazureloganalyticsmixin) +* [`fn withAzureMonitor(value)`](#fn-withazuremonitor) +* [`fn withAzureMonitorMixin(value)`](#fn-withazuremonitormixin) +* [`fn withAzureResourceGraph(value)`](#fn-withazureresourcegraph) +* [`fn withAzureResourceGraphMixin(value)`](#fn-withazureresourcegraphmixin) +* [`fn withAzureTraces(value)`](#fn-withazuretraces) +* [`fn withAzureTracesMixin(value)`](#fn-withazuretracesmixin) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withGrafanaTemplateVariableFn(value)`](#fn-withgrafanatemplatevariablefn) +* [`fn withGrafanaTemplateVariableFnMixin(value)`](#fn-withgrafanatemplatevariablefnmixin) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withNamespace(value)`](#fn-withnamespace) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withRegion(value)`](#fn-withregion) +* [`fn withResource(value)`](#fn-withresource) +* [`fn withResourceGroup(value)`](#fn-withresourcegroup) +* [`fn withSubscription(value)`](#fn-withsubscription) +* [`fn withSubscriptions(value)`](#fn-withsubscriptions) +* [`fn withSubscriptionsMixin(value)`](#fn-withsubscriptionsmixin) +* [`obj azureLogAnalytics`](#obj-azureloganalytics) + * [`fn withQuery(value)`](#fn-azureloganalyticswithquery) + * [`fn withResource(value)`](#fn-azureloganalyticswithresource) + * [`fn withResources(value)`](#fn-azureloganalyticswithresources) + * [`fn withResourcesMixin(value)`](#fn-azureloganalyticswithresourcesmixin) + * [`fn withResultFormat(value)`](#fn-azureloganalyticswithresultformat) + * [`fn withWorkspace(value)`](#fn-azureloganalyticswithworkspace) +* [`obj azureMonitor`](#obj-azuremonitor) + * [`fn withAggregation(value)`](#fn-azuremonitorwithaggregation) + * [`fn withAlias(value)`](#fn-azuremonitorwithalias) + * [`fn withAllowedTimeGrainsMs(value)`](#fn-azuremonitorwithallowedtimegrainsms) + * [`fn withAllowedTimeGrainsMsMixin(value)`](#fn-azuremonitorwithallowedtimegrainsmsmixin) + * [`fn withCustomNamespace(value)`](#fn-azuremonitorwithcustomnamespace) + * [`fn withDimension(value)`](#fn-azuremonitorwithdimension) + * [`fn withDimensionFilter(value)`](#fn-azuremonitorwithdimensionfilter) + * [`fn withDimensionFilters(value)`](#fn-azuremonitorwithdimensionfilters) + * [`fn withDimensionFiltersMixin(value)`](#fn-azuremonitorwithdimensionfiltersmixin) + * [`fn withMetricDefinition(value)`](#fn-azuremonitorwithmetricdefinition) + * [`fn withMetricName(value)`](#fn-azuremonitorwithmetricname) + * [`fn withMetricNamespace(value)`](#fn-azuremonitorwithmetricnamespace) + * [`fn withRegion(value)`](#fn-azuremonitorwithregion) + * [`fn withResourceGroup(value)`](#fn-azuremonitorwithresourcegroup) + * [`fn withResourceName(value)`](#fn-azuremonitorwithresourcename) + * [`fn withResourceUri(value)`](#fn-azuremonitorwithresourceuri) + * [`fn withResources(value)`](#fn-azuremonitorwithresources) + * [`fn withResourcesMixin(value)`](#fn-azuremonitorwithresourcesmixin) + * [`fn withTimeGrain(value)`](#fn-azuremonitorwithtimegrain) + * [`fn withTimeGrainUnit(value)`](#fn-azuremonitorwithtimegrainunit) + * [`fn withTop(value)`](#fn-azuremonitorwithtop) +* [`obj azureResourceGraph`](#obj-azureresourcegraph) + * [`fn withQuery(value)`](#fn-azureresourcegraphwithquery) + * [`fn withResultFormat(value)`](#fn-azureresourcegraphwithresultformat) +* [`obj azureTraces`](#obj-azuretraces) + * [`fn withFilters(value)`](#fn-azuretraceswithfilters) + * [`fn withFiltersMixin(value)`](#fn-azuretraceswithfiltersmixin) + * [`fn withOperationId(value)`](#fn-azuretraceswithoperationid) + * [`fn withQuery(value)`](#fn-azuretraceswithquery) + * [`fn withResources(value)`](#fn-azuretraceswithresources) + * [`fn withResourcesMixin(value)`](#fn-azuretraceswithresourcesmixin) + * [`fn withResultFormat(value)`](#fn-azuretraceswithresultformat) + * [`fn withTraceTypes(value)`](#fn-azuretraceswithtracetypes) + * [`fn withTraceTypesMixin(value)`](#fn-azuretraceswithtracetypesmixin) +* [`obj grafanaTemplateVariableFn`](#obj-grafanatemplatevariablefn) + * [`fn withAppInsightsGroupByQuery(value)`](#fn-grafanatemplatevariablefnwithappinsightsgroupbyquery) + * [`fn withAppInsightsGroupByQueryMixin(value)`](#fn-grafanatemplatevariablefnwithappinsightsgroupbyquerymixin) + * [`fn withAppInsightsMetricNameQuery(value)`](#fn-grafanatemplatevariablefnwithappinsightsmetricnamequery) + * [`fn withAppInsightsMetricNameQueryMixin(value)`](#fn-grafanatemplatevariablefnwithappinsightsmetricnamequerymixin) + * [`fn withMetricDefinitionsQuery(value)`](#fn-grafanatemplatevariablefnwithmetricdefinitionsquery) + * [`fn withMetricDefinitionsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricdefinitionsquerymixin) + * [`fn withMetricNamesQuery(value)`](#fn-grafanatemplatevariablefnwithmetricnamesquery) + * [`fn withMetricNamesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricnamesquerymixin) + * [`fn withMetricNamespaceQuery(value)`](#fn-grafanatemplatevariablefnwithmetricnamespacequery) + * [`fn withMetricNamespaceQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricnamespacequerymixin) + * [`fn withResourceGroupsQuery(value)`](#fn-grafanatemplatevariablefnwithresourcegroupsquery) + * [`fn withResourceGroupsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithresourcegroupsquerymixin) + * [`fn withResourceNamesQuery(value)`](#fn-grafanatemplatevariablefnwithresourcenamesquery) + * [`fn withResourceNamesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithresourcenamesquerymixin) + * [`fn withSubscriptionsQuery(value)`](#fn-grafanatemplatevariablefnwithsubscriptionsquery) + * [`fn withSubscriptionsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithsubscriptionsquerymixin) + * [`fn withUnknownQuery(value)`](#fn-grafanatemplatevariablefnwithunknownquery) + * [`fn withUnknownQueryMixin(value)`](#fn-grafanatemplatevariablefnwithunknownquerymixin) + * [`fn withWorkspacesQuery(value)`](#fn-grafanatemplatevariablefnwithworkspacesquery) + * [`fn withWorkspacesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithworkspacesquerymixin) + * [`obj AppInsightsGroupByQuery`](#obj-grafanatemplatevariablefnappinsightsgroupbyquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithkind) + * [`fn withMetricName(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithmetricname) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithrawquery) + * [`obj AppInsightsMetricNameQuery`](#obj-grafanatemplatevariablefnappinsightsmetricnamequery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnappinsightsmetricnamequerywithkind) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnappinsightsmetricnamequerywithrawquery) + * [`obj MetricDefinitionsQuery`](#obj-grafanatemplatevariablefnmetricdefinitionsquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithkind) + * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithmetricnamespace) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithrawquery) + * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithresourcegroup) + * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithresourcename) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithsubscription) + * [`obj MetricNamesQuery`](#obj-grafanatemplatevariablefnmetricnamesquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithkind) + * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithmetricnamespace) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithrawquery) + * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithresourcegroup) + * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithresourcename) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithsubscription) + * [`obj MetricNamespaceQuery`](#obj-grafanatemplatevariablefnmetricnamespacequery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithkind) + * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithmetricnamespace) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithrawquery) + * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithresourcegroup) + * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithresourcename) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithsubscription) + * [`obj ResourceGroupsQuery`](#obj-grafanatemplatevariablefnresourcegroupsquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithkind) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithrawquery) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithsubscription) + * [`obj ResourceNamesQuery`](#obj-grafanatemplatevariablefnresourcenamesquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithkind) + * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithmetricnamespace) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithrawquery) + * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithresourcegroup) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithsubscription) + * [`obj SubscriptionsQuery`](#obj-grafanatemplatevariablefnsubscriptionsquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnsubscriptionsquerywithkind) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnsubscriptionsquerywithrawquery) + * [`obj UnknownQuery`](#obj-grafanatemplatevariablefnunknownquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnunknownquerywithkind) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnunknownquerywithrawquery) + * [`obj WorkspacesQuery`](#obj-grafanatemplatevariablefnworkspacesquery) + * [`fn withKind(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithkind) + * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithrawquery) + * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithsubscription) + +## Fields + +### fn withAzureLogAnalytics + +```jsonnet +withAzureLogAnalytics(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Azure Monitor Logs sub-query properties +### fn withAzureLogAnalyticsMixin + +```jsonnet +withAzureLogAnalyticsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Azure Monitor Logs sub-query properties +### fn withAzureMonitor + +```jsonnet +withAzureMonitor(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withAzureMonitorMixin + +```jsonnet +withAzureMonitorMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withAzureResourceGraph + +```jsonnet +withAzureResourceGraph(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withAzureResourceGraphMixin + +```jsonnet +withAzureResourceGraphMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withAzureTraces + +```jsonnet +withAzureTraces(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Application Insights Traces sub-query properties +### fn withAzureTracesMixin + +```jsonnet +withAzureTracesMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +Application Insights Traces sub-query properties +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +### fn withGrafanaTemplateVariableFn + +```jsonnet +withGrafanaTemplateVariableFn(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withGrafanaTemplateVariableFnMixin + +```jsonnet +withGrafanaTemplateVariableFnMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withNamespace + +```jsonnet +withNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +### fn withRegion + +```jsonnet +withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Azure Monitor query type. +queryType: #AzureQueryType +### fn withResource + +```jsonnet +withResource(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withResourceGroup + +```jsonnet +withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Template variables params. These exist for backwards compatiblity with legacy template variables. +### fn withSubscription + +```jsonnet +withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Azure subscription containing the resource(s) to be queried. +### fn withSubscriptions + +```jsonnet +withSubscriptions(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Subscriptions to be queried via Azure Resource Graph. +### fn withSubscriptionsMixin + +```jsonnet +withSubscriptionsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Subscriptions to be queried via Azure Resource Graph. +### obj azureLogAnalytics + + +#### fn azureLogAnalytics.withQuery + +```jsonnet +azureLogAnalytics.withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +KQL query to be executed. +#### fn azureLogAnalytics.withResource + +```jsonnet +azureLogAnalytics.withResource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated Use resources instead +#### fn azureLogAnalytics.withResources + +```jsonnet +azureLogAnalytics.withResources(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureLogAnalytics.withResourcesMixin + +```jsonnet +azureLogAnalytics.withResourcesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureLogAnalytics.withResultFormat + +```jsonnet +azureLogAnalytics.withResultFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"table"`, `"time_series"`, `"trace"` + + +#### fn azureLogAnalytics.withWorkspace + +```jsonnet +azureLogAnalytics.withWorkspace(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Workspace ID. This was removed in Grafana 8, but remains for backwards compat +### obj azureMonitor + + +#### fn azureMonitor.withAggregation + +```jsonnet +azureMonitor.withAggregation(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric. +#### fn azureMonitor.withAlias + +```jsonnet +azureMonitor.withAlias(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail. +#### fn azureMonitor.withAllowedTimeGrainsMs + +```jsonnet +azureMonitor.withAllowedTimeGrainsMs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Time grains that are supported by the metric. +#### fn azureMonitor.withAllowedTimeGrainsMsMixin + +```jsonnet +azureMonitor.withAllowedTimeGrainsMsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Time grains that are supported by the metric. +#### fn azureMonitor.withCustomNamespace + +```jsonnet +azureMonitor.withCustomNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Used as the value for the metricNamespace property when it's different from the resource namespace. +#### fn azureMonitor.withDimension + +```jsonnet +azureMonitor.withDimension(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration +#### fn azureMonitor.withDimensionFilter + +```jsonnet +azureMonitor.withDimensionFilter(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration +#### fn azureMonitor.withDimensionFilters + +```jsonnet +azureMonitor.withDimensionFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric. +#### fn azureMonitor.withDimensionFiltersMixin + +```jsonnet +azureMonitor.withDimensionFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric. +#### fn azureMonitor.withMetricDefinition + +```jsonnet +azureMonitor.withMetricDefinition(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated Use metricNamespace instead +#### fn azureMonitor.withMetricName + +```jsonnet +azureMonitor.withMetricName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The metric to query data for within the specified metricNamespace. e.g. UsedCapacity +#### fn azureMonitor.withMetricNamespace + +```jsonnet +azureMonitor.withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + +metricNamespace is used as the resource type (or resource namespace). +It's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts +Kept the name of the variable as metricNamespace to avoid backward incompatibility issues. +#### fn azureMonitor.withRegion + +```jsonnet +azureMonitor.withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The Azure region containing the resource(s). +#### fn azureMonitor.withResourceGroup + +```jsonnet +azureMonitor.withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated Use resources instead +#### fn azureMonitor.withResourceName + +```jsonnet +azureMonitor.withResourceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated Use resources instead +#### fn azureMonitor.withResourceUri + +```jsonnet +azureMonitor.withResourceUri(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated Use resourceGroup, resourceName and metricNamespace instead +#### fn azureMonitor.withResources + +```jsonnet +azureMonitor.withResources(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureMonitor.withResourcesMixin + +```jsonnet +azureMonitor.withResourcesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureMonitor.withTimeGrain + +```jsonnet +azureMonitor.withTimeGrain(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The granularity of data points to be queried. Defaults to auto. +#### fn azureMonitor.withTimeGrainUnit + +```jsonnet +azureMonitor.withTimeGrainUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + +@deprecated +#### fn azureMonitor.withTop + +```jsonnet +azureMonitor.withTop(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Maximum number of records to return. Defaults to 10. +### obj azureResourceGraph + + +#### fn azureResourceGraph.withQuery + +```jsonnet +azureResourceGraph.withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Azure Resource Graph KQL query to be executed. +#### fn azureResourceGraph.withResultFormat + +```jsonnet +azureResourceGraph.withResultFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specifies the format results should be returned as. Defaults to table. +### obj azureTraces + + +#### fn azureTraces.withFilters + +```jsonnet +azureTraces.withFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Filters for property values. +#### fn azureTraces.withFiltersMixin + +```jsonnet +azureTraces.withFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Filters for property values. +#### fn azureTraces.withOperationId + +```jsonnet +azureTraces.withOperationId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Operation ID. Used only for Traces queries. +#### fn azureTraces.withQuery + +```jsonnet +azureTraces.withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +KQL query to be executed. +#### fn azureTraces.withResources + +```jsonnet +azureTraces.withResources(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureTraces.withResourcesMixin + +```jsonnet +azureTraces.withResourcesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Array of resource URIs to be queried. +#### fn azureTraces.withResultFormat + +```jsonnet +azureTraces.withResultFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"table"`, `"time_series"`, `"trace"` + + +#### fn azureTraces.withTraceTypes + +```jsonnet +azureTraces.withTraceTypes(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Types of events to filter by. +#### fn azureTraces.withTraceTypesMixin + +```jsonnet +azureTraces.withTraceTypesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Types of events to filter by. +### obj grafanaTemplateVariableFn + + +#### fn grafanaTemplateVariableFn.withAppInsightsGroupByQuery + +```jsonnet +grafanaTemplateVariableFn.withAppInsightsGroupByQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withAppInsightsGroupByQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withAppInsightsGroupByQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withAppInsightsMetricNameQuery + +```jsonnet +grafanaTemplateVariableFn.withAppInsightsMetricNameQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withAppInsightsMetricNameQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withAppInsightsMetricNameQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withMetricDefinitionsQuery + +```jsonnet +grafanaTemplateVariableFn.withMetricDefinitionsQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + +@deprecated Use MetricNamespaceQuery instead +#### fn grafanaTemplateVariableFn.withMetricDefinitionsQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withMetricDefinitionsQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +@deprecated Use MetricNamespaceQuery instead +#### fn grafanaTemplateVariableFn.withMetricNamesQuery + +```jsonnet +grafanaTemplateVariableFn.withMetricNamesQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withMetricNamesQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withMetricNamesQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withMetricNamespaceQuery + +```jsonnet +grafanaTemplateVariableFn.withMetricNamespaceQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withMetricNamespaceQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withMetricNamespaceQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withResourceGroupsQuery + +```jsonnet +grafanaTemplateVariableFn.withResourceGroupsQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withResourceGroupsQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withResourceGroupsQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withResourceNamesQuery + +```jsonnet +grafanaTemplateVariableFn.withResourceNamesQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withResourceNamesQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withResourceNamesQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withSubscriptionsQuery + +```jsonnet +grafanaTemplateVariableFn.withSubscriptionsQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withSubscriptionsQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withSubscriptionsQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withUnknownQuery + +```jsonnet +grafanaTemplateVariableFn.withUnknownQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withUnknownQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withUnknownQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withWorkspacesQuery + +```jsonnet +grafanaTemplateVariableFn.withWorkspacesQuery(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn grafanaTemplateVariableFn.withWorkspacesQueryMixin + +```jsonnet +grafanaTemplateVariableFn.withWorkspacesQueryMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### obj grafanaTemplateVariableFn.AppInsightsGroupByQuery + + +##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.AppInsightsGroupByQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"AppInsightsGroupByQuery"` + + +##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withMetricName + +```jsonnet +grafanaTemplateVariableFn.AppInsightsGroupByQuery.withMetricName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.AppInsightsGroupByQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.AppInsightsMetricNameQuery + + +##### fn grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"AppInsightsMetricNameQuery"` + + +##### fn grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.MetricDefinitionsQuery + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"MetricDefinitionsQuery"` + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withMetricNamespace + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceGroup + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceName + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.MetricDefinitionsQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.MetricNamesQuery + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"MetricNamesQuery"` + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withMetricNamespace + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withResourceGroup + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withResourceName + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withResourceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamesQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.MetricNamesQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.MetricNamespaceQuery + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"MetricNamespaceQuery"` + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withMetricNamespace + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceGroup + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceName + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.MetricNamespaceQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.ResourceGroupsQuery + + +##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.ResourceGroupsQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"ResourceGroupsQuery"` + + +##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.ResourceGroupsQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.ResourceGroupsQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.ResourceNamesQuery + + +##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.ResourceNamesQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"ResourceNamesQuery"` + + +##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withMetricNamespace + +```jsonnet +grafanaTemplateVariableFn.ResourceNamesQuery.withMetricNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.ResourceNamesQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withResourceGroup + +```jsonnet +grafanaTemplateVariableFn.ResourceNamesQuery.withResourceGroup(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.ResourceNamesQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.SubscriptionsQuery + + +##### fn grafanaTemplateVariableFn.SubscriptionsQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.SubscriptionsQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"SubscriptionsQuery"` + + +##### fn grafanaTemplateVariableFn.SubscriptionsQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.SubscriptionsQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.UnknownQuery + + +##### fn grafanaTemplateVariableFn.UnknownQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.UnknownQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"UnknownQuery"` + + +##### fn grafanaTemplateVariableFn.UnknownQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.UnknownQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj grafanaTemplateVariableFn.WorkspacesQuery + + +##### fn grafanaTemplateVariableFn.WorkspacesQuery.withKind + +```jsonnet +grafanaTemplateVariableFn.WorkspacesQuery.withKind(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"WorkspacesQuery"` + + +##### fn grafanaTemplateVariableFn.WorkspacesQuery.withRawQuery + +```jsonnet +grafanaTemplateVariableFn.WorkspacesQuery.withRawQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn grafanaTemplateVariableFn.WorkspacesQuery.withSubscription + +```jsonnet +grafanaTemplateVariableFn.WorkspacesQuery.withSubscription(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md new file mode 100644 index 0000000000..a59d7777be --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md @@ -0,0 +1,57 @@ +# logGroups + + + +## Index + +* [`fn withAccountId(value)`](#fn-withaccountid) +* [`fn withAccountLabel(value)`](#fn-withaccountlabel) +* [`fn withArn(value)`](#fn-witharn) +* [`fn withName(value)`](#fn-withname) + +## Fields + +### fn withAccountId + +```jsonnet +withAccountId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AccountId of the log group +### fn withAccountLabel + +```jsonnet +withAccountLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Label of the log group +### fn withArn + +```jsonnet +withArn(value) +``` + +PARAMETERS: + +* **value** (`string`) + +ARN of the log group +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the log group \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md new file mode 100644 index 0000000000..a7f0402012 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md @@ -0,0 +1,32 @@ +# parameters + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withType(value)`](#fn-withtype) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md new file mode 100644 index 0000000000..a7f0402012 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md @@ -0,0 +1,32 @@ +# parameters + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withType(value)`](#fn-withtype) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md new file mode 100644 index 0000000000..a7f0402012 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md @@ -0,0 +1,32 @@ +# parameters + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withType(value)`](#fn-withtype) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withType + +```jsonnet +withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md new file mode 100644 index 0000000000..36cc721989 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md @@ -0,0 +1,1272 @@ +# cloudWatch + +grafonnet.query.cloudWatch + +## Subpackages + +* [CloudWatchLogsQuery.logGroups](CloudWatchLogsQuery/logGroups.md) +* [CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.parameters](CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md) +* [CloudWatchMetricsQuery.sql.orderBy.parameters](CloudWatchMetricsQuery/sql/orderBy/parameters.md) +* [CloudWatchMetricsQuery.sql.select.parameters](CloudWatchMetricsQuery/sql/select/parameters.md) + +## Index + +* [`obj CloudWatchAnnotationQuery`](#obj-cloudwatchannotationquery) + * [`fn withAccountId(value)`](#fn-cloudwatchannotationquerywithaccountid) + * [`fn withActionPrefix(value)`](#fn-cloudwatchannotationquerywithactionprefix) + * [`fn withAlarmNamePrefix(value)`](#fn-cloudwatchannotationquerywithalarmnameprefix) + * [`fn withDatasource(value)`](#fn-cloudwatchannotationquerywithdatasource) + * [`fn withDimensions(value)`](#fn-cloudwatchannotationquerywithdimensions) + * [`fn withDimensionsMixin(value)`](#fn-cloudwatchannotationquerywithdimensionsmixin) + * [`fn withHide(value=true)`](#fn-cloudwatchannotationquerywithhide) + * [`fn withMatchExact(value=true)`](#fn-cloudwatchannotationquerywithmatchexact) + * [`fn withMetricName(value)`](#fn-cloudwatchannotationquerywithmetricname) + * [`fn withNamespace(value)`](#fn-cloudwatchannotationquerywithnamespace) + * [`fn withPeriod(value)`](#fn-cloudwatchannotationquerywithperiod) + * [`fn withPrefixMatching(value=true)`](#fn-cloudwatchannotationquerywithprefixmatching) + * [`fn withQueryMode(value)`](#fn-cloudwatchannotationquerywithquerymode) + * [`fn withQueryType(value)`](#fn-cloudwatchannotationquerywithquerytype) + * [`fn withRefId(value)`](#fn-cloudwatchannotationquerywithrefid) + * [`fn withRegion(value)`](#fn-cloudwatchannotationquerywithregion) + * [`fn withStatistic(value)`](#fn-cloudwatchannotationquerywithstatistic) + * [`fn withStatistics(value)`](#fn-cloudwatchannotationquerywithstatistics) + * [`fn withStatisticsMixin(value)`](#fn-cloudwatchannotationquerywithstatisticsmixin) +* [`obj CloudWatchLogsQuery`](#obj-cloudwatchlogsquery) + * [`fn withDatasource(value)`](#fn-cloudwatchlogsquerywithdatasource) + * [`fn withExpression(value)`](#fn-cloudwatchlogsquerywithexpression) + * [`fn withHide(value=true)`](#fn-cloudwatchlogsquerywithhide) + * [`fn withId(value)`](#fn-cloudwatchlogsquerywithid) + * [`fn withLogGroupNames(value)`](#fn-cloudwatchlogsquerywithloggroupnames) + * [`fn withLogGroupNamesMixin(value)`](#fn-cloudwatchlogsquerywithloggroupnamesmixin) + * [`fn withLogGroups(value)`](#fn-cloudwatchlogsquerywithloggroups) + * [`fn withLogGroupsMixin(value)`](#fn-cloudwatchlogsquerywithloggroupsmixin) + * [`fn withQueryMode(value)`](#fn-cloudwatchlogsquerywithquerymode) + * [`fn withQueryType(value)`](#fn-cloudwatchlogsquerywithquerytype) + * [`fn withRefId(value)`](#fn-cloudwatchlogsquerywithrefid) + * [`fn withRegion(value)`](#fn-cloudwatchlogsquerywithregion) + * [`fn withStatsGroups(value)`](#fn-cloudwatchlogsquerywithstatsgroups) + * [`fn withStatsGroupsMixin(value)`](#fn-cloudwatchlogsquerywithstatsgroupsmixin) +* [`obj CloudWatchMetricsQuery`](#obj-cloudwatchmetricsquery) + * [`fn withAccountId(value)`](#fn-cloudwatchmetricsquerywithaccountid) + * [`fn withAlias(value)`](#fn-cloudwatchmetricsquerywithalias) + * [`fn withDatasource(value)`](#fn-cloudwatchmetricsquerywithdatasource) + * [`fn withDimensions(value)`](#fn-cloudwatchmetricsquerywithdimensions) + * [`fn withDimensionsMixin(value)`](#fn-cloudwatchmetricsquerywithdimensionsmixin) + * [`fn withExpression(value)`](#fn-cloudwatchmetricsquerywithexpression) + * [`fn withHide(value=true)`](#fn-cloudwatchmetricsquerywithhide) + * [`fn withId(value)`](#fn-cloudwatchmetricsquerywithid) + * [`fn withLabel(value)`](#fn-cloudwatchmetricsquerywithlabel) + * [`fn withMatchExact(value=true)`](#fn-cloudwatchmetricsquerywithmatchexact) + * [`fn withMetricEditorMode(value)`](#fn-cloudwatchmetricsquerywithmetriceditormode) + * [`fn withMetricName(value)`](#fn-cloudwatchmetricsquerywithmetricname) + * [`fn withMetricQueryType(value)`](#fn-cloudwatchmetricsquerywithmetricquerytype) + * [`fn withNamespace(value)`](#fn-cloudwatchmetricsquerywithnamespace) + * [`fn withPeriod(value)`](#fn-cloudwatchmetricsquerywithperiod) + * [`fn withQueryMode(value)`](#fn-cloudwatchmetricsquerywithquerymode) + * [`fn withQueryType(value)`](#fn-cloudwatchmetricsquerywithquerytype) + * [`fn withRefId(value)`](#fn-cloudwatchmetricsquerywithrefid) + * [`fn withRegion(value)`](#fn-cloudwatchmetricsquerywithregion) + * [`fn withSql(value)`](#fn-cloudwatchmetricsquerywithsql) + * [`fn withSqlExpression(value)`](#fn-cloudwatchmetricsquerywithsqlexpression) + * [`fn withSqlMixin(value)`](#fn-cloudwatchmetricsquerywithsqlmixin) + * [`fn withStatistic(value)`](#fn-cloudwatchmetricsquerywithstatistic) + * [`fn withStatistics(value)`](#fn-cloudwatchmetricsquerywithstatistics) + * [`fn withStatisticsMixin(value)`](#fn-cloudwatchmetricsquerywithstatisticsmixin) + * [`obj sql`](#obj-cloudwatchmetricsquerysql) + * [`fn withFrom(value)`](#fn-cloudwatchmetricsquerysqlwithfrom) + * [`fn withFromMixin(value)`](#fn-cloudwatchmetricsquerysqlwithfrommixin) + * [`fn withGroupBy(value)`](#fn-cloudwatchmetricsquerysqlwithgroupby) + * [`fn withGroupByMixin(value)`](#fn-cloudwatchmetricsquerysqlwithgroupbymixin) + * [`fn withLimit(value)`](#fn-cloudwatchmetricsquerysqlwithlimit) + * [`fn withOrderBy(value)`](#fn-cloudwatchmetricsquerysqlwithorderby) + * [`fn withOrderByDirection(value)`](#fn-cloudwatchmetricsquerysqlwithorderbydirection) + * [`fn withOrderByMixin(value)`](#fn-cloudwatchmetricsquerysqlwithorderbymixin) + * [`fn withSelect(value)`](#fn-cloudwatchmetricsquerysqlwithselect) + * [`fn withSelectMixin(value)`](#fn-cloudwatchmetricsquerysqlwithselectmixin) + * [`fn withWhere(value)`](#fn-cloudwatchmetricsquerysqlwithwhere) + * [`fn withWhereMixin(value)`](#fn-cloudwatchmetricsquerysqlwithwheremixin) + * [`obj from`](#obj-cloudwatchmetricsquerysqlfrom) + * [`fn withQueryEditorFunctionExpression(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorfunctionexpression) + * [`fn withQueryEditorFunctionExpressionMixin(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorfunctionexpressionmixin) + * [`fn withQueryEditorPropertyExpression(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorpropertyexpression) + * [`fn withQueryEditorPropertyExpressionMixin(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorpropertyexpressionmixin) + * [`obj QueryEditorFunctionExpression`](#obj-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpression) + * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithname) + * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithparameters) + * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithparametersmixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithtype) + * [`obj QueryEditorPropertyExpression`](#obj-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpression) + * [`fn withProperty(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithproperty) + * [`fn withPropertyMixin(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithpropertymixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithtype) + * [`obj property`](#obj-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionproperty) + * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionpropertywithname) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionpropertywithtype) + * [`obj groupBy`](#obj-cloudwatchmetricsquerysqlgroupby) + * [`fn withExpressions(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithexpressions) + * [`fn withExpressionsMixin(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithexpressionsmixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithtype) + * [`obj orderBy`](#obj-cloudwatchmetricsquerysqlorderby) + * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlorderbywithname) + * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlorderbywithparameters) + * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlorderbywithparametersmixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlorderbywithtype) + * [`obj select`](#obj-cloudwatchmetricsquerysqlselect) + * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlselectwithname) + * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlselectwithparameters) + * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlselectwithparametersmixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlselectwithtype) + * [`obj where`](#obj-cloudwatchmetricsquerysqlwhere) + * [`fn withExpressions(value)`](#fn-cloudwatchmetricsquerysqlwherewithexpressions) + * [`fn withExpressionsMixin(value)`](#fn-cloudwatchmetricsquerysqlwherewithexpressionsmixin) + * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlwherewithtype) + +## Fields + +### obj CloudWatchAnnotationQuery + + +#### fn CloudWatchAnnotationQuery.withAccountId + +```jsonnet +CloudWatchAnnotationQuery.withAccountId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query. +#### fn CloudWatchAnnotationQuery.withActionPrefix + +```jsonnet +CloudWatchAnnotationQuery.withActionPrefix(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Use this parameter to filter the results of the operation to only those alarms +that use a certain alarm action. For example, you could specify the ARN of +an SNS topic to find all alarms that send notifications to that topic. +e.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action` +but not match `arn:aws:sns:us-east-1:123456789012:your-app-action` +#### fn CloudWatchAnnotationQuery.withAlarmNamePrefix + +```jsonnet +CloudWatchAnnotationQuery.withAlarmNamePrefix(value) +``` + +PARAMETERS: + +* **value** (`string`) + +An alarm name prefix. If you specify this parameter, you receive information +about all alarms that have names that start with this prefix. +e.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu` +#### fn CloudWatchAnnotationQuery.withDatasource + +```jsonnet +CloudWatchAnnotationQuery.withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +#### fn CloudWatchAnnotationQuery.withDimensions + +```jsonnet +CloudWatchAnnotationQuery.withDimensions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. +#### fn CloudWatchAnnotationQuery.withDimensionsMixin + +```jsonnet +CloudWatchAnnotationQuery.withDimensionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. +#### fn CloudWatchAnnotationQuery.withHide + +```jsonnet +CloudWatchAnnotationQuery.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +#### fn CloudWatchAnnotationQuery.withMatchExact + +```jsonnet +CloudWatchAnnotationQuery.withMatchExact(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Only show metrics that exactly match all defined dimension names. +#### fn CloudWatchAnnotationQuery.withMetricName + +```jsonnet +CloudWatchAnnotationQuery.withMetricName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the metric +#### fn CloudWatchAnnotationQuery.withNamespace + +```jsonnet +CloudWatchAnnotationQuery.withNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace. +#### fn CloudWatchAnnotationQuery.withPeriod + +```jsonnet +CloudWatchAnnotationQuery.withPeriod(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes +#### fn CloudWatchAnnotationQuery.withPrefixMatching + +```jsonnet +CloudWatchAnnotationQuery.withPrefixMatching(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix +#### fn CloudWatchAnnotationQuery.withQueryMode + +```jsonnet +CloudWatchAnnotationQuery.withQueryMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` + + +#### fn CloudWatchAnnotationQuery.withQueryType + +```jsonnet +CloudWatchAnnotationQuery.withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +#### fn CloudWatchAnnotationQuery.withRefId + +```jsonnet +CloudWatchAnnotationQuery.withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +#### fn CloudWatchAnnotationQuery.withRegion + +```jsonnet +CloudWatchAnnotationQuery.withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AWS region to query for the metric +#### fn CloudWatchAnnotationQuery.withStatistic + +```jsonnet +CloudWatchAnnotationQuery.withStatistic(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html. +#### fn CloudWatchAnnotationQuery.withStatistics + +```jsonnet +CloudWatchAnnotationQuery.withStatistics(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use statistic +#### fn CloudWatchAnnotationQuery.withStatisticsMixin + +```jsonnet +CloudWatchAnnotationQuery.withStatisticsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use statistic +### obj CloudWatchLogsQuery + + +#### fn CloudWatchLogsQuery.withDatasource + +```jsonnet +CloudWatchLogsQuery.withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +#### fn CloudWatchLogsQuery.withExpression + +```jsonnet +CloudWatchLogsQuery.withExpression(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The CloudWatch Logs Insights query to execute +#### fn CloudWatchLogsQuery.withHide + +```jsonnet +CloudWatchLogsQuery.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +#### fn CloudWatchLogsQuery.withId + +```jsonnet +CloudWatchLogsQuery.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn CloudWatchLogsQuery.withLogGroupNames + +```jsonnet +CloudWatchLogsQuery.withLogGroupNames(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use logGroups +#### fn CloudWatchLogsQuery.withLogGroupNamesMixin + +```jsonnet +CloudWatchLogsQuery.withLogGroupNamesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use logGroups +#### fn CloudWatchLogsQuery.withLogGroups + +```jsonnet +CloudWatchLogsQuery.withLogGroups(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Log groups to query +#### fn CloudWatchLogsQuery.withLogGroupsMixin + +```jsonnet +CloudWatchLogsQuery.withLogGroupsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Log groups to query +#### fn CloudWatchLogsQuery.withQueryMode + +```jsonnet +CloudWatchLogsQuery.withQueryMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` + + +#### fn CloudWatchLogsQuery.withQueryType + +```jsonnet +CloudWatchLogsQuery.withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +#### fn CloudWatchLogsQuery.withRefId + +```jsonnet +CloudWatchLogsQuery.withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +#### fn CloudWatchLogsQuery.withRegion + +```jsonnet +CloudWatchLogsQuery.withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AWS region to query for the logs +#### fn CloudWatchLogsQuery.withStatsGroups + +```jsonnet +CloudWatchLogsQuery.withStatsGroups(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Fields to group the results by, this field is automatically populated whenever the query is updated +#### fn CloudWatchLogsQuery.withStatsGroupsMixin + +```jsonnet +CloudWatchLogsQuery.withStatsGroupsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Fields to group the results by, this field is automatically populated whenever the query is updated +### obj CloudWatchMetricsQuery + + +#### fn CloudWatchMetricsQuery.withAccountId + +```jsonnet +CloudWatchMetricsQuery.withAccountId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query. +#### fn CloudWatchMetricsQuery.withAlias + +```jsonnet +CloudWatchMetricsQuery.withAlias(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Deprecated: use label +@deprecated use label +#### fn CloudWatchMetricsQuery.withDatasource + +```jsonnet +CloudWatchMetricsQuery.withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +#### fn CloudWatchMetricsQuery.withDimensions + +```jsonnet +CloudWatchMetricsQuery.withDimensions(value) +``` + +PARAMETERS: + +* **value** (`object`) + +A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. +#### fn CloudWatchMetricsQuery.withDimensionsMixin + +```jsonnet +CloudWatchMetricsQuery.withDimensionsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. +#### fn CloudWatchMetricsQuery.withExpression + +```jsonnet +CloudWatchMetricsQuery.withExpression(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Math expression query +#### fn CloudWatchMetricsQuery.withHide + +```jsonnet +CloudWatchMetricsQuery.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +#### fn CloudWatchMetricsQuery.withId + +```jsonnet +CloudWatchMetricsQuery.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter. +#### fn CloudWatchMetricsQuery.withLabel + +```jsonnet +CloudWatchMetricsQuery.withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details. +#### fn CloudWatchMetricsQuery.withMatchExact + +```jsonnet +CloudWatchMetricsQuery.withMatchExact(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Only show metrics that exactly match all defined dimension names. +#### fn CloudWatchMetricsQuery.withMetricEditorMode + +```jsonnet +CloudWatchMetricsQuery.withMetricEditorMode(value) +``` + +PARAMETERS: + +* **value** (`integer`) + - valid values: `0`, `1` + + +#### fn CloudWatchMetricsQuery.withMetricName + +```jsonnet +CloudWatchMetricsQuery.withMetricName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the metric +#### fn CloudWatchMetricsQuery.withMetricQueryType + +```jsonnet +CloudWatchMetricsQuery.withMetricQueryType(value) +``` + +PARAMETERS: + +* **value** (`integer`) + - valid values: `0`, `1` + + +#### fn CloudWatchMetricsQuery.withNamespace + +```jsonnet +CloudWatchMetricsQuery.withNamespace(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace. +#### fn CloudWatchMetricsQuery.withPeriod + +```jsonnet +CloudWatchMetricsQuery.withPeriod(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes +#### fn CloudWatchMetricsQuery.withQueryMode + +```jsonnet +CloudWatchMetricsQuery.withQueryMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` + + +#### fn CloudWatchMetricsQuery.withQueryType + +```jsonnet +CloudWatchMetricsQuery.withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +#### fn CloudWatchMetricsQuery.withRefId + +```jsonnet +CloudWatchMetricsQuery.withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +#### fn CloudWatchMetricsQuery.withRegion + +```jsonnet +CloudWatchMetricsQuery.withRegion(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AWS region to query for the metric +#### fn CloudWatchMetricsQuery.withSql + +```jsonnet +CloudWatchMetricsQuery.withSql(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn CloudWatchMetricsQuery.withSqlExpression + +```jsonnet +CloudWatchMetricsQuery.withSqlExpression(value) +``` + +PARAMETERS: + +* **value** (`string`) + +When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string. +#### fn CloudWatchMetricsQuery.withSqlMixin + +```jsonnet +CloudWatchMetricsQuery.withSqlMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn CloudWatchMetricsQuery.withStatistic + +```jsonnet +CloudWatchMetricsQuery.withStatistic(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html. +#### fn CloudWatchMetricsQuery.withStatistics + +```jsonnet +CloudWatchMetricsQuery.withStatistics(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use statistic +#### fn CloudWatchMetricsQuery.withStatisticsMixin + +```jsonnet +CloudWatchMetricsQuery.withStatisticsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +@deprecated use statistic +#### obj CloudWatchMetricsQuery.sql + + +##### fn CloudWatchMetricsQuery.sql.withFrom + +```jsonnet +CloudWatchMetricsQuery.sql.withFrom(value) +``` + +PARAMETERS: + +* **value** (`object`) + +FROM part of the SQL expression +##### fn CloudWatchMetricsQuery.sql.withFromMixin + +```jsonnet +CloudWatchMetricsQuery.sql.withFromMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +FROM part of the SQL expression +##### fn CloudWatchMetricsQuery.sql.withGroupBy + +```jsonnet +CloudWatchMetricsQuery.sql.withGroupBy(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withGroupByMixin + +```jsonnet +CloudWatchMetricsQuery.sql.withGroupByMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withLimit + +```jsonnet +CloudWatchMetricsQuery.sql.withLimit(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +LIMIT part of the SQL expression +##### fn CloudWatchMetricsQuery.sql.withOrderBy + +```jsonnet +CloudWatchMetricsQuery.sql.withOrderBy(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withOrderByDirection + +```jsonnet +CloudWatchMetricsQuery.sql.withOrderByDirection(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The sort order of the SQL expression, `ASC` or `DESC` +##### fn CloudWatchMetricsQuery.sql.withOrderByMixin + +```jsonnet +CloudWatchMetricsQuery.sql.withOrderByMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withSelect + +```jsonnet +CloudWatchMetricsQuery.sql.withSelect(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withSelectMixin + +```jsonnet +CloudWatchMetricsQuery.sql.withSelectMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withWhere + +```jsonnet +CloudWatchMetricsQuery.sql.withWhere(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn CloudWatchMetricsQuery.sql.withWhereMixin + +```jsonnet +CloudWatchMetricsQuery.sql.withWhereMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### obj CloudWatchMetricsQuery.sql.from + + +###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpression + +```jsonnet +CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpression(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpressionMixin + +```jsonnet +CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpressionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpression + +```jsonnet +CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpression(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpressionMixin + +```jsonnet +CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpressionMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +###### obj CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withName + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParameters + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParameters(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParametersMixin + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParametersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withType + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withProperty + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withProperty(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withPropertyMixin + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withPropertyMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withType + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +####### obj CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property + + +######## fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withName + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +######## fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withType + +```jsonnet +CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"string"` + + +##### obj CloudWatchMetricsQuery.sql.groupBy + + +###### fn CloudWatchMetricsQuery.sql.groupBy.withExpressions + +```jsonnet +CloudWatchMetricsQuery.sql.groupBy.withExpressions(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.groupBy.withExpressionsMixin + +```jsonnet +CloudWatchMetricsQuery.sql.groupBy.withExpressionsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.groupBy.withType + +```jsonnet +CloudWatchMetricsQuery.sql.groupBy.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"and"`, `"or"` + + +##### obj CloudWatchMetricsQuery.sql.orderBy + + +###### fn CloudWatchMetricsQuery.sql.orderBy.withName + +```jsonnet +CloudWatchMetricsQuery.sql.orderBy.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn CloudWatchMetricsQuery.sql.orderBy.withParameters + +```jsonnet +CloudWatchMetricsQuery.sql.orderBy.withParameters(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.orderBy.withParametersMixin + +```jsonnet +CloudWatchMetricsQuery.sql.orderBy.withParametersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.orderBy.withType + +```jsonnet +CloudWatchMetricsQuery.sql.orderBy.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj CloudWatchMetricsQuery.sql.select + + +###### fn CloudWatchMetricsQuery.sql.select.withName + +```jsonnet +CloudWatchMetricsQuery.sql.select.withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn CloudWatchMetricsQuery.sql.select.withParameters + +```jsonnet +CloudWatchMetricsQuery.sql.select.withParameters(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.select.withParametersMixin + +```jsonnet +CloudWatchMetricsQuery.sql.select.withParametersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.select.withType + +```jsonnet +CloudWatchMetricsQuery.sql.select.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj CloudWatchMetricsQuery.sql.where + + +###### fn CloudWatchMetricsQuery.sql.where.withExpressions + +```jsonnet +CloudWatchMetricsQuery.sql.where.withExpressions(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.where.withExpressionsMixin + +```jsonnet +CloudWatchMetricsQuery.sql.where.withExpressionsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn CloudWatchMetricsQuery.sql.where.withType + +```jsonnet +CloudWatchMetricsQuery.sql.where.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"and"`, `"or"` + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md new file mode 100644 index 0000000000..34d28192c5 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md @@ -0,0 +1,32 @@ +# filters + + + +## Index + +* [`fn withLabel(value)`](#fn-withlabel) +* [`fn withQuery(value)`](#fn-withquery) + +## Fields + +### fn withLabel + +```jsonnet +withLabel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withQuery + +```jsonnet +withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md new file mode 100644 index 0000000000..07316dbca1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md @@ -0,0 +1,585 @@ +# bucketAggs + + + +## Subpackages + +* [Filters.settings.filters](Filters/settings/filters.md) + +## Index + +* [`obj DateHistogram`](#obj-datehistogram) + * [`fn withField(value)`](#fn-datehistogramwithfield) + * [`fn withId(value)`](#fn-datehistogramwithid) + * [`fn withSettings(value)`](#fn-datehistogramwithsettings) + * [`fn withSettingsMixin(value)`](#fn-datehistogramwithsettingsmixin) + * [`fn withType(value)`](#fn-datehistogramwithtype) + * [`obj settings`](#obj-datehistogramsettings) + * [`fn withInterval(value)`](#fn-datehistogramsettingswithinterval) + * [`fn withMinDocCount(value)`](#fn-datehistogramsettingswithmindoccount) + * [`fn withOffset(value)`](#fn-datehistogramsettingswithoffset) + * [`fn withTimeZone(value)`](#fn-datehistogramsettingswithtimezone) + * [`fn withTrimEdges(value)`](#fn-datehistogramsettingswithtrimedges) +* [`obj Filters`](#obj-filters) + * [`fn withId(value)`](#fn-filterswithid) + * [`fn withSettings(value)`](#fn-filterswithsettings) + * [`fn withSettingsMixin(value)`](#fn-filterswithsettingsmixin) + * [`fn withType(value)`](#fn-filterswithtype) + * [`obj settings`](#obj-filterssettings) + * [`fn withFilters(value)`](#fn-filterssettingswithfilters) + * [`fn withFiltersMixin(value)`](#fn-filterssettingswithfiltersmixin) +* [`obj GeoHashGrid`](#obj-geohashgrid) + * [`fn withField(value)`](#fn-geohashgridwithfield) + * [`fn withId(value)`](#fn-geohashgridwithid) + * [`fn withSettings(value)`](#fn-geohashgridwithsettings) + * [`fn withSettingsMixin(value)`](#fn-geohashgridwithsettingsmixin) + * [`fn withType(value)`](#fn-geohashgridwithtype) + * [`obj settings`](#obj-geohashgridsettings) + * [`fn withPrecision(value)`](#fn-geohashgridsettingswithprecision) +* [`obj Histogram`](#obj-histogram) + * [`fn withField(value)`](#fn-histogramwithfield) + * [`fn withId(value)`](#fn-histogramwithid) + * [`fn withSettings(value)`](#fn-histogramwithsettings) + * [`fn withSettingsMixin(value)`](#fn-histogramwithsettingsmixin) + * [`fn withType(value)`](#fn-histogramwithtype) + * [`obj settings`](#obj-histogramsettings) + * [`fn withInterval(value)`](#fn-histogramsettingswithinterval) + * [`fn withMinDocCount(value)`](#fn-histogramsettingswithmindoccount) +* [`obj Nested`](#obj-nested) + * [`fn withField(value)`](#fn-nestedwithfield) + * [`fn withId(value)`](#fn-nestedwithid) + * [`fn withSettings(value)`](#fn-nestedwithsettings) + * [`fn withSettingsMixin(value)`](#fn-nestedwithsettingsmixin) + * [`fn withType(value)`](#fn-nestedwithtype) +* [`obj Terms`](#obj-terms) + * [`fn withField(value)`](#fn-termswithfield) + * [`fn withId(value)`](#fn-termswithid) + * [`fn withSettings(value)`](#fn-termswithsettings) + * [`fn withSettingsMixin(value)`](#fn-termswithsettingsmixin) + * [`fn withType(value)`](#fn-termswithtype) + * [`obj settings`](#obj-termssettings) + * [`fn withMinDocCount(value)`](#fn-termssettingswithmindoccount) + * [`fn withMissing(value)`](#fn-termssettingswithmissing) + * [`fn withOrder(value)`](#fn-termssettingswithorder) + * [`fn withOrderBy(value)`](#fn-termssettingswithorderby) + * [`fn withSize(value)`](#fn-termssettingswithsize) + +## Fields + +### obj DateHistogram + + +#### fn DateHistogram.withField + +```jsonnet +DateHistogram.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn DateHistogram.withId + +```jsonnet +DateHistogram.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn DateHistogram.withSettings + +```jsonnet +DateHistogram.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn DateHistogram.withSettingsMixin + +```jsonnet +DateHistogram.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn DateHistogram.withType + +```jsonnet +DateHistogram.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj DateHistogram.settings + + +##### fn DateHistogram.settings.withInterval + +```jsonnet +DateHistogram.settings.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn DateHistogram.settings.withMinDocCount + +```jsonnet +DateHistogram.settings.withMinDocCount(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn DateHistogram.settings.withOffset + +```jsonnet +DateHistogram.settings.withOffset(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn DateHistogram.settings.withTimeZone + +```jsonnet +DateHistogram.settings.withTimeZone(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn DateHistogram.settings.withTrimEdges + +```jsonnet +DateHistogram.settings.withTrimEdges(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj Filters + + +#### fn Filters.withId + +```jsonnet +Filters.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Filters.withSettings + +```jsonnet +Filters.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Filters.withSettingsMixin + +```jsonnet +Filters.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Filters.withType + +```jsonnet +Filters.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj Filters.settings + + +##### fn Filters.settings.withFilters + +```jsonnet +Filters.settings.withFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn Filters.settings.withFiltersMixin + +```jsonnet +Filters.settings.withFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### obj GeoHashGrid + + +#### fn GeoHashGrid.withField + +```jsonnet +GeoHashGrid.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn GeoHashGrid.withId + +```jsonnet +GeoHashGrid.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn GeoHashGrid.withSettings + +```jsonnet +GeoHashGrid.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn GeoHashGrid.withSettingsMixin + +```jsonnet +GeoHashGrid.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn GeoHashGrid.withType + +```jsonnet +GeoHashGrid.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj GeoHashGrid.settings + + +##### fn GeoHashGrid.settings.withPrecision + +```jsonnet +GeoHashGrid.settings.withPrecision(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj Histogram + + +#### fn Histogram.withField + +```jsonnet +Histogram.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Histogram.withId + +```jsonnet +Histogram.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Histogram.withSettings + +```jsonnet +Histogram.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Histogram.withSettingsMixin + +```jsonnet +Histogram.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Histogram.withType + +```jsonnet +Histogram.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj Histogram.settings + + +##### fn Histogram.settings.withInterval + +```jsonnet +Histogram.settings.withInterval(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn Histogram.settings.withMinDocCount + +```jsonnet +Histogram.settings.withMinDocCount(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj Nested + + +#### fn Nested.withField + +```jsonnet +Nested.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Nested.withId + +```jsonnet +Nested.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Nested.withSettings + +```jsonnet +Nested.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Nested.withSettingsMixin + +```jsonnet +Nested.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Nested.withType + +```jsonnet +Nested.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj Terms + + +#### fn Terms.withField + +```jsonnet +Terms.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Terms.withId + +```jsonnet +Terms.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Terms.withSettings + +```jsonnet +Terms.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Terms.withSettingsMixin + +```jsonnet +Terms.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn Terms.withType + +```jsonnet +Terms.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj Terms.settings + + +##### fn Terms.settings.withMinDocCount + +```jsonnet +Terms.settings.withMinDocCount(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn Terms.settings.withMissing + +```jsonnet +Terms.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn Terms.settings.withOrder + +```jsonnet +Terms.settings.withOrder(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"desc"`, `"asc"` + + +##### fn Terms.settings.withOrderBy + +```jsonnet +Terms.settings.withOrderBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn Terms.settings.withSize + +```jsonnet +Terms.settings.withSize(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md new file mode 100644 index 0000000000..b5926b0b05 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md @@ -0,0 +1,155 @@ +# elasticsearch + +grafonnet.query.elasticsearch + +## Subpackages + +* [bucketAggs](bucketAggs/index.md) +* [metrics](metrics/index.md) + +## Index + +* [`fn withAlias(value)`](#fn-withalias) +* [`fn withBucketAggs(value)`](#fn-withbucketaggs) +* [`fn withBucketAggsMixin(value)`](#fn-withbucketaggsmixin) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withMetrics(value)`](#fn-withmetrics) +* [`fn withMetricsMixin(value)`](#fn-withmetricsmixin) +* [`fn withQuery(value)`](#fn-withquery) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withTimeField(value)`](#fn-withtimefield) + +## Fields + +### fn withAlias + +```jsonnet +withAlias(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Alias pattern +### fn withBucketAggs + +```jsonnet +withBucketAggs(value) +``` + +PARAMETERS: + +* **value** (`array`) + +List of bucket aggregations +### fn withBucketAggsMixin + +```jsonnet +withBucketAggsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +List of bucket aggregations +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withMetrics + +```jsonnet +withMetrics(value) +``` + +PARAMETERS: + +* **value** (`array`) + +List of metric aggregations +### fn withMetricsMixin + +```jsonnet +withMetricsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +List of metric aggregations +### fn withQuery + +```jsonnet +withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Lucene query +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +### fn withTimeField + +```jsonnet +withTimeField(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of time field \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md new file mode 100644 index 0000000000..98f8952413 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md @@ -0,0 +1,32 @@ +# pipelineVariables + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withPipelineAgg(value)`](#fn-withpipelineagg) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withPipelineAgg + +```jsonnet +withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md new file mode 100644 index 0000000000..98f8952413 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md @@ -0,0 +1,32 @@ +# pipelineVariables + + + +## Index + +* [`fn withName(value)`](#fn-withname) +* [`fn withPipelineAgg(value)`](#fn-withpipelineagg) + +## Fields + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withPipelineAgg + +```jsonnet +withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md new file mode 100644 index 0000000000..3289312711 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md @@ -0,0 +1,2616 @@ +# metrics + + + +## Subpackages + +* [MetricAggregationWithSettings.BucketScript.pipelineVariables](MetricAggregationWithSettings/BucketScript/pipelineVariables.md) +* [PipelineMetricAggregation.BucketScript.pipelineVariables](PipelineMetricAggregation/BucketScript/pipelineVariables.md) + +## Index + +* [`obj Count`](#obj-count) + * [`fn withHide(value=true)`](#fn-countwithhide) + * [`fn withId(value)`](#fn-countwithid) + * [`fn withType(value)`](#fn-countwithtype) +* [`obj MetricAggregationWithSettings`](#obj-metricaggregationwithsettings) + * [`obj Average`](#obj-metricaggregationwithsettingsaverage) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsaveragewithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsaveragewithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsaveragewithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsaveragewithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsaveragewithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsaveragewithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsaveragesettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsaveragesettingswithmissing) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsaveragesettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsaveragesettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingsaveragesettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsaveragesettingsscriptwithinline) + * [`obj BucketScript`](#obj-metricaggregationwithsettingsbucketscript) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsbucketscriptwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsbucketscriptwithid) + * [`fn withPipelineVariables(value)`](#fn-metricaggregationwithsettingsbucketscriptwithpipelinevariables) + * [`fn withPipelineVariablesMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptwithpipelinevariablesmixin) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsbucketscriptwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsbucketscriptwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsbucketscriptsettings) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingsbucketscriptsettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingsscriptwithinline) + * [`obj CumulativeSum`](#obj-metricaggregationwithsettingscumulativesum) + * [`fn withField(value)`](#fn-metricaggregationwithsettingscumulativesumwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingscumulativesumwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingscumulativesumwithid) + * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingscumulativesumwithpipelineagg) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingscumulativesumwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingscumulativesumwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingscumulativesumwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingscumulativesumsettings) + * [`fn withFormat(value)`](#fn-metricaggregationwithsettingscumulativesumsettingswithformat) + * [`obj Derivative`](#obj-metricaggregationwithsettingsderivative) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsderivativewithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsderivativewithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsderivativewithid) + * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsderivativewithpipelineagg) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsderivativewithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsderivativewithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsderivativewithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsderivativesettings) + * [`fn withUnit(value)`](#fn-metricaggregationwithsettingsderivativesettingswithunit) + * [`obj ExtendedStats`](#obj-metricaggregationwithsettingsextendedstats) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsextendedstatswithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsextendedstatswithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsextendedstatswithid) + * [`fn withMeta(value)`](#fn-metricaggregationwithsettingsextendedstatswithmeta) + * [`fn withMetaMixin(value)`](#fn-metricaggregationwithsettingsextendedstatswithmetamixin) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsextendedstatswithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsextendedstatswithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsextendedstatswithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsextendedstatssettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithmissing) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithscriptmixin) + * [`fn withSigma(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithsigma) + * [`obj script`](#obj-metricaggregationwithsettingsextendedstatssettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsextendedstatssettingsscriptwithinline) + * [`obj Logs`](#obj-metricaggregationwithsettingslogs) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingslogswithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingslogswithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingslogswithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingslogswithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingslogswithtype) + * [`obj settings`](#obj-metricaggregationwithsettingslogssettings) + * [`fn withLimit(value)`](#fn-metricaggregationwithsettingslogssettingswithlimit) + * [`obj Max`](#obj-metricaggregationwithsettingsmax) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsmaxwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmaxwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsmaxwithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmaxwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmaxwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsmaxwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsmaxsettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsmaxsettingswithmissing) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsmaxsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsmaxsettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingsmaxsettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsmaxsettingsscriptwithinline) + * [`obj Min`](#obj-metricaggregationwithsettingsmin) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsminwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsminwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsminwithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsminwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsminwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsminwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsminsettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsminsettingswithmissing) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsminsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsminsettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingsminsettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsminsettingsscriptwithinline) + * [`obj MovingAverage`](#obj-metricaggregationwithsettingsmovingaverage) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsmovingaveragewithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmovingaveragewithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsmovingaveragewithid) + * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsmovingaveragewithpipelineagg) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmovingaveragewithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmovingaveragewithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsmovingaveragewithtype) + * [`obj MovingFunction`](#obj-metricaggregationwithsettingsmovingfunction) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmovingfunctionwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithid) + * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithpipelineagg) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsmovingfunctionsettings) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithscriptmixin) + * [`fn withShift(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithshift) + * [`fn withWindow(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithwindow) + * [`obj script`](#obj-metricaggregationwithsettingsmovingfunctionsettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingsscriptwithinline) + * [`obj Percentiles`](#obj-metricaggregationwithsettingspercentiles) + * [`fn withField(value)`](#fn-metricaggregationwithsettingspercentileswithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingspercentileswithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingspercentileswithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingspercentileswithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingspercentileswithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingspercentileswithtype) + * [`obj settings`](#obj-metricaggregationwithsettingspercentilessettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingspercentilessettingswithmissing) + * [`fn withPercents(value)`](#fn-metricaggregationwithsettingspercentilessettingswithpercents) + * [`fn withPercentsMixin(value)`](#fn-metricaggregationwithsettingspercentilessettingswithpercentsmixin) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingspercentilessettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingspercentilessettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingspercentilessettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingspercentilessettingsscriptwithinline) + * [`obj Rate`](#obj-metricaggregationwithsettingsrate) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsratewithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsratewithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsratewithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsratewithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsratewithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsratewithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsratesettings) + * [`fn withMode(value)`](#fn-metricaggregationwithsettingsratesettingswithmode) + * [`fn withUnit(value)`](#fn-metricaggregationwithsettingsratesettingswithunit) + * [`obj RawData`](#obj-metricaggregationwithsettingsrawdata) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsrawdatawithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsrawdatawithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsrawdatawithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsrawdatawithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsrawdatawithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsrawdatasettings) + * [`fn withSize(value)`](#fn-metricaggregationwithsettingsrawdatasettingswithsize) + * [`obj RawDocument`](#obj-metricaggregationwithsettingsrawdocument) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsrawdocumentwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsrawdocumentwithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsrawdocumentwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsrawdocumentwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsrawdocumentwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsrawdocumentsettings) + * [`fn withSize(value)`](#fn-metricaggregationwithsettingsrawdocumentsettingswithsize) + * [`obj SerialDiff`](#obj-metricaggregationwithsettingsserialdiff) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsserialdiffwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsserialdiffwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsserialdiffwithid) + * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsserialdiffwithpipelineagg) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsserialdiffwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsserialdiffwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsserialdiffwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsserialdiffsettings) + * [`fn withLag(value)`](#fn-metricaggregationwithsettingsserialdiffsettingswithlag) + * [`obj Sum`](#obj-metricaggregationwithsettingssum) + * [`fn withField(value)`](#fn-metricaggregationwithsettingssumwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingssumwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingssumwithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingssumwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingssumwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingssumwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingssumsettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingssumsettingswithmissing) + * [`fn withScript(value)`](#fn-metricaggregationwithsettingssumsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingssumsettingswithscriptmixin) + * [`obj script`](#obj-metricaggregationwithsettingssumsettingsscript) + * [`fn withInline(value)`](#fn-metricaggregationwithsettingssumsettingsscriptwithinline) + * [`obj TopMetrics`](#obj-metricaggregationwithsettingstopmetrics) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingstopmetricswithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingstopmetricswithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingstopmetricswithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingstopmetricswithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingstopmetricswithtype) + * [`obj settings`](#obj-metricaggregationwithsettingstopmetricssettings) + * [`fn withMetrics(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithmetrics) + * [`fn withMetricsMixin(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithmetricsmixin) + * [`fn withOrder(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithorder) + * [`fn withOrderBy(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithorderby) + * [`obj UniqueCount`](#obj-metricaggregationwithsettingsuniquecount) + * [`fn withField(value)`](#fn-metricaggregationwithsettingsuniquecountwithfield) + * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsuniquecountwithhide) + * [`fn withId(value)`](#fn-metricaggregationwithsettingsuniquecountwithid) + * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsuniquecountwithsettings) + * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsuniquecountwithsettingsmixin) + * [`fn withType(value)`](#fn-metricaggregationwithsettingsuniquecountwithtype) + * [`obj settings`](#obj-metricaggregationwithsettingsuniquecountsettings) + * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsuniquecountsettingswithmissing) + * [`fn withPrecisionThreshold(value)`](#fn-metricaggregationwithsettingsuniquecountsettingswithprecisionthreshold) +* [`obj PipelineMetricAggregation`](#obj-pipelinemetricaggregation) + * [`obj BucketScript`](#obj-pipelinemetricaggregationbucketscript) + * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationbucketscriptwithhide) + * [`fn withId(value)`](#fn-pipelinemetricaggregationbucketscriptwithid) + * [`fn withPipelineVariables(value)`](#fn-pipelinemetricaggregationbucketscriptwithpipelinevariables) + * [`fn withPipelineVariablesMixin(value)`](#fn-pipelinemetricaggregationbucketscriptwithpipelinevariablesmixin) + * [`fn withSettings(value)`](#fn-pipelinemetricaggregationbucketscriptwithsettings) + * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationbucketscriptwithsettingsmixin) + * [`fn withType(value)`](#fn-pipelinemetricaggregationbucketscriptwithtype) + * [`obj settings`](#obj-pipelinemetricaggregationbucketscriptsettings) + * [`fn withScript(value)`](#fn-pipelinemetricaggregationbucketscriptsettingswithscript) + * [`fn withScriptMixin(value)`](#fn-pipelinemetricaggregationbucketscriptsettingswithscriptmixin) + * [`obj script`](#obj-pipelinemetricaggregationbucketscriptsettingsscript) + * [`fn withInline(value)`](#fn-pipelinemetricaggregationbucketscriptsettingsscriptwithinline) + * [`obj CumulativeSum`](#obj-pipelinemetricaggregationcumulativesum) + * [`fn withField(value)`](#fn-pipelinemetricaggregationcumulativesumwithfield) + * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationcumulativesumwithhide) + * [`fn withId(value)`](#fn-pipelinemetricaggregationcumulativesumwithid) + * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationcumulativesumwithpipelineagg) + * [`fn withSettings(value)`](#fn-pipelinemetricaggregationcumulativesumwithsettings) + * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationcumulativesumwithsettingsmixin) + * [`fn withType(value)`](#fn-pipelinemetricaggregationcumulativesumwithtype) + * [`obj settings`](#obj-pipelinemetricaggregationcumulativesumsettings) + * [`fn withFormat(value)`](#fn-pipelinemetricaggregationcumulativesumsettingswithformat) + * [`obj Derivative`](#obj-pipelinemetricaggregationderivative) + * [`fn withField(value)`](#fn-pipelinemetricaggregationderivativewithfield) + * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationderivativewithhide) + * [`fn withId(value)`](#fn-pipelinemetricaggregationderivativewithid) + * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationderivativewithpipelineagg) + * [`fn withSettings(value)`](#fn-pipelinemetricaggregationderivativewithsettings) + * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationderivativewithsettingsmixin) + * [`fn withType(value)`](#fn-pipelinemetricaggregationderivativewithtype) + * [`obj settings`](#obj-pipelinemetricaggregationderivativesettings) + * [`fn withUnit(value)`](#fn-pipelinemetricaggregationderivativesettingswithunit) + * [`obj MovingAverage`](#obj-pipelinemetricaggregationmovingaverage) + * [`fn withField(value)`](#fn-pipelinemetricaggregationmovingaveragewithfield) + * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationmovingaveragewithhide) + * [`fn withId(value)`](#fn-pipelinemetricaggregationmovingaveragewithid) + * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationmovingaveragewithpipelineagg) + * [`fn withSettings(value)`](#fn-pipelinemetricaggregationmovingaveragewithsettings) + * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationmovingaveragewithsettingsmixin) + * [`fn withType(value)`](#fn-pipelinemetricaggregationmovingaveragewithtype) + +## Fields + +### obj Count + + +#### fn Count.withHide + +```jsonnet +Count.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn Count.withId + +```jsonnet +Count.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn Count.withType + +```jsonnet +Count.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj MetricAggregationWithSettings + + +#### obj MetricAggregationWithSettings.Average + + +##### fn MetricAggregationWithSettings.Average.withField + +```jsonnet +MetricAggregationWithSettings.Average.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Average.withHide + +```jsonnet +MetricAggregationWithSettings.Average.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Average.withId + +```jsonnet +MetricAggregationWithSettings.Average.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Average.withSettings + +```jsonnet +MetricAggregationWithSettings.Average.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Average.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Average.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Average.withType + +```jsonnet +MetricAggregationWithSettings.Average.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Average.settings + + +###### fn MetricAggregationWithSettings.Average.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.Average.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Average.settings.withScript + +```jsonnet +MetricAggregationWithSettings.Average.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Average.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.Average.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.Average.settings.script + + +####### fn MetricAggregationWithSettings.Average.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.Average.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.BucketScript + + +##### fn MetricAggregationWithSettings.BucketScript.withHide + +```jsonnet +MetricAggregationWithSettings.BucketScript.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.BucketScript.withId + +```jsonnet +MetricAggregationWithSettings.BucketScript.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.BucketScript.withPipelineVariables + +```jsonnet +MetricAggregationWithSettings.BucketScript.withPipelineVariables(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn MetricAggregationWithSettings.BucketScript.withPipelineVariablesMixin + +```jsonnet +MetricAggregationWithSettings.BucketScript.withPipelineVariablesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn MetricAggregationWithSettings.BucketScript.withSettings + +```jsonnet +MetricAggregationWithSettings.BucketScript.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.BucketScript.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.BucketScript.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.BucketScript.withType + +```jsonnet +MetricAggregationWithSettings.BucketScript.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.BucketScript.settings + + +###### fn MetricAggregationWithSettings.BucketScript.settings.withScript + +```jsonnet +MetricAggregationWithSettings.BucketScript.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.BucketScript.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.BucketScript.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.BucketScript.settings.script + + +####### fn MetricAggregationWithSettings.BucketScript.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.BucketScript.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.CumulativeSum + + +##### fn MetricAggregationWithSettings.CumulativeSum.withField + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.CumulativeSum.withHide + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.CumulativeSum.withId + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.CumulativeSum.withPipelineAgg + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.CumulativeSum.withSettings + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.CumulativeSum.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.CumulativeSum.withType + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.CumulativeSum.settings + + +###### fn MetricAggregationWithSettings.CumulativeSum.settings.withFormat + +```jsonnet +MetricAggregationWithSettings.CumulativeSum.settings.withFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Derivative + + +##### fn MetricAggregationWithSettings.Derivative.withField + +```jsonnet +MetricAggregationWithSettings.Derivative.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Derivative.withHide + +```jsonnet +MetricAggregationWithSettings.Derivative.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Derivative.withId + +```jsonnet +MetricAggregationWithSettings.Derivative.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Derivative.withPipelineAgg + +```jsonnet +MetricAggregationWithSettings.Derivative.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Derivative.withSettings + +```jsonnet +MetricAggregationWithSettings.Derivative.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Derivative.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Derivative.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Derivative.withType + +```jsonnet +MetricAggregationWithSettings.Derivative.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Derivative.settings + + +###### fn MetricAggregationWithSettings.Derivative.settings.withUnit + +```jsonnet +MetricAggregationWithSettings.Derivative.settings.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.ExtendedStats + + +##### fn MetricAggregationWithSettings.ExtendedStats.withField + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withHide + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.ExtendedStats.withId + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withMeta + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withMeta(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withMetaMixin + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withMetaMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withSettings + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.ExtendedStats.withType + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.ExtendedStats.settings + + +###### fn MetricAggregationWithSettings.ExtendedStats.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.ExtendedStats.settings.withScript + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.ExtendedStats.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.ExtendedStats.settings.withSigma + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.settings.withSigma(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.ExtendedStats.settings.script + + +####### fn MetricAggregationWithSettings.ExtendedStats.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.ExtendedStats.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Logs + + +##### fn MetricAggregationWithSettings.Logs.withHide + +```jsonnet +MetricAggregationWithSettings.Logs.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Logs.withId + +```jsonnet +MetricAggregationWithSettings.Logs.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Logs.withSettings + +```jsonnet +MetricAggregationWithSettings.Logs.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Logs.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Logs.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Logs.withType + +```jsonnet +MetricAggregationWithSettings.Logs.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Logs.settings + + +###### fn MetricAggregationWithSettings.Logs.settings.withLimit + +```jsonnet +MetricAggregationWithSettings.Logs.settings.withLimit(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Max + + +##### fn MetricAggregationWithSettings.Max.withField + +```jsonnet +MetricAggregationWithSettings.Max.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Max.withHide + +```jsonnet +MetricAggregationWithSettings.Max.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Max.withId + +```jsonnet +MetricAggregationWithSettings.Max.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Max.withSettings + +```jsonnet +MetricAggregationWithSettings.Max.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Max.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Max.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Max.withType + +```jsonnet +MetricAggregationWithSettings.Max.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Max.settings + + +###### fn MetricAggregationWithSettings.Max.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.Max.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Max.settings.withScript + +```jsonnet +MetricAggregationWithSettings.Max.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Max.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.Max.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.Max.settings.script + + +####### fn MetricAggregationWithSettings.Max.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.Max.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Min + + +##### fn MetricAggregationWithSettings.Min.withField + +```jsonnet +MetricAggregationWithSettings.Min.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Min.withHide + +```jsonnet +MetricAggregationWithSettings.Min.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Min.withId + +```jsonnet +MetricAggregationWithSettings.Min.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Min.withSettings + +```jsonnet +MetricAggregationWithSettings.Min.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Min.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Min.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Min.withType + +```jsonnet +MetricAggregationWithSettings.Min.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Min.settings + + +###### fn MetricAggregationWithSettings.Min.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.Min.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Min.settings.withScript + +```jsonnet +MetricAggregationWithSettings.Min.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Min.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.Min.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.Min.settings.script + + +####### fn MetricAggregationWithSettings.Min.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.Min.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.MovingAverage + + +##### fn MetricAggregationWithSettings.MovingAverage.withField + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingAverage.withHide + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.MovingAverage.withId + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingAverage.withPipelineAgg + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingAverage.withSettings + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.MovingAverage.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.MovingAverage.withType + +```jsonnet +MetricAggregationWithSettings.MovingAverage.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.MovingFunction + + +##### fn MetricAggregationWithSettings.MovingFunction.withField + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingFunction.withHide + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.MovingFunction.withId + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingFunction.withPipelineAgg + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.MovingFunction.withSettings + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.MovingFunction.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.MovingFunction.withType + +```jsonnet +MetricAggregationWithSettings.MovingFunction.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.MovingFunction.settings + + +###### fn MetricAggregationWithSettings.MovingFunction.settings.withScript + +```jsonnet +MetricAggregationWithSettings.MovingFunction.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.MovingFunction.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.MovingFunction.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.MovingFunction.settings.withShift + +```jsonnet +MetricAggregationWithSettings.MovingFunction.settings.withShift(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.MovingFunction.settings.withWindow + +```jsonnet +MetricAggregationWithSettings.MovingFunction.settings.withWindow(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.MovingFunction.settings.script + + +####### fn MetricAggregationWithSettings.MovingFunction.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.MovingFunction.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Percentiles + + +##### fn MetricAggregationWithSettings.Percentiles.withField + +```jsonnet +MetricAggregationWithSettings.Percentiles.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Percentiles.withHide + +```jsonnet +MetricAggregationWithSettings.Percentiles.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Percentiles.withId + +```jsonnet +MetricAggregationWithSettings.Percentiles.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Percentiles.withSettings + +```jsonnet +MetricAggregationWithSettings.Percentiles.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Percentiles.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Percentiles.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Percentiles.withType + +```jsonnet +MetricAggregationWithSettings.Percentiles.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Percentiles.settings + + +###### fn MetricAggregationWithSettings.Percentiles.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Percentiles.settings.withPercents + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.withPercents(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn MetricAggregationWithSettings.Percentiles.settings.withPercentsMixin + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.withPercentsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn MetricAggregationWithSettings.Percentiles.settings.withScript + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Percentiles.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.Percentiles.settings.script + + +####### fn MetricAggregationWithSettings.Percentiles.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.Percentiles.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Rate + + +##### fn MetricAggregationWithSettings.Rate.withField + +```jsonnet +MetricAggregationWithSettings.Rate.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Rate.withHide + +```jsonnet +MetricAggregationWithSettings.Rate.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Rate.withId + +```jsonnet +MetricAggregationWithSettings.Rate.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Rate.withSettings + +```jsonnet +MetricAggregationWithSettings.Rate.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Rate.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Rate.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Rate.withType + +```jsonnet +MetricAggregationWithSettings.Rate.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Rate.settings + + +###### fn MetricAggregationWithSettings.Rate.settings.withMode + +```jsonnet +MetricAggregationWithSettings.Rate.settings.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Rate.settings.withUnit + +```jsonnet +MetricAggregationWithSettings.Rate.settings.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.RawData + + +##### fn MetricAggregationWithSettings.RawData.withHide + +```jsonnet +MetricAggregationWithSettings.RawData.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.RawData.withId + +```jsonnet +MetricAggregationWithSettings.RawData.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.RawData.withSettings + +```jsonnet +MetricAggregationWithSettings.RawData.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.RawData.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.RawData.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.RawData.withType + +```jsonnet +MetricAggregationWithSettings.RawData.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.RawData.settings + + +###### fn MetricAggregationWithSettings.RawData.settings.withSize + +```jsonnet +MetricAggregationWithSettings.RawData.settings.withSize(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.RawDocument + + +##### fn MetricAggregationWithSettings.RawDocument.withHide + +```jsonnet +MetricAggregationWithSettings.RawDocument.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.RawDocument.withId + +```jsonnet +MetricAggregationWithSettings.RawDocument.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.RawDocument.withSettings + +```jsonnet +MetricAggregationWithSettings.RawDocument.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.RawDocument.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.RawDocument.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.RawDocument.withType + +```jsonnet +MetricAggregationWithSettings.RawDocument.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.RawDocument.settings + + +###### fn MetricAggregationWithSettings.RawDocument.settings.withSize + +```jsonnet +MetricAggregationWithSettings.RawDocument.settings.withSize(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.SerialDiff + + +##### fn MetricAggregationWithSettings.SerialDiff.withField + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.SerialDiff.withHide + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.SerialDiff.withId + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.SerialDiff.withPipelineAgg + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.SerialDiff.withSettings + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.SerialDiff.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.SerialDiff.withType + +```jsonnet +MetricAggregationWithSettings.SerialDiff.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.SerialDiff.settings + + +###### fn MetricAggregationWithSettings.SerialDiff.settings.withLag + +```jsonnet +MetricAggregationWithSettings.SerialDiff.settings.withLag(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.Sum + + +##### fn MetricAggregationWithSettings.Sum.withField + +```jsonnet +MetricAggregationWithSettings.Sum.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Sum.withHide + +```jsonnet +MetricAggregationWithSettings.Sum.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.Sum.withId + +```jsonnet +MetricAggregationWithSettings.Sum.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.Sum.withSettings + +```jsonnet +MetricAggregationWithSettings.Sum.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Sum.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.Sum.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.Sum.withType + +```jsonnet +MetricAggregationWithSettings.Sum.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.Sum.settings + + +###### fn MetricAggregationWithSettings.Sum.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.Sum.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Sum.settings.withScript + +```jsonnet +MetricAggregationWithSettings.Sum.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.Sum.settings.withScriptMixin + +```jsonnet +MetricAggregationWithSettings.Sum.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj MetricAggregationWithSettings.Sum.settings.script + + +####### fn MetricAggregationWithSettings.Sum.settings.script.withInline + +```jsonnet +MetricAggregationWithSettings.Sum.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.TopMetrics + + +##### fn MetricAggregationWithSettings.TopMetrics.withHide + +```jsonnet +MetricAggregationWithSettings.TopMetrics.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.TopMetrics.withId + +```jsonnet +MetricAggregationWithSettings.TopMetrics.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.TopMetrics.withSettings + +```jsonnet +MetricAggregationWithSettings.TopMetrics.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.TopMetrics.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.TopMetrics.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.TopMetrics.withType + +```jsonnet +MetricAggregationWithSettings.TopMetrics.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.TopMetrics.settings + + +###### fn MetricAggregationWithSettings.TopMetrics.settings.withMetrics + +```jsonnet +MetricAggregationWithSettings.TopMetrics.settings.withMetrics(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn MetricAggregationWithSettings.TopMetrics.settings.withMetricsMixin + +```jsonnet +MetricAggregationWithSettings.TopMetrics.settings.withMetricsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +###### fn MetricAggregationWithSettings.TopMetrics.settings.withOrder + +```jsonnet +MetricAggregationWithSettings.TopMetrics.settings.withOrder(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.TopMetrics.settings.withOrderBy + +```jsonnet +MetricAggregationWithSettings.TopMetrics.settings.withOrderBy(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj MetricAggregationWithSettings.UniqueCount + + +##### fn MetricAggregationWithSettings.UniqueCount.withField + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.UniqueCount.withHide + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn MetricAggregationWithSettings.UniqueCount.withId + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn MetricAggregationWithSettings.UniqueCount.withSettings + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.UniqueCount.withSettingsMixin + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn MetricAggregationWithSettings.UniqueCount.withType + +```jsonnet +MetricAggregationWithSettings.UniqueCount.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj MetricAggregationWithSettings.UniqueCount.settings + + +###### fn MetricAggregationWithSettings.UniqueCount.settings.withMissing + +```jsonnet +MetricAggregationWithSettings.UniqueCount.settings.withMissing(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn MetricAggregationWithSettings.UniqueCount.settings.withPrecisionThreshold + +```jsonnet +MetricAggregationWithSettings.UniqueCount.settings.withPrecisionThreshold(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj PipelineMetricAggregation + + +#### obj PipelineMetricAggregation.BucketScript + + +##### fn PipelineMetricAggregation.BucketScript.withHide + +```jsonnet +PipelineMetricAggregation.BucketScript.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn PipelineMetricAggregation.BucketScript.withId + +```jsonnet +PipelineMetricAggregation.BucketScript.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.BucketScript.withPipelineVariables + +```jsonnet +PipelineMetricAggregation.BucketScript.withPipelineVariables(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn PipelineMetricAggregation.BucketScript.withPipelineVariablesMixin + +```jsonnet +PipelineMetricAggregation.BucketScript.withPipelineVariablesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +##### fn PipelineMetricAggregation.BucketScript.withSettings + +```jsonnet +PipelineMetricAggregation.BucketScript.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.BucketScript.withSettingsMixin + +```jsonnet +PipelineMetricAggregation.BucketScript.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.BucketScript.withType + +```jsonnet +PipelineMetricAggregation.BucketScript.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj PipelineMetricAggregation.BucketScript.settings + + +###### fn PipelineMetricAggregation.BucketScript.settings.withScript + +```jsonnet +PipelineMetricAggregation.BucketScript.settings.withScript(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### fn PipelineMetricAggregation.BucketScript.settings.withScriptMixin + +```jsonnet +PipelineMetricAggregation.BucketScript.settings.withScriptMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +###### obj PipelineMetricAggregation.BucketScript.settings.script + + +####### fn PipelineMetricAggregation.BucketScript.settings.script.withInline + +```jsonnet +PipelineMetricAggregation.BucketScript.settings.script.withInline(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj PipelineMetricAggregation.CumulativeSum + + +##### fn PipelineMetricAggregation.CumulativeSum.withField + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.CumulativeSum.withHide + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn PipelineMetricAggregation.CumulativeSum.withId + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.CumulativeSum.withPipelineAgg + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.CumulativeSum.withSettings + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.CumulativeSum.withSettingsMixin + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.CumulativeSum.withType + +```jsonnet +PipelineMetricAggregation.CumulativeSum.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj PipelineMetricAggregation.CumulativeSum.settings + + +###### fn PipelineMetricAggregation.CumulativeSum.settings.withFormat + +```jsonnet +PipelineMetricAggregation.CumulativeSum.settings.withFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj PipelineMetricAggregation.Derivative + + +##### fn PipelineMetricAggregation.Derivative.withField + +```jsonnet +PipelineMetricAggregation.Derivative.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.Derivative.withHide + +```jsonnet +PipelineMetricAggregation.Derivative.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn PipelineMetricAggregation.Derivative.withId + +```jsonnet +PipelineMetricAggregation.Derivative.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.Derivative.withPipelineAgg + +```jsonnet +PipelineMetricAggregation.Derivative.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.Derivative.withSettings + +```jsonnet +PipelineMetricAggregation.Derivative.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.Derivative.withSettingsMixin + +```jsonnet +PipelineMetricAggregation.Derivative.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.Derivative.withType + +```jsonnet +PipelineMetricAggregation.Derivative.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### obj PipelineMetricAggregation.Derivative.settings + + +###### fn PipelineMetricAggregation.Derivative.settings.withUnit + +```jsonnet +PipelineMetricAggregation.Derivative.settings.withUnit(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### obj PipelineMetricAggregation.MovingAverage + + +##### fn PipelineMetricAggregation.MovingAverage.withField + +```jsonnet +PipelineMetricAggregation.MovingAverage.withField(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.MovingAverage.withHide + +```jsonnet +PipelineMetricAggregation.MovingAverage.withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +##### fn PipelineMetricAggregation.MovingAverage.withId + +```jsonnet +PipelineMetricAggregation.MovingAverage.withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.MovingAverage.withPipelineAgg + +```jsonnet +PipelineMetricAggregation.MovingAverage.withPipelineAgg(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn PipelineMetricAggregation.MovingAverage.withSettings + +```jsonnet +PipelineMetricAggregation.MovingAverage.withSettings(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.MovingAverage.withSettingsMixin + +```jsonnet +PipelineMetricAggregation.MovingAverage.withSettingsMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +##### fn PipelineMetricAggregation.MovingAverage.withType + +```jsonnet +PipelineMetricAggregation.MovingAverage.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md new file mode 100644 index 0000000000..69779d9133 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md @@ -0,0 +1,127 @@ +# grafanaPyroscope + +grafonnet.query.grafanaPyroscope + +## Index + +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withGroupBy(value)`](#fn-withgroupby) +* [`fn withGroupByMixin(value)`](#fn-withgroupbymixin) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withLabelSelector(value="{}")`](#fn-withlabelselector) +* [`fn withMaxNodes(value)`](#fn-withmaxnodes) +* [`fn withProfileTypeId(value)`](#fn-withprofiletypeid) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) + +## Fields + +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +### fn withGroupBy + +```jsonnet +withGroupBy(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Allows to group the results. +### fn withGroupByMixin + +```jsonnet +withGroupByMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Allows to group the results. +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withLabelSelector + +```jsonnet +withLabelSelector(value="{}") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"{}"` + +Specifies the query label selectors. +### fn withMaxNodes + +```jsonnet +withMaxNodes(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Sets the maximum number of nodes in the flamegraph. +### fn withProfileTypeId + +```jsonnet +withProfileTypeId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specifies the type of profile to query. +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md new file mode 100644 index 0000000000..f1f6ee6c04 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md @@ -0,0 +1,15 @@ +# query + +grafonnet.query + +## Subpackages + +* [azureMonitor](azureMonitor/index.md) +* [cloudWatch](cloudWatch/index.md) +* [elasticsearch](elasticsearch/index.md) +* [grafanaPyroscope](grafanaPyroscope.md) +* [loki](loki.md) +* [parca](parca.md) +* [prometheus](prometheus.md) +* [tempo](tempo/index.md) +* [testData](testData/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md new file mode 100644 index 0000000000..99fd4081b2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md @@ -0,0 +1,163 @@ +# loki + +grafonnet.query.loki + +## Index + +* [`fn new(datasource, expr)`](#fn-new) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withEditorMode(value)`](#fn-witheditormode) +* [`fn withExpr(value)`](#fn-withexpr) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withInstant(value=true)`](#fn-withinstant) +* [`fn withLegendFormat(value)`](#fn-withlegendformat) +* [`fn withMaxLines(value)`](#fn-withmaxlines) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRange(value=true)`](#fn-withrange) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withResolution(value)`](#fn-withresolution) + +## Fields + +### fn new + +```jsonnet +new(datasource, expr) +``` + +PARAMETERS: + +* **datasource** (`string`) +* **expr** (`string`) + +Creates a new loki query target for panels. +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the datasource for this query. +### fn withEditorMode + +```jsonnet +withEditorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"code"`, `"builder"` + + +### fn withExpr + +```jsonnet +withExpr(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The LogQL query. +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withInstant + +```jsonnet +withInstant(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +@deprecated, now use queryType. +### fn withLegendFormat + +```jsonnet +withLegendFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Used to override the name of the series. +### fn withMaxLines + +```jsonnet +withMaxLines(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Used to limit the number of log rows returned. +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRange + +```jsonnet +withRange(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +@deprecated, now use queryType. +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +### fn withResolution + +```jsonnet +withResolution(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Used to scale the interval value. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md new file mode 100644 index 0000000000..6edbee5f4c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md @@ -0,0 +1,91 @@ +# parca + +grafonnet.query.parca + +## Index + +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withLabelSelector(value="{}")`](#fn-withlabelselector) +* [`fn withProfileTypeId(value)`](#fn-withprofiletypeid) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) + +## Fields + +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withLabelSelector + +```jsonnet +withLabelSelector(value="{}") +``` + +PARAMETERS: + +* **value** (`string`) + - default value: `"{}"` + +Specifies the query label selectors. +### fn withProfileTypeId + +```jsonnet +withProfileTypeId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specifies the type of profile to query. +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md new file mode 100644 index 0000000000..d211529495 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md @@ -0,0 +1,177 @@ +# prometheus + +grafonnet.query.prometheus + +## Index + +* [`fn new(datasource, expr)`](#fn-new) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withEditorMode(value)`](#fn-witheditormode) +* [`fn withExemplar(value=true)`](#fn-withexemplar) +* [`fn withExpr(value)`](#fn-withexpr) +* [`fn withFormat(value)`](#fn-withformat) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withInstant(value=true)`](#fn-withinstant) +* [`fn withIntervalFactor(value)`](#fn-withintervalfactor) +* [`fn withLegendFormat(value)`](#fn-withlegendformat) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRange(value=true)`](#fn-withrange) +* [`fn withRefId(value)`](#fn-withrefid) + +## Fields + +### fn new + +```jsonnet +new(datasource, expr) +``` + +PARAMETERS: + +* **datasource** (`string`) +* **expr** (`string`) + +Creates a new prometheus query target for panels. +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the datasource for this query. +### fn withEditorMode + +```jsonnet +withEditorMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"code"`, `"builder"` + + +### fn withExemplar + +```jsonnet +withExemplar(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Execute an additional query to identify interesting raw samples relevant for the given expr +### fn withExpr + +```jsonnet +withExpr(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The actual expression/query that will be evaluated by Prometheus +### fn withFormat + +```jsonnet +withFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"time_series"`, `"table"`, `"heatmap"` + + +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withInstant + +```jsonnet +withInstant(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Returns only the latest value that Prometheus has scraped for the requested time series +### fn withIntervalFactor + +```jsonnet +withIntervalFactor(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the interval factor for this query. +### fn withLegendFormat + +```jsonnet +withLegendFormat(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the legend format for this query. +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRange + +```jsonnet +withRange(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md new file mode 100644 index 0000000000..b0ecd49145 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md @@ -0,0 +1,94 @@ +# filters + + + +## Index + +* [`fn withId(value)`](#fn-withid) +* [`fn withOperator(value)`](#fn-withoperator) +* [`fn withScope(value)`](#fn-withscope) +* [`fn withTag(value)`](#fn-withtag) +* [`fn withValue(value)`](#fn-withvalue) +* [`fn withValueMixin(value)`](#fn-withvaluemixin) +* [`fn withValueType(value)`](#fn-withvaluetype) + +## Fields + +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Uniquely identify the filter, will not be used in the query generation +### fn withOperator + +```jsonnet +withOperator(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The operator that connects the tag to the value, for example: =, >, !=, =~ +### fn withScope + +```jsonnet +withScope(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"unscoped"`, `"resource"`, `"span"` + +static fields are pre-set in the UI, dynamic fields are added by the user +### fn withTag + +```jsonnet +withTag(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The tag for the search filter, for example: .http.status_code, .service.name, status +### fn withValue + +```jsonnet +withValue(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The value for the search filter +### fn withValueMixin + +```jsonnet +withValueMixin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The value for the search filter +### fn withValueType + +```jsonnet +withValueType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md new file mode 100644 index 0000000000..9949daae06 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md @@ -0,0 +1,201 @@ +# tempo + +grafonnet.query.tempo + +## Subpackages + +* [filters](filters.md) + +## Index + +* [`fn new(datasource, query, filters)`](#fn-new) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withFilters(value)`](#fn-withfilters) +* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withLimit(value)`](#fn-withlimit) +* [`fn withMaxDuration(value)`](#fn-withmaxduration) +* [`fn withMinDuration(value)`](#fn-withminduration) +* [`fn withQuery(value)`](#fn-withquery) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withSearch(value)`](#fn-withsearch) +* [`fn withServiceMapQuery(value)`](#fn-withservicemapquery) +* [`fn withServiceName(value)`](#fn-withservicename) +* [`fn withSpanName(value)`](#fn-withspanname) + +## Fields + +### fn new + +```jsonnet +new(datasource, query, filters) +``` + +PARAMETERS: + +* **datasource** (`string`) +* **query** (`string`) +* **filters** (`array`) + +Creates a new tempo query target for panels. +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Set the datasource for this query. +### fn withFilters + +```jsonnet +withFilters(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withFiltersMixin + +```jsonnet +withFiltersMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withLimit + +```jsonnet +withLimit(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Defines the maximum number of traces that are returned from Tempo +### fn withMaxDuration + +```jsonnet +withMaxDuration(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms +### fn withMinDuration + +```jsonnet +withMinDuration(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms +### fn withQuery + +```jsonnet +withQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +TraceQL query or trace ID +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +### fn withSearch + +```jsonnet +withSearch(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true +### fn withServiceMapQuery + +```jsonnet +withServiceMapQuery(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"} +### fn withServiceName + +```jsonnet +withServiceName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Query traces by service name +### fn withSpanName + +```jsonnet +withSpanName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Query traces by span name \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md new file mode 100644 index 0000000000..8927e1ccd4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md @@ -0,0 +1,56 @@ +# csvWave + + + +## Index + +* [`fn withLabels(value)`](#fn-withlabels) +* [`fn withName(value)`](#fn-withname) +* [`fn withTimeStep(value)`](#fn-withtimestep) +* [`fn withValuesCSV(value)`](#fn-withvaluescsv) + +## Fields + +### fn withLabels + +```jsonnet +withLabels(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withTimeStep + +```jsonnet +withTimeStep(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withValuesCSV + +```jsonnet +withValuesCSV(value) +``` + +PARAMETERS: + +* **value** (`string`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md new file mode 100644 index 0000000000..5387d19959 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md @@ -0,0 +1,760 @@ +# testData + +grafonnet.query.testData + +## Subpackages + +* [csvWave](csvWave.md) + +## Index + +* [`fn withAlias(value)`](#fn-withalias) +* [`fn withChannel(value)`](#fn-withchannel) +* [`fn withCsvContent(value)`](#fn-withcsvcontent) +* [`fn withCsvFileName(value)`](#fn-withcsvfilename) +* [`fn withCsvWave(value)`](#fn-withcsvwave) +* [`fn withCsvWaveMixin(value)`](#fn-withcsvwavemixin) +* [`fn withDatasource(value)`](#fn-withdatasource) +* [`fn withErrorType(value)`](#fn-witherrortype) +* [`fn withHide(value=true)`](#fn-withhide) +* [`fn withLabels(value)`](#fn-withlabels) +* [`fn withLevelColumn(value=true)`](#fn-withlevelcolumn) +* [`fn withLines(value)`](#fn-withlines) +* [`fn withNodes(value)`](#fn-withnodes) +* [`fn withNodesMixin(value)`](#fn-withnodesmixin) +* [`fn withPoints(value)`](#fn-withpoints) +* [`fn withPointsMixin(value)`](#fn-withpointsmixin) +* [`fn withPulseWave(value)`](#fn-withpulsewave) +* [`fn withPulseWaveMixin(value)`](#fn-withpulsewavemixin) +* [`fn withQueryType(value)`](#fn-withquerytype) +* [`fn withRawFrameContent(value)`](#fn-withrawframecontent) +* [`fn withRefId(value)`](#fn-withrefid) +* [`fn withScenarioId(value)`](#fn-withscenarioid) +* [`fn withSeriesCount(value)`](#fn-withseriescount) +* [`fn withSim(value)`](#fn-withsim) +* [`fn withSimMixin(value)`](#fn-withsimmixin) +* [`fn withSpanCount(value)`](#fn-withspancount) +* [`fn withStream(value)`](#fn-withstream) +* [`fn withStreamMixin(value)`](#fn-withstreammixin) +* [`fn withStringInput(value)`](#fn-withstringinput) +* [`fn withUsa(value)`](#fn-withusa) +* [`fn withUsaMixin(value)`](#fn-withusamixin) +* [`obj nodes`](#obj-nodes) + * [`fn withCount(value)`](#fn-nodeswithcount) + * [`fn withType(value)`](#fn-nodeswithtype) +* [`obj pulseWave`](#obj-pulsewave) + * [`fn withOffCount(value)`](#fn-pulsewavewithoffcount) + * [`fn withOffValue(value)`](#fn-pulsewavewithoffvalue) + * [`fn withOnCount(value)`](#fn-pulsewavewithoncount) + * [`fn withOnValue(value)`](#fn-pulsewavewithonvalue) + * [`fn withTimeStep(value)`](#fn-pulsewavewithtimestep) +* [`obj sim`](#obj-sim) + * [`fn withConfig(value)`](#fn-simwithconfig) + * [`fn withConfigMixin(value)`](#fn-simwithconfigmixin) + * [`fn withKey(value)`](#fn-simwithkey) + * [`fn withKeyMixin(value)`](#fn-simwithkeymixin) + * [`fn withLast(value=true)`](#fn-simwithlast) + * [`fn withStream(value=true)`](#fn-simwithstream) + * [`obj key`](#obj-simkey) + * [`fn withTick(value)`](#fn-simkeywithtick) + * [`fn withType(value)`](#fn-simkeywithtype) + * [`fn withUid(value)`](#fn-simkeywithuid) +* [`obj stream`](#obj-stream) + * [`fn withBands(value)`](#fn-streamwithbands) + * [`fn withNoise(value)`](#fn-streamwithnoise) + * [`fn withSpeed(value)`](#fn-streamwithspeed) + * [`fn withSpread(value)`](#fn-streamwithspread) + * [`fn withType(value)`](#fn-streamwithtype) + * [`fn withUrl(value)`](#fn-streamwithurl) +* [`obj usa`](#obj-usa) + * [`fn withFields(value)`](#fn-usawithfields) + * [`fn withFieldsMixin(value)`](#fn-usawithfieldsmixin) + * [`fn withMode(value)`](#fn-usawithmode) + * [`fn withPeriod(value)`](#fn-usawithperiod) + * [`fn withStates(value)`](#fn-usawithstates) + * [`fn withStatesMixin(value)`](#fn-usawithstatesmixin) + +## Fields + +### fn withAlias + +```jsonnet +withAlias(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withChannel + +```jsonnet +withChannel(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withCsvContent + +```jsonnet +withCsvContent(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withCsvFileName + +```jsonnet +withCsvFileName(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withCsvWave + +```jsonnet +withCsvWave(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withCsvWaveMixin + +```jsonnet +withCsvWaveMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withDatasource + +```jsonnet +withDatasource(value) +``` + +PARAMETERS: + +* **value** (`string`) + +For mixed data sources the selected datasource is on the query level. +For non mixed scenarios this is undefined. +TODO find a better way to do this ^ that's friendly to schema +TODO this shouldn't be unknown but DataSourceRef | null +### fn withErrorType + +```jsonnet +withErrorType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"server_panic"`, `"frontend_exception"`, `"frontend_observable"` + + +### fn withHide + +```jsonnet +withHide(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +true if query is disabled (ie should not be returned to the dashboard) +Note this does not always imply that the query should not be executed since +the results from a hidden query may be used as the input to other queries (SSE etc) +### fn withLabels + +```jsonnet +withLabels(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withLevelColumn + +```jsonnet +withLevelColumn(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +### fn withLines + +```jsonnet +withLines(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withNodes + +```jsonnet +withNodes(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withNodesMixin + +```jsonnet +withNodesMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withPoints + +```jsonnet +withPoints(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPointsMixin + +```jsonnet +withPointsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +### fn withPulseWave + +```jsonnet +withPulseWave(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withPulseWaveMixin + +```jsonnet +withPulseWaveMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withQueryType + +```jsonnet +withQueryType(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Specify the query flavor +TODO make this required and give it a default +### fn withRawFrameContent + +```jsonnet +withRawFrameContent(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withRefId + +```jsonnet +withRefId(value) +``` + +PARAMETERS: + +* **value** (`string`) + +A unique identifier for the query within the list of targets. +In server side expressions, the refId is used as a variable name to identify results. +By default, the UI will assign A->Z; however setting meaningful names may be useful. +### fn withScenarioId + +```jsonnet +withScenarioId(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"random_walk"`, `"slow_query"`, `"random_walk_with_error"`, `"random_walk_table"`, `"exponential_heatmap_bucket_data"`, `"linear_heatmap_bucket_data"`, `"no_data_points"`, `"datapoints_outside_range"`, `"csv_metric_values"`, `"predictable_pulse"`, `"predictable_csv_wave"`, `"streaming_client"`, `"simulation"`, `"usa"`, `"live"`, `"grafana_api"`, `"arrow"`, `"annotations"`, `"table_static"`, `"server_error_500"`, `"logs"`, `"node_graph"`, `"flame_graph"`, `"raw_frame"`, `"csv_file"`, `"csv_content"`, `"trace"`, `"manual_entry"`, `"variables-query"` + + +### fn withSeriesCount + +```jsonnet +withSeriesCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withSim + +```jsonnet +withSim(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withSimMixin + +```jsonnet +withSimMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withSpanCount + +```jsonnet +withSpanCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### fn withStream + +```jsonnet +withStream(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withStreamMixin + +```jsonnet +withStreamMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withStringInput + +```jsonnet +withStringInput(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### fn withUsa + +```jsonnet +withUsa(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### fn withUsaMixin + +```jsonnet +withUsaMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +### obj nodes + + +#### fn nodes.withCount + +```jsonnet +nodes.withCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn nodes.withType + +```jsonnet +nodes.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"random"`, `"response"`, `"random edges"` + + +### obj pulseWave + + +#### fn pulseWave.withOffCount + +```jsonnet +pulseWave.withOffCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn pulseWave.withOffValue + +```jsonnet +pulseWave.withOffValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn pulseWave.withOnCount + +```jsonnet +pulseWave.withOnCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn pulseWave.withOnValue + +```jsonnet +pulseWave.withOnValue(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +#### fn pulseWave.withTimeStep + +```jsonnet +pulseWave.withTimeStep(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +### obj sim + + +#### fn sim.withConfig + +```jsonnet +sim.withConfig(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn sim.withConfigMixin + +```jsonnet +sim.withConfigMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn sim.withKey + +```jsonnet +sim.withKey(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn sim.withKeyMixin + +```jsonnet +sim.withKeyMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + + +#### fn sim.withLast + +```jsonnet +sim.withLast(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### fn sim.withStream + +```jsonnet +sim.withStream(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + + +#### obj sim.key + + +##### fn sim.key.withTick + +```jsonnet +sim.key.withTick(value) +``` + +PARAMETERS: + +* **value** (`number`) + + +##### fn sim.key.withType + +```jsonnet +sim.key.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +##### fn sim.key.withUid + +```jsonnet +sim.key.withUid(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj stream + + +#### fn stream.withBands + +```jsonnet +stream.withBands(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn stream.withNoise + +```jsonnet +stream.withNoise(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn stream.withSpeed + +```jsonnet +stream.withSpeed(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn stream.withSpread + +```jsonnet +stream.withSpread(value) +``` + +PARAMETERS: + +* **value** (`integer`) + + +#### fn stream.withType + +```jsonnet +stream.withType(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"signal"`, `"logs"`, `"fetch"` + + +#### fn stream.withUrl + +```jsonnet +stream.withUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +### obj usa + + +#### fn usa.withFields + +```jsonnet +usa.withFields(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn usa.withFieldsMixin + +```jsonnet +usa.withFieldsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn usa.withMode + +```jsonnet +usa.withMode(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn usa.withPeriod + +```jsonnet +usa.withPeriod(value) +``` + +PARAMETERS: + +* **value** (`string`) + + +#### fn usa.withStates + +```jsonnet +usa.withStates(value) +``` + +PARAMETERS: + +* **value** (`array`) + + +#### fn usa.withStatesMixin + +```jsonnet +usa.withStatesMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md new file mode 100644 index 0000000000..0e83b435af --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md @@ -0,0 +1,157 @@ +# serviceaccount + +grafonnet.serviceaccount + +## Index + +* [`fn withAccessControl(value)`](#fn-withaccesscontrol) +* [`fn withAccessControlMixin(value)`](#fn-withaccesscontrolmixin) +* [`fn withAvatarUrl(value)`](#fn-withavatarurl) +* [`fn withId(value)`](#fn-withid) +* [`fn withIsDisabled(value=true)`](#fn-withisdisabled) +* [`fn withLogin(value)`](#fn-withlogin) +* [`fn withName(value)`](#fn-withname) +* [`fn withOrgId(value)`](#fn-withorgid) +* [`fn withRole(value)`](#fn-withrole) +* [`fn withTeams(value)`](#fn-withteams) +* [`fn withTeamsMixin(value)`](#fn-withteamsmixin) +* [`fn withTokens(value)`](#fn-withtokens) + +## Fields + +### fn withAccessControl + +```jsonnet +withAccessControl(value) +``` + +PARAMETERS: + +* **value** (`object`) + +AccessControl metadata associated with a given resource. +### fn withAccessControlMixin + +```jsonnet +withAccessControlMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +AccessControl metadata associated with a given resource. +### fn withAvatarUrl + +```jsonnet +withAvatarUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front +of the service account. +### fn withId + +```jsonnet +withId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +ID is the unique identifier of the service account in the database. +### fn withIsDisabled + +```jsonnet +withIsDisabled(value=true) +``` + +PARAMETERS: + +* **value** (`boolean`) + - default value: `true` + +IsDisabled indicates if the service account is disabled. +### fn withLogin + +```jsonnet +withLogin(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Login of the service account. +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the service account. +### fn withOrgId + +```jsonnet +withOrgId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +OrgId is the ID of an organisation the service account belongs to. +### fn withRole + +```jsonnet +withRole(value) +``` + +PARAMETERS: + +* **value** (`string`) + - valid values: `"Admin"`, `"Editor"`, `"Viewer"` + +OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'. +### fn withTeams + +```jsonnet +withTeams(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Teams is a list of teams the service account belongs to. +### fn withTeamsMixin + +```jsonnet +withTeamsMixin(value) +``` + +PARAMETERS: + +* **value** (`array`) + +Teams is a list of teams the service account belongs to. +### fn withTokens + +```jsonnet +withTokens(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +Tokens is the number of active tokens for the service account. +Tokens are used to authenticate the service account against Grafana. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md new file mode 100644 index 0000000000..c15a0cd98a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md @@ -0,0 +1,105 @@ +# team + +grafonnet.team + +## Index + +* [`fn withAccessControl(value)`](#fn-withaccesscontrol) +* [`fn withAccessControlMixin(value)`](#fn-withaccesscontrolmixin) +* [`fn withAvatarUrl(value)`](#fn-withavatarurl) +* [`fn withEmail(value)`](#fn-withemail) +* [`fn withMemberCount(value)`](#fn-withmembercount) +* [`fn withName(value)`](#fn-withname) +* [`fn withOrgId(value)`](#fn-withorgid) +* [`fn withPermission(value)`](#fn-withpermission) + +## Fields + +### fn withAccessControl + +```jsonnet +withAccessControl(value) +``` + +PARAMETERS: + +* **value** (`object`) + +AccessControl metadata associated with a given resource. +### fn withAccessControlMixin + +```jsonnet +withAccessControlMixin(value) +``` + +PARAMETERS: + +* **value** (`object`) + +AccessControl metadata associated with a given resource. +### fn withAvatarUrl + +```jsonnet +withAvatarUrl(value) +``` + +PARAMETERS: + +* **value** (`string`) + +AvatarUrl is the team's avatar URL. +### fn withEmail + +```jsonnet +withEmail(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Email of the team. +### fn withMemberCount + +```jsonnet +withMemberCount(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +MemberCount is the number of the team members. +### fn withName + +```jsonnet +withName(value) +``` + +PARAMETERS: + +* **value** (`string`) + +Name of the team. +### fn withOrgId + +```jsonnet +withOrgId(value) +``` + +PARAMETERS: + +* **value** (`integer`) + +OrgId is the ID of an organisation the team belongs to. +### fn withPermission + +```jsonnet +withPermission(value) +``` + +PARAMETERS: + +* **value** (`integer`) + - valid values: `0`, `1`, `2`, `4` + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md new file mode 100644 index 0000000000..2e140363fc --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md @@ -0,0 +1,115 @@ +# util + +Helper functions that work well with Grafonnet. + +## Index + +* [`obj dashboard`](#obj-dashboard) + * [`fn getOptionsForCustomQuery(query)`](#fn-dashboardgetoptionsforcustomquery) +* [`obj grid`](#obj-grid) + * [`fn makeGrid(panels, panelWidth, panelHeight, startY)`](#fn-gridmakegrid) + * [`fn wrapPanels(panels, panelWidth, panelHeight, startY)`](#fn-gridwrappanels) +* [`obj panel`](#obj-panel) + * [`fn setPanelIDs(panels)`](#fn-panelsetpanelids) +* [`obj string`](#obj-string) + * [`fn slugify(string)`](#fn-stringslugify) + +## Fields + +### obj dashboard + + +#### fn dashboard.getOptionsForCustomQuery + +```jsonnet +dashboard.getOptionsForCustomQuery(query) +``` + +PARAMETERS: + +* **query** (`string`) + +`getOptionsForCustomQuery` provides values for the `options` and `current` fields. +These are required for template variables of type 'custom'but do not automatically +get populated by Grafana when importing a dashboard from JSON. + +This is a bit of a hack and should always be called on functions that set `type` on +a template variable. Ideally Grafana populates these fields from the `query` value +but this provides a backwards compatible solution. + +### obj grid + + +#### fn grid.makeGrid + +```jsonnet +grid.makeGrid(panels, panelWidth, panelHeight, startY) +``` + +PARAMETERS: + +* **panels** (`array`) +* **panelWidth** (`number`) +* **panelHeight** (`number`) +* **startY** (`number`) + +`makeGrid` returns an array of `panels` organized in a grid with equal `panelWidth` +and `panelHeight`. Row panels are used as "linebreaks", if a Row panel is collapsed, +then all panels below it will be folded into the row. + +This function will use the full grid of 24 columns, setting `panelWidth` to a value +that can divide 24 into equal parts will fill up the page nicely. (1, 2, 3, 4, 6, 8, 12) +Other value for `panelWidth` will leave a gap on the far right. + +Optional `startY` can be provided to place generated grid above or below existing panels. + +#### fn grid.wrapPanels + +```jsonnet +grid.wrapPanels(panels, panelWidth, panelHeight, startY) +``` + +PARAMETERS: + +* **panels** (`array`) +* **panelWidth** (`number`) +* **panelHeight** (`number`) +* **startY** (`number`) + +`wrapPanels` returns an array of `panels` organized in a grid, wrapping up to next 'row' if total width exceeds full grid of 24 columns. +'panelHeight' and 'panelWidth' are used unless panels already have height and width defined. + +### obj panel + + +#### fn panel.setPanelIDs + +```jsonnet +panel.setPanelIDs(panels) +``` + +PARAMETERS: + +* **panels** (`array`) + +`setPanelIDs` ensures that all `panels` have a unique ID, this functions is used in +`dashboard.withPanels` and `dashboard.withPanelsMixin` to provide a consistent +experience. + +used in ../dashboard.libsonnet + +### obj string + + +#### fn string.slugify + +```jsonnet +string.slugify(string) +``` + +PARAMETERS: + +* **string** (`string`) + +`slugify` will create a simple slug from `string`, keeping only alphanumeric +characters and replacing spaces with dashes. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json new file mode 100644 index 0000000000..8479d5a931 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json @@ -0,0 +1,24 @@ +{ + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/jsonnet-libs/docsonnet.git", + "subdir": "doc-util" + } + }, + "version": "master" + }, + { + "source": { + "git": { + "remote": "https://github.com/jsonnet-libs/xtd.git", + "subdir": "" + } + }, + "version": "master" + } + ], + "legacyImports": true, + "version": 1 +} \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet new file mode 100644 index 0000000000..660b0abaed --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet @@ -0,0 +1,24 @@ +// This file is generated, do not manually edit. +{ + '#': { + filename: 'main.libsonnet', + help: 'Jsonnet library for rendering Grafana resources\n## Install\n\n```\njb install github.com/grafana/grafonnet/gen/grafonnet-v10.0.0@main\n```\n\n## Usage\n\n```jsonnet\nlocal grafonnet = import "github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet"\n```\n', + 'import': 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet', + installTemplate: '\n## Install\n\n```\njb install %(url)s@%(version)s\n```\n', + name: 'grafonnet', + url: 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0', + usageTemplate: '\n## Usage\n\n```jsonnet\nlocal %(name)s = import "%(import)s"\n```\n', + version: 'main', + }, + dashboard: import 'clean/dashboard.libsonnet', + librarypanel: import 'raw/librarypanel.libsonnet', + playlist: import 'raw/playlist.libsonnet', + preferences: import 'raw/preferences.libsonnet', + publicdashboard: import 'raw/publicdashboard.libsonnet', + serviceaccount: import 'raw/serviceaccount.libsonnet', + team: import 'raw/team.libsonnet', + panel: import 'panel.libsonnet', + query: import 'query.libsonnet', + util: import 'custom/util/main.libsonnet', + alerting: import 'alerting.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet new file mode 100644 index 0000000000..3e3ea3f036 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet @@ -0,0 +1,31 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel', name: 'panel' }, + candlestick: import 'clean/panel/candlestick.libsonnet', + canvas: import 'clean/panel/canvas.libsonnet', + alertList: import 'clean/panel/alertList.libsonnet', + alertGroups: import 'clean/panel/alertGroups.libsonnet', + annotationsList: import 'clean/panel/annotationsList.libsonnet', + barChart: import 'clean/panel/barChart.libsonnet', + barGauge: import 'clean/panel/barGauge.libsonnet', + dashboardList: import 'clean/panel/dashboardList.libsonnet', + datagrid: import 'clean/panel/datagrid.libsonnet', + debug: import 'clean/panel/debug.libsonnet', + gauge: import 'clean/panel/gauge.libsonnet', + geomap: import 'clean/panel/geomap.libsonnet', + heatmap: import 'clean/panel/heatmap.libsonnet', + histogram: import 'clean/panel/histogram.libsonnet', + logs: import 'clean/panel/logs.libsonnet', + news: import 'clean/panel/news.libsonnet', + nodeGraph: import 'clean/panel/nodeGraph.libsonnet', + pieChart: import 'clean/panel/pieChart.libsonnet', + stat: import 'clean/panel/stat.libsonnet', + stateTimeline: import 'clean/panel/stateTimeline.libsonnet', + statusHistory: import 'clean/panel/statusHistory.libsonnet', + table: import 'clean/panel/table.libsonnet', + text: import 'clean/panel/text.libsonnet', + timeSeries: import 'clean/panel/timeSeries.libsonnet', + trend: import 'clean/panel/trend.libsonnet', + xyChart: import 'clean/panel/xyChart.libsonnet', + row: import 'raw/panel/row.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet new file mode 100644 index 0000000000..fbbe20cf0f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet @@ -0,0 +1,13 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query', name: 'query' }, + azureMonitor: import 'raw/query/azureMonitor.libsonnet', + cloudWatch: import 'raw/query/cloudWatch.libsonnet', + elasticsearch: import 'raw/query/elasticsearch.libsonnet', + loki: import 'clean/query/loki.libsonnet', + parca: import 'raw/query/parca.libsonnet', + grafanaPyroscope: import 'raw/query/grafanaPyroscope.libsonnet', + prometheus: import 'clean/query/prometheus.libsonnet', + tempo: import 'clean/query/tempo.libsonnet', + testData: import 'raw/query/testData.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet new file mode 100644 index 0000000000..0298dfa68b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet @@ -0,0 +1,18 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.contactPoint', name: 'contactPoint' }, + '#withDisableResolveMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDisableResolveMessage(value=true): { disableResolveMessage: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name is used as grouping key in the UI. Contact points with the\nsame name will be grouped in the UI.' } }, + withName(value): { name: value }, + '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withProvenance(value): { provenance: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['alertmanager', ' dingding', ' discord', ' email', ' googlechat', ' kafka', ' line', ' opsgenie', ' pagerduty', ' pushover', ' sensugo', ' slack', ' teams', ' telegram', ' threema', ' victorops', ' webhook', ' wecom'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID is the unique identifier of the contact point. The UID can be\nset by the user.' } }, + withUid(value): { uid: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet new file mode 100644 index 0000000000..edc2472963 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet @@ -0,0 +1,10 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.messageTemplate', name: 'messageTemplate' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withProvenance(value): { provenance: value }, + '#withTemplate': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTemplate(value): { template: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet new file mode 100644 index 0000000000..ced4beb0e9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet @@ -0,0 +1,68 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.muteTiming', name: 'muteTiming' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimeIntervals(value): { time_intervals: (if std.isArray(value) + then value + else [value]) }, + '#withTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimeIntervalsMixin(value): { time_intervals+: (if std.isArray(value) + then value + else [value]) }, + time_intervals+: + { + '#': { help: '', name: 'time_intervals' }, + '#withDaysOfMonth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDaysOfMonth(value): { days_of_month: (if std.isArray(value) + then value + else [value]) }, + '#withDaysOfMonthMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDaysOfMonthMixin(value): { days_of_month+: (if std.isArray(value) + then value + else [value]) }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLocation(value): { location: value }, + '#withMonths': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMonths(value): { months: (if std.isArray(value) + then value + else [value]) }, + '#withMonthsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMonthsMixin(value): { months+: (if std.isArray(value) + then value + else [value]) }, + '#withTimes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimes(value): { times: (if std.isArray(value) + then value + else [value]) }, + '#withTimesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimesMixin(value): { times+: (if std.isArray(value) + then value + else [value]) }, + times+: + { + '#': { help: '', name: 'times' }, + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFrom(value): { from: value }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTo(value): { to: value }, + }, + '#withWeekdays': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withWeekdays(value): { weekdays: (if std.isArray(value) + then value + else [value]) }, + '#withWeekdaysMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withWeekdaysMixin(value): { weekdays+: (if std.isArray(value) + then value + else [value]) }, + '#withYears': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withYears(value): { years: (if std.isArray(value) + then value + else [value]) }, + '#withYearsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withYearsMixin(value): { years+: (if std.isArray(value) + then value + else [value]) }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet new file mode 100644 index 0000000000..957c104280 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet @@ -0,0 +1,84 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.notificationPolicy', name: 'notificationPolicy' }, + '#withContinue': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withContinue(value=true): { continue: value }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupBy(value): { group_by: (if std.isArray(value) + then value + else [value]) }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupByMixin(value): { group_by+: (if std.isArray(value) + then value + else [value]) }, + '#withGroupInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroupInterval(value): { group_interval: value }, + '#withGroupWait': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroupWait(value): { group_wait: value }, + '#withMatch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Deprecated. Remove before v1.0 release.' } }, + withMatch(value): { match: value }, + '#withMatchMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Deprecated. Remove before v1.0 release.' } }, + withMatchMixin(value): { match+: value }, + '#withMatchRe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'MatchRegexps represents a map of Regexp.' } }, + withMatchRe(value): { match_re: value }, + '#withMatchReMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'MatchRegexps represents a map of Regexp.' } }, + withMatchReMixin(value): { match_re+: value }, + '#withMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withMatchers(value): { matchers: (if std.isArray(value) + then value + else [value]) }, + '#withMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withMatchersMixin(value): { matchers+: (if std.isArray(value) + then value + else [value]) }, + matchers+: + { + '#': { help: '', name: 'matchers' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { Name: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, + withType(value): { Type: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValue(value): { Value: value }, + }, + '#withMuteTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMuteTimeIntervals(value): { mute_time_intervals: (if std.isArray(value) + then value + else [value]) }, + '#withMuteTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMuteTimeIntervalsMixin(value): { mute_time_intervals+: (if std.isArray(value) + then value + else [value]) }, + '#withObjectMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withObjectMatchers(value): { object_matchers: (if std.isArray(value) + then value + else [value]) }, + '#withObjectMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, + withObjectMatchersMixin(value): { object_matchers+: (if std.isArray(value) + then value + else [value]) }, + object_matchers+: + { + '#': { help: '', name: 'object_matchers' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { Name: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, + withType(value): { Type: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValue(value): { Value: value }, + }, + '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withProvenance(value): { provenance: value }, + '#withReceiver': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withReceiver(value): { receiver: value }, + '#withRepeatInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRepeatInterval(value): { repeat_interval: value }, + '#withRoutes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRoutes(value): { routes: (if std.isArray(value) + then value + else [value]) }, + '#withRoutesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRoutesMixin(value): { routes+: (if std.isArray(value) + then value + else [value]) }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet new file mode 100644 index 0000000000..e7dced96ae --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet @@ -0,0 +1,89 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.alerting.ruleGroup', name: 'ruleGroup' }, + '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFolderUid(value): { folderUid: value }, + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withInterval(value): { interval: value }, + '#withRules': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRules(value): { rules: (if std.isArray(value) + then value + else [value]) }, + '#withRulesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withRulesMixin(value): { rules+: (if std.isArray(value) + then value + else [value]) }, + rules+: + { + '#': { help: '', name: 'rules' }, + '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAnnotations(value): { annotations: value }, + '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAnnotationsMixin(value): { annotations+: value }, + '#withCondition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withCondition(value): { condition: value }, + '#withData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withData(value): { data: (if std.isArray(value) + then value + else [value]) }, + '#withDataMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDataMixin(value): { data+: (if std.isArray(value) + then value + else [value]) }, + data+: + { + '#': { help: '', name: 'data' }, + '#withDatasourceUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation." } }, + withDatasourceUid(value): { datasourceUid: value }, + '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, + withModel(value): { model: value }, + '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, + withModelMixin(value): { model+: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'RefID is the unique identifier of the query, set by the frontend call.' } }, + withRefId(value): { refId: value }, + '#withRelativeTimeRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, + withRelativeTimeRange(value): { relativeTimeRange: value }, + '#withRelativeTimeRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, + withRelativeTimeRangeMixin(value): { relativeTimeRange+: value }, + relativeTimeRange+: + { + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withFrom(value): { relativeTimeRange+: { from: value } }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withTo(value): { relativeTimeRange+: { to: value } }, + }, + }, + '#withExecErrState': { 'function': { args: [{ default: null, enums: ['OK', 'Alerting', 'Error'], name: 'value', type: 'string' }], help: '' } }, + withExecErrState(value): { execErrState: value }, + '#withFolderUID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFolderUID(value): { folderUID: value }, + '#withFor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, + withFor(value): { 'for': value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withId(value): { id: value }, + '#withIsPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsPaused(value=true): { isPaused: value }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabels(value): { labels: value }, + '#withLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelsMixin(value): { labels+: value }, + '#withNoDataState': { 'function': { args: [{ default: null, enums: ['Alerting', 'NoData', 'OK'], name: 'value', type: 'string' }], help: '' } }, + withNoDataState(value): { noDataState: value }, + '#withOrgID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withOrgID(value): { orgID: value }, + '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withProvenance(value): { provenance: value }, + '#withRuleGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRuleGroup(value): { ruleGroup: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { uid: value }, + '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUpdated(value): { updated: value }, + }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet new file mode 100644 index 0000000000..491bd10d33 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet @@ -0,0 +1,299 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.dashboard', name: 'dashboard' }, + '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO -- should not be a public interface on its own, but required for Veneer' } }, + withAnnotations(value): { annotations: value }, + '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO -- should not be a public interface on its own, but required for Veneer' } }, + withAnnotationsMixin(value): { annotations+: value }, + annotations+: + { + '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withList(value): { annotations+: { list: (if std.isArray(value) + then value + else [value]) } }, + '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withListMixin(value): { annotations+: { list+: (if std.isArray(value) + then value + else [value]) } }, + list+: + { + '#': { help: '', name: 'list' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When enabled the annotation query is issued with every dashboard refresh' } }, + withEnable(value=true): { enable: value }, + '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilter(value): { filter: value }, + '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilterMixin(value): { filter+: value }, + filter+: + { + '#withExclude': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Should the specified panels be included or excluded' } }, + withExclude(value=true): { filter+: { exclude: value } }, + '#withIds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, + withIds(value): { filter+: { ids: (if std.isArray(value) + then value + else [value]) } }, + '#withIdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, + withIdsMixin(value): { filter+: { ids+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Annotation queries can be toggled on or off at the top of the dashboard.\nWhen hide is true, the toggle is not shown in the dashboard.' } }, + withHide(value=true): { hide: value }, + '#withIconColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Color to use for the annotation event markers' } }, + withIconColor(value): { iconColor: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of annotation.' } }, + withName(value): { name: value }, + '#withTarget': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, + withTarget(value): { target: value }, + '#withTargetMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, + withTargetMixin(value): { target+: value }, + target+: + { + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withLimit(value): { target+: { limit: value } }, + '#withMatchAny': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withMatchAny(value=true): { target+: { matchAny: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withTags(value): { target+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withTagsMixin(value): { target+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, + withType(value): { target+: { type: value } }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO -- this should not exist here, it is based on the --grafana-- datasource' } }, + withType(value): { type: value }, + }, + }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description of dashboard.' } }, + withDescription(value): { description: value }, + '#withEditable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether a dashboard is editable or not.' } }, + withEditable(value=true): { editable: value }, + '#withFiscalYearStartMonth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'The month that the fiscal year starts on. 0 = January, 11 = December' } }, + withFiscalYearStartMonth(value=0): { fiscalYearStartMonth: value }, + '#withGnetId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'For dashboards imported from the https://grafana.com/grafana/dashboards/ portal' } }, + withGnetId(value): { gnetId: value }, + '#withGraphTooltip': { 'function': { args: [{ default: 0, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '0 for no shared crosshair or tooltip (default).\n1 for shared crosshair.\n2 for shared crosshair AND shared tooltip.' } }, + withGraphTooltip(value=0): { graphTooltip: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Unique numeric identifier for the dashboard.\nTODO must isolate or remove identifiers local to a Grafana instance...?' } }, + withId(value): { id: value }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withLinks(value): { links: (if std.isArray(value) + then value + else [value]) }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withLinksMixin(value): { links+: (if std.isArray(value) + then value + else [value]) }, + links+: + { + '#': { help: '', name: 'links' }, + '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsDropdown(value=true): { asDropdown: value }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { icon: value }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { includeVars: value }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { keepTime: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTargetBlank(value=true): { targetBlank: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTooltip(value): { tooltip: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { type: value }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUrl(value): { url: value }, + }, + '#withLiveNow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When set to true, the dashboard will redraw panels at an interval matching the pixel width.\nThis will keep data "moving left" regardless of the query refresh rate. This setting helps\navoid dashboards presenting stale live data' } }, + withLiveNow(value=true): { liveNow: value }, + '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanels(value): { panels: (if std.isArray(value) + then value + else [value]) }, + '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanelsMixin(value): { panels+: (if std.isArray(value) + then value + else [value]) }, + '#withRefresh': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, + withRefresh(value): { refresh: value }, + '#withRefreshMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, + withRefreshMixin(value): { refresh+: value }, + '#withRevision': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'This property should only be used in dashboards defined by plugins. It is a quick check\nto see if the version has changed since the last time. Unclear why using the version property\nis insufficient.' } }, + withRevision(value): { revision: value }, + '#withSchemaVersion': { 'function': { args: [{ default: 36, enums: null, name: 'value', type: 'integer' }], help: "Version of the JSON schema, incremented each time a Grafana update brings\nchanges to said schema.\nTODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion" } }, + withSchemaVersion(value=36): { schemaVersion: value }, + '#withSnapshot': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withSnapshot(value): { snapshot: value }, + '#withSnapshotMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withSnapshotMixin(value): { snapshot+: value }, + snapshot+: + { + '#withCreated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withCreated(value): { snapshot+: { created: value } }, + '#withExpires': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withExpires(value): { snapshot+: { expires: value } }, + '#withExternal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'TODO docs' } }, + withExternal(value=true): { snapshot+: { external: value } }, + '#withExternalUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withExternalUrl(value): { snapshot+: { externalUrl: value } }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withId(value): { snapshot+: { id: value } }, + '#withKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withKey(value): { snapshot+: { key: value } }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withName(value): { snapshot+: { name: value } }, + '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withOrgId(value): { snapshot+: { orgId: value } }, + '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withUpdated(value): { snapshot+: { updated: value } }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withUrl(value): { snapshot+: { url: value } }, + '#withUserId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withUserId(value): { snapshot+: { userId: value } }, + }, + '#withStyle': { 'function': { args: [{ default: 'dark', enums: ['dark', 'light'], name: 'value', type: 'string' }], help: 'Theme of dashboard.' } }, + withStyle(value='dark'): { style: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTemplating': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTemplating(value): { templating: value }, + '#withTemplatingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTemplatingMixin(value): { templating+: value }, + templating+: + { + '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withList(value): { templating+: { list: (if std.isArray(value) + then value + else [value]) } }, + '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withListMixin(value): { templating+: { list+: (if std.isArray(value) + then value + else [value]) } }, + list+: + { + '#': { help: '', name: 'list' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The plugin type-id' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specific datasource instance' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDescription(value): { description: value }, + '#withError': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withError(value): { 'error': value }, + '#withErrorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withErrorMixin(value): { 'error'+: value }, + '#withGlobal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withGlobal(value=true): { global: value }, + '#withHide': { 'function': { args: [{ default: null, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '' } }, + withHide(value): { hide: value }, + '#withId': { 'function': { args: [{ default: '00000000-0000-0000-0000-000000000000', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value='00000000-0000-0000-0000-000000000000'): { id: value }, + '#withIndex': { 'function': { args: [{ default: -1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value=-1): { index: value }, + '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLabel(value): { label: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, + withQuery(value): { query: value }, + '#withQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, + withQueryMixin(value): { query+: value }, + '#withRootStateKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRootStateKey(value): { rootStateKey: value }, + '#withSkipUrlSync': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSkipUrlSync(value=true): { skipUrlSync: value }, + '#withState': { 'function': { args: [{ default: null, enums: ['NotStarted', 'Loading', 'Streaming', 'Done', 'Error'], name: 'value', type: 'string' }], help: '' } }, + withState(value): { state: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['query', 'adhoc', 'constant', 'datasource', 'interval', 'textbox', 'custom', 'system'], name: 'value', type: 'string' }], help: 'FROM: packages/grafana-data/src/types/templateVars.ts\nTODO docs\nTODO this implies some wider pattern/discriminated union, probably?' } }, + withType(value): { type: value }, + }, + }, + '#withTime': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Time range for dashboard, e.g. last 6 hours, last 7 days, etc' } }, + withTime(value): { time: value }, + '#withTimeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Time range for dashboard, e.g. last 6 hours, last 7 days, etc' } }, + withTimeMixin(value): { time+: value }, + time+: + { + '#withFrom': { 'function': { args: [{ default: 'now-6h', enums: null, name: 'value', type: 'string' }], help: '' } }, + withFrom(value='now-6h'): { time+: { from: value } }, + '#withTo': { 'function': { args: [{ default: 'now', enums: null, name: 'value', type: 'string' }], help: '' } }, + withTo(value='now'): { time+: { to: value } }, + }, + '#withTimepicker': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs\nTODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes' } }, + withTimepicker(value): { timepicker: value }, + '#withTimepickerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs\nTODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes' } }, + withTimepickerMixin(value): { timepicker+: value }, + timepicker+: + { + '#withCollapse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is collapsed or not.' } }, + withCollapse(value=true): { timepicker+: { collapse: value } }, + '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is enabled or not.' } }, + withEnable(value=true): { timepicker+: { enable: value } }, + '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is visible or not.' } }, + withHidden(value=true): { timepicker+: { hidden: value } }, + '#withRefreshIntervals': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, + withRefreshIntervals(value): { timepicker+: { refresh_intervals: (if std.isArray(value) + then value + else [value]) } }, + '#withRefreshIntervalsMixin': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, + withRefreshIntervalsMixin(value): { timepicker+: { refresh_intervals+: (if std.isArray(value) + then value + else [value]) } }, + '#withTimeOptions': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeOptions(value): { timepicker+: { time_options: (if std.isArray(value) + then value + else [value]) } }, + '#withTimeOptionsMixin': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeOptionsMixin(value): { timepicker+: { time_options+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withTimezone': { 'function': { args: [{ default: 'browser', enums: null, name: 'value', type: 'string' }], help: 'Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".' } }, + withTimezone(value='browser'): { timezone: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title of dashboard.' } }, + withTitle(value): { title: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique dashboard identifier that can be generated by anyone. string (8-40)' } }, + withUid(value): { uid: value }, + '#withVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Version of the dashboard, incremented each time the dashboard is updated.' } }, + withVersion(value): { version: value }, + '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withWeekStart(value): { weekStart: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet new file mode 100644 index 0000000000..f3e4255a13 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet @@ -0,0 +1,65 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.librarypanel', name: 'librarypanel' }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel description' } }, + withDescription(value): { description: value }, + '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Folder UID' } }, + withFolderUid(value): { folderUid: value }, + '#withMeta': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMeta(value): { meta: value }, + '#withMetaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetaMixin(value): { meta+: value }, + meta+: + { + '#withConnectedDashboards': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withConnectedDashboards(value): { meta+: { connectedDashboards: value } }, + '#withCreated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withCreated(value): { meta+: { created: value } }, + '#withCreatedBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCreatedBy(value): { meta+: { createdBy: value } }, + '#withCreatedByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCreatedByMixin(value): { meta+: { createdBy+: value } }, + createdBy+: + { + '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAvatarUrl(value): { meta+: { createdBy+: { avatarUrl: value } } }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withId(value): { meta+: { createdBy+: { id: value } } }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { meta+: { createdBy+: { name: value } } }, + }, + '#withFolderName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFolderName(value): { meta+: { folderName: value } }, + '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFolderUid(value): { meta+: { folderUid: value } }, + '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUpdated(value): { meta+: { updated: value } }, + '#withUpdatedBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUpdatedBy(value): { meta+: { updatedBy: value } }, + '#withUpdatedByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUpdatedByMixin(value): { meta+: { updatedBy+: value } }, + updatedBy+: + { + '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAvatarUrl(value): { meta+: { updatedBy+: { avatarUrl: value } } }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withId(value): { meta+: { updatedBy+: { id: value } } }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { meta+: { updatedBy+: { name: value } } }, + }, + }, + '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: "TODO: should be the same panel schema defined in dashboard\nTypescript: Omit;" } }, + withModel(value): { model: value }, + '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: "TODO: should be the same panel schema defined in dashboard\nTypescript: Omit;" } }, + withModelMixin(value): { model+: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel name (also saved in the model)' } }, + withName(value): { name: value }, + '#withSchemaVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Dashboard version when this was saved (zero if unknown)' } }, + withSchemaVersion(value): { schemaVersion: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel type (from inside the model)' } }, + withType(value): { type: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Library element UID' } }, + withUid(value): { uid: value }, + '#withVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'panel version, incremented each time the dashboard is updated.' } }, + withVersion(value): { version: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet new file mode 100644 index 0000000000..bb87b410e2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet @@ -0,0 +1,413 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel', name: 'panel' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description.' } }, + withDescription(value): { description: value }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withColor(value): { fieldConfig+: { defaults+: { color: value } } }, + '#withColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withColorMixin(value): { fieldConfig+: { defaults+: { color+: value } } }, + color+: + { + '#withFixedColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Stores the fixed color value if mode is fixed' } }, + withFixedColor(value): { fieldConfig+: { defaults+: { color+: { fixedColor: value } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The main color scheme mode' } }, + withMode(value): { fieldConfig+: { defaults+: { color+: { mode: value } } } }, + '#withSeriesBy': { 'function': { args: [{ default: null, enums: ['min', 'max', 'last'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSeriesBy(value): { fieldConfig+: { defaults+: { color+: { seriesBy: value } } } }, + }, + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'custom is specified by the PanelFieldConfig field\nin panel plugin schemas.' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'custom is specified by the PanelFieldConfig field\nin panel plugin schemas.' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Significant digits (for display)' } }, + withDecimals(value): { fieldConfig+: { defaults+: { decimals: value } } }, + '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Human readable field metadata' } }, + withDescription(value): { fieldConfig+: { defaults+: { description: value } } }, + '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The display value for this field. This supports template variables blank is auto' } }, + withDisplayName(value): { fieldConfig+: { defaults+: { displayName: value } } }, + '#withDisplayNameFromDS': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This can be used by data sources that return and explicit naming structure for values and labels\nWhen this property is configured, this value is used rather than the default naming strategy.' } }, + withDisplayNameFromDS(value): { fieldConfig+: { defaults+: { displayNameFromDS: value } } }, + '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source field supports ad-hoc filters' } }, + withFilterable(value=true): { fieldConfig+: { defaults+: { filterable: value } } }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, + withLinks(value): { fieldConfig+: { defaults+: { links: (if std.isArray(value) + then value + else [value]) } } }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, + withLinksMixin(value): { fieldConfig+: { defaults+: { links+: (if std.isArray(value) + then value + else [value]) } } }, + '#withMappings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, + withMappings(value): { fieldConfig+: { defaults+: { mappings: (if std.isArray(value) + then value + else [value]) } } }, + '#withMappingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, + withMappingsMixin(value): { fieldConfig+: { defaults+: { mappings+: (if std.isArray(value) + then value + else [value]) } } }, + mappings+: + { + '#': { help: '', name: 'mappings' }, + ValueMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + RangeMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'to and from are `number | null` in current ts, really not sure what to do' } }, + withFrom(value): { options+: { from: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withTo(value): { options+: { to: value } }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + RegexMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPattern(value): { options+: { pattern: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + SpecialValueMap+: + { + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withMatch': { 'function': { args: [{ default: null, enums: ['true', 'false'], name: 'value', type: 'string' }], help: '' } }, + withMatch(value): { options+: { match: value } }, + '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPattern(value): { options+: { pattern: value } }, + '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResult(value): { options+: { result: value } }, + '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withResultMixin(value): { options+: { result+: value } }, + result+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withColor(value): { options+: { result+: { color: value } } }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { options+: { result+: { icon: value } } }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withIndex(value): { options+: { result+: { index: value } } }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withText(value): { options+: { result+: { text: value } } }, + }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { fieldConfig+: { defaults+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { fieldConfig+: { defaults+: { min: value } } }, + '#withNoValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alternative to empty string' } }, + withNoValue(value): { fieldConfig+: { defaults+: { noValue: value } } }, + '#withPath': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An explicit path to the field in the datasource. When the frame meta includes a path,\nThis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used to update the results' } }, + withPath(value): { fieldConfig+: { defaults+: { path: value } } }, + '#withThresholds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withThresholds(value): { fieldConfig+: { defaults+: { thresholds: value } } }, + '#withThresholdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withThresholdsMixin(value): { fieldConfig+: { defaults+: { thresholds+: value } } }, + thresholds+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['absolute', 'percentage'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { fieldConfig+: { defaults+: { thresholds+: { mode: value } } } }, + '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, + withSteps(value): { fieldConfig+: { defaults+: { thresholds+: { steps: (if std.isArray(value) + then value + else [value]) } } } }, + '#withStepsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, + withStepsMixin(value): { fieldConfig+: { defaults+: { thresholds+: { steps+: (if std.isArray(value) + then value + else [value]) } } } }, + steps+: + { + '#': { help: '', name: 'steps' }, + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, + withColor(value): { color: value }, + '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Threshold index, an old property that is not needed an should only appear in older dashboards' } }, + withIndex(value): { index: value }, + '#withState': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO are the values here enumerable into a disjunction?\nSome seem to be listed in typescript comment' } }, + withState(value): { state: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs\nFIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON' } }, + withValue(value): { value: value }, + }, + }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Numeric Options' } }, + withUnit(value): { fieldConfig+: { defaults+: { unit: value } } }, + '#withWriteable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source can write a value to the path. Auth/authz are supported separately' } }, + withWriteable(value=true): { fieldConfig+: { defaults+: { writeable: value } } }, + }, + '#withOverrides': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withOverrides(value): { fieldConfig+: { overrides: (if std.isArray(value) + then value + else [value]) } }, + '#withOverridesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withOverridesMixin(value): { fieldConfig+: { overrides+: (if std.isArray(value) + then value + else [value]) } }, + overrides+: + { + '#': { help: '', name: 'overrides' }, + '#withMatcher': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMatcher(value): { matcher: value }, + '#withMatcherMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMatcherMixin(value): { matcher+: value }, + matcher+: + { + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { matcher+: { id: value } }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptions(value): { matcher+: { options: value } }, + }, + '#withProperties': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withProperties(value): { properties: (if std.isArray(value) + then value + else [value]) }, + '#withPropertiesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPropertiesMixin(value): { properties+: (if std.isArray(value) + then value + else [value]) }, + properties+: + { + '#': { help: '', name: 'properties' }, + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { id: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValue(value): { value: value }, + }, + }, + }, + '#withGridPos': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGridPos(value): { gridPos: value }, + '#withGridPosMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGridPosMixin(value): { gridPos+: value }, + gridPos+: + { + '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withH(value=9): { gridPos+: { h: value } }, + '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, + withStatic(value=true): { gridPos+: { static: value } }, + '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withW(value=12): { gridPos+: { w: value } }, + '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, + withX(value=0): { gridPos+: { x: value } }, + '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, + withY(value=0): { gridPos+: { y: value } }, + }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withId(value): { id: value }, + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withInterval(value): { interval: value }, + '#withLibraryPanel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLibraryPanel(value): { libraryPanel: value }, + '#withLibraryPanelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLibraryPanelMixin(value): { libraryPanel+: value }, + libraryPanel+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { libraryPanel+: { name: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { libraryPanel+: { uid: value } }, + }, + '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, + withLinks(value): { links: (if std.isArray(value) + then value + else [value]) }, + '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, + withLinksMixin(value): { links+: (if std.isArray(value) + then value + else [value]) }, + links+: + { + '#': { help: '', name: 'links' }, + '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsDropdown(value=true): { asDropdown: value }, + '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withIcon(value): { icon: value }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { includeVars: value }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { keepTime: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTargetBlank(value=true): { targetBlank: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTooltip(value): { tooltip: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { type: value }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUrl(value): { url: value }, + }, + '#withMaxDataPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs' } }, + withMaxDataPoints(value): { maxDataPoints: value }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'options is specified by the PanelOptions field in panel\nplugin schemas.' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'options is specified by the PanelOptions field in panel\nplugin schemas.' } }, + withOptionsMixin(value): { options+: value }, + '#withPluginVersion': { 'function': { args: [], help: '' } }, + withPluginVersion(): { pluginVersion: 'v10.0.0' }, + '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, + withRepeat(value): { repeat: value }, + '#withRepeatDirection': { 'function': { args: [{ default: 'h', enums: ['h', 'v'], name: 'value', type: 'string' }], help: "Direction to repeat in if 'repeat' is set.\n\"h\" for horizontal, \"v\" for vertical.\nTODO this is probably optional" } }, + withRepeatDirection(value='h'): { repeatDirection: value }, + '#withRepeatPanelId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Id of the repeating panel.' } }, + withRepeatPanelId(value): { repeatPanelId: value }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTags(value): { tags: (if std.isArray(value) + then value + else [value]) }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTagsMixin(value): { tags+: (if std.isArray(value) + then value + else [value]) }, + '#withTargets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTargets(value): { targets: (if std.isArray(value) + then value + else [value]) }, + '#withTargetsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTargetsMixin(value): { targets+: (if std.isArray(value) + then value + else [value]) }, + '#withThresholds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs - seems to be an old field from old dashboard alerts?' } }, + withThresholds(value): { thresholds: (if std.isArray(value) + then value + else [value]) }, + '#withThresholdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs - seems to be an old field from old dashboard alerts?' } }, + withThresholdsMixin(value): { thresholds+: (if std.isArray(value) + then value + else [value]) }, + '#withTimeFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withTimeFrom(value): { timeFrom: value }, + '#withTimeRegions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeRegions(value): { timeRegions: (if std.isArray(value) + then value + else [value]) }, + '#withTimeRegionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, + withTimeRegionsMixin(value): { timeRegions+: (if std.isArray(value) + then value + else [value]) }, + '#withTimeShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, + withTimeShift(value): { timeShift: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel title.' } }, + withTitle(value): { title: value }, + '#withTransformations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTransformations(value): { transformations: (if std.isArray(value) + then value + else [value]) }, + '#withTransformationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTransformationsMixin(value): { transformations+: (if std.isArray(value) + then value + else [value]) }, + transformations+: + { + '#': { help: '', name: 'transformations' }, + '#withDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Disabled transformations are skipped' } }, + withDisabled(value=true): { disabled: value }, + '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilter(value): { filter: value }, + '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFilterMixin(value): { filter+: value }, + filter+: + { + '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value=''): { filter+: { id: value } }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptions(value): { filter+: { options: value } }, + }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique identifier of transformer' } }, + withId(value): { id: value }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Options to be passed to the transformer\nValid options depend on the transformer id' } }, + withOptions(value): { options: value }, + }, + '#withTransparent': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether to display the panel without a background.' } }, + withTransparent(value=true): { transparent: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel plugin type id. May not be empty.' } }, + withType(value): { type: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet new file mode 100644 index 0000000000..bbf840bc1a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet @@ -0,0 +1,19 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.alertGroups', name: 'alertGroups' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withAlertmanager': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the alertmanager used as a source for alerts' } }, + withAlertmanager(value): { options+: { alertmanager: value } }, + '#withExpandAll': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Expand all alert groups by default' } }, + withExpandAll(value=true): { options+: { expandAll: value } }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comma-separated list of values used to filter alert results' } }, + withLabels(value): { options+: { labels: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'alertGroups' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet new file mode 100644 index 0000000000..14b01c54d8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet @@ -0,0 +1,124 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.alertList', name: 'alertList' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAlertListOptions(value): { options+: { AlertListOptions: value } }, + '#withAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAlertListOptionsMixin(value): { options+: { AlertListOptions+: value } }, + AlertListOptions+: + { + '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertName(value): { options+: { alertName: value } }, + '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, + '#withDashboardTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDashboardTitle(value): { options+: { dashboardTitle: value } }, + '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFolderId(value): { options+: { folderId: value } }, + '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMaxItems(value): { options+: { maxItems: value } }, + '#withShowOptions': { 'function': { args: [{ default: null, enums: ['current', 'changes'], name: 'value', type: 'string' }], help: '' } }, + withShowOptions(value): { options+: { showOptions: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilter(value): { options+: { stateFilter: value } }, + '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilterMixin(value): { options+: { stateFilter+: value } }, + stateFilter+: + { + '#withAlerting': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAlerting(value=true): { options+: { stateFilter+: { alerting: value } } }, + '#withExecutionError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withExecutionError(value=true): { options+: { stateFilter+: { execution_error: value } } }, + '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNoData(value=true): { options+: { stateFilter+: { no_data: value } } }, + '#withOk': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOk(value=true): { options+: { stateFilter+: { ok: value } } }, + '#withPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPaused(value=true): { options+: { stateFilter+: { paused: value } } }, + '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPending(value=true): { options+: { stateFilter+: { pending: value } } }, + }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withUnifiedAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnifiedAlertListOptions(value): { options+: { UnifiedAlertListOptions: value } }, + '#withUnifiedAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnifiedAlertListOptionsMixin(value): { options+: { UnifiedAlertListOptions+: value } }, + UnifiedAlertListOptions+: + { + '#withAlertInstanceLabelFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertInstanceLabelFilter(value): { options+: { alertInstanceLabelFilter: value } }, + '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlertName(value): { options+: { alertName: value } }, + '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withDatasource(value): { options+: { datasource: value } }, + '#withFolder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFolder(value): { options+: { folder: value } }, + '#withFolderMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFolderMixin(value): { options+: { folder+: value } }, + folder+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withId(value): { options+: { folder+: { id: value } } }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { options+: { folder+: { title: value } } }, + }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupBy(value): { options+: { groupBy: (if std.isArray(value) + then value + else [value]) } }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withGroupByMixin(value): { options+: { groupBy+: (if std.isArray(value) + then value + else [value]) } }, + '#withGroupMode': { 'function': { args: [{ default: null, enums: ['default', 'custom'], name: 'value', type: 'string' }], help: '' } }, + withGroupMode(value): { options+: { groupMode: value } }, + '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMaxItems(value): { options+: { maxItems: value } }, + '#withShowInstances': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowInstances(value=true): { options+: { showInstances: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilter(value): { options+: { stateFilter: value } }, + '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStateFilterMixin(value): { options+: { stateFilter+: value } }, + stateFilter+: + { + '#withError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withError(value=true): { options+: { stateFilter+: { 'error': value } } }, + '#withFiring': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withFiring(value=true): { options+: { stateFilter+: { firing: value } } }, + '#withInactive': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withInactive(value=true): { options+: { stateFilter+: { inactive: value } } }, + '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNoData(value=true): { options+: { stateFilter+: { noData: value } } }, + '#withNormal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNormal(value=true): { options+: { stateFilter+: { normal: value } } }, + '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPending(value=true): { options+: { stateFilter+: { pending: value } } }, + }, + '#withViewMode': { 'function': { args: [{ default: null, enums: ['list', 'stat'], name: 'value', type: 'string' }], help: '' } }, + withViewMode(value): { options+: { viewMode: value } }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'alertlist' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet new file mode 100644 index 0000000000..d88a367852 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet @@ -0,0 +1,39 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.annotationsList', name: 'annotationsList' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLimit': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLimit(value=10): { options+: { limit: value } }, + '#withNavigateAfter': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, + withNavigateAfter(value='10m'): { options+: { navigateAfter: value } }, + '#withNavigateBefore': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, + withNavigateBefore(value='10m'): { options+: { navigateBefore: value } }, + '#withNavigateToPanel': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withNavigateToPanel(value=true): { options+: { navigateToPanel: value } }, + '#withOnlyFromThisDashboard': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOnlyFromThisDashboard(value=true): { options+: { onlyFromThisDashboard: value } }, + '#withOnlyInTimeRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withOnlyInTimeRange(value=true): { options+: { onlyInTimeRange: value } }, + '#withShowTags': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTags(value=true): { options+: { showTags: value } }, + '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTime(value=true): { options+: { showTime: value } }, + '#withShowUser': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowUser(value=true): { options+: { showUser: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'annolist' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet new file mode 100644 index 0000000000..5163d5f33a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet @@ -0,0 +1,168 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.barChart', name: 'barChart' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, + withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withBarRadius': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Controls the radius of each bar.' } }, + withBarRadius(value=0): { options+: { barRadius: value } }, + '#withBarWidth': { 'function': { args: [{ default: 0.96999999999999997, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of bars. 1 = Max width, 0 = Min width.' } }, + withBarWidth(value=0.96999999999999997): { options+: { barWidth: value } }, + '#withColorByField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use the color value for a sibling field to color each bar value.' } }, + withColorByField(value): { options+: { colorByField: value } }, + '#withFullHighlight': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enables mode which highlights the entire bar area and shows tooltip when cursor\nhovers over highlighted area' } }, + withFullHighlight(value=true): { options+: { fullHighlight: value } }, + '#withGroupWidth': { 'function': { args: [{ default: 0.69999999999999996, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of groups. 1 = max with, 0 = min width.' } }, + withGroupWidth(value=0.69999999999999996): { options+: { groupWidth: value } }, + '#withOrientation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the orientation of the bar chart, either vertical or horizontal.' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This controls whether values are shown on top or to the left of bars.' } }, + withShowValue(value): { options+: { showValue: value } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls whether bars are stacked or not, either normally or in percent mode.' } }, + withStacking(value): { options+: { stacking: value } }, + '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Manually select which field from the dataset to represent the x field.' } }, + withXField(value): { options+: { xField: value } }, + '#withXTickLabelMaxLength': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the max length that a label can have before it is truncated.' } }, + withXTickLabelMaxLength(value): { options+: { xTickLabelMaxLength: value } }, + '#withXTickLabelRotation': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the rotation of the x axis labels.' } }, + withXTickLabelRotation(value=0): { options+: { xTickLabelRotation: value } }, + '#withXTickLabelSpacing': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the spacing between x axis labels.\nnegative values indicate backwards skipping behavior' } }, + withXTickLabelSpacing(value=0): { options+: { xTickLabelSpacing: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'barchart' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet new file mode 100644 index 0000000000..094ec96b22 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet @@ -0,0 +1,57 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.barGauge', name: 'barGauge' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['basic', 'lcd', 'gradient'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes\nfor the bar gauge component of Grafana UI' } }, + withDisplayMode(value): { options+: { displayMode: value } }, + '#withMinVizHeight': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinVizHeight(value=10): { options+: { minVizHeight: value } }, + '#withMinVizWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinVizWidth(value=0): { options+: { minVizWidth: value } }, + '#withShowUnfilled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowUnfilled(value=true): { options+: { showUnfilled: value } }, + '#withValueMode': { 'function': { args: [{ default: null, enums: ['color', 'text', 'hidden'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, + withValueMode(value): { options+: { valueMode: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'bargauge' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet new file mode 100644 index 0000000000..5a06bc0c9c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet @@ -0,0 +1,6 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.candlestick', name: 'candlestick' }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'candlestick' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet new file mode 100644 index 0000000000..48e4ecabc3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet @@ -0,0 +1,6 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.canvas', name: 'canvas' }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'canvas' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet new file mode 100644 index 0000000000..55afdd9e22 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet @@ -0,0 +1,39 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.dashboardList', name: 'dashboardList' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFolderId(value): { options+: { folderId: value } }, + '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIncludeVars(value=true): { options+: { includeVars: value } }, + '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withKeepTime(value=true): { options+: { keepTime: value } }, + '#withMaxItems': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMaxItems(value=10): { options+: { maxItems: value } }, + '#withQuery': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, + withQuery(value=''): { options+: { query: value } }, + '#withShowHeadings': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowHeadings(value=true): { options+: { showHeadings: value } }, + '#withShowRecentlyViewed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowRecentlyViewed(value=true): { options+: { showRecentlyViewed: value } }, + '#withShowSearch': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowSearch(value=true): { options+: { showSearch: value } }, + '#withShowStarred': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowStarred(value=true): { options+: { showStarred: value } }, + '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTags(value): { options+: { tags: (if std.isArray(value) + then value + else [value]) } }, + '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTagsMixin(value): { options+: { tags+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'dashlist' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet new file mode 100644 index 0000000000..a7eeb44a50 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet @@ -0,0 +1,15 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.datagrid', name: 'datagrid' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withSelectedSeries': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSelectedSeries(value=0): { options+: { selectedSeries: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'datagrid' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet new file mode 100644 index 0000000000..b3f01fb7a4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet @@ -0,0 +1,43 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.debug', name: 'debug' }, + '#withDebugMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, + withDebugMode(value): { DebugMode: value }, + '#withUpdateConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUpdateConfig(value): { UpdateConfig: value }, + '#withUpdateConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUpdateConfigMixin(value): { UpdateConfig+: value }, + UpdateConfig+: + { + '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDataChanged(value=true): { UpdateConfig+: { dataChanged: value } }, + '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withRender(value=true): { UpdateConfig+: { render: value } }, + '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSchemaChanged(value=true): { UpdateConfig+: { schemaChanged: value } }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withCounters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCounters(value): { options+: { counters: value } }, + '#withCountersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCountersMixin(value): { options+: { counters+: value } }, + counters+: + { + '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withDataChanged(value=true): { options+: { counters+: { dataChanged: value } } }, + '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withRender(value=true): { options+: { counters+: { render: value } } }, + '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSchemaChanged(value=true): { options+: { counters+: { schemaChanged: value } } }, + }, + '#withMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { mode: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'debug' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet new file mode 100644 index 0000000000..8a5d39a60e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet @@ -0,0 +1,51 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.gauge', name: 'gauge' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withShowThresholdLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowThresholdLabels(value=true): { options+: { showThresholdLabels: value } }, + '#withShowThresholdMarkers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowThresholdMarkers(value=true): { options+: { showThresholdMarkers: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'gauge' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet new file mode 100644 index 0000000000..435856e554 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet @@ -0,0 +1,216 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.geomap', name: 'geomap' }, + '#withControlsOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControlsOptions(value): { ControlsOptions: value }, + '#withControlsOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControlsOptionsMixin(value): { ControlsOptions+: value }, + ControlsOptions+: + { + '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, + withMouseWheelZoom(value=true): { ControlsOptions+: { mouseWheelZoom: value } }, + '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, + withShowAttribution(value=true): { ControlsOptions+: { showAttribution: value } }, + '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, + withShowDebug(value=true): { ControlsOptions+: { showDebug: value } }, + '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, + withShowMeasure(value=true): { ControlsOptions+: { showMeasure: value } }, + '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, + withShowScale(value=true): { ControlsOptions+: { showScale: value } }, + '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, + withShowZoom(value=true): { ControlsOptions+: { showZoom: value } }, + }, + '#withMapCenterID': { 'function': { args: [{ default: null, enums: ['zero', 'coords', 'fit'], name: 'value', type: 'string' }], help: '' } }, + withMapCenterID(value): { MapCenterID: value }, + '#withMapViewConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMapViewConfig(value): { MapViewConfig: value }, + '#withMapViewConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMapViewConfigMixin(value): { MapViewConfig+: value }, + MapViewConfig+: + { + '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAllLayers(value=true): { MapViewConfig+: { allLayers: value } }, + '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value='zero'): { MapViewConfig+: { id: value } }, + '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLastOnly(value=true): { MapViewConfig+: { lastOnly: value } }, + '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLat(value=0): { MapViewConfig+: { lat: value } }, + '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLayer(value): { MapViewConfig+: { layer: value } }, + '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLon(value=0): { MapViewConfig+: { lon: value } }, + '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMaxZoom(value): { MapViewConfig+: { maxZoom: value } }, + '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinZoom(value): { MapViewConfig+: { minZoom: value } }, + '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withPadding(value): { MapViewConfig+: { padding: value } }, + '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShared(value=true): { MapViewConfig+: { shared: value } }, + '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withZoom(value=1): { MapViewConfig+: { zoom: value } }, + }, + '#withTooltipMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, + withTooltipMode(value): { TooltipMode: value }, + '#withTooltipOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltipOptions(value): { TooltipOptions: value }, + '#withTooltipOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltipOptionsMixin(value): { TooltipOptions+: value }, + TooltipOptions+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { TooltipOptions+: { mode: value } }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withBasemap': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withBasemap(value): { options+: { basemap: value } }, + '#withBasemapMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withBasemapMixin(value): { options+: { basemap+: value } }, + basemap+: + { + '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, + withConfig(value): { options+: { basemap+: { config: value } } }, + '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, + withFilterData(value): { options+: { basemap+: { filterData: value } } }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocation(value): { options+: { basemap+: { location: value } } }, + '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocationMixin(value): { options+: { basemap+: { location+: value } } }, + location+: + { + '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, + withGazetteer(value): { options+: { basemap+: { location+: { gazetteer: value } } } }, + '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, + withGeohash(value): { options+: { basemap+: { location+: { geohash: value } } } }, + '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLatitude(value): { options+: { basemap+: { location+: { latitude: value } } } }, + '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLongitude(value): { options+: { basemap+: { location+: { longitude: value } } } }, + '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLookup(value): { options+: { basemap+: { location+: { lookup: value } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { basemap+: { location+: { mode: value } } } }, + '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withWkt(value): { options+: { basemap+: { location+: { wkt: value } } } }, + }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, + withName(value): { options+: { basemap+: { name: value } } }, + '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, + withOpacity(value): { options+: { basemap+: { opacity: value } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, + withTooltip(value=true): { options+: { basemap+: { tooltip: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { options+: { basemap+: { type: value } } }, + }, + '#withControls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControls(value): { options+: { controls: value } }, + '#withControlsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withControlsMixin(value): { options+: { controls+: value } }, + controls+: + { + '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, + withMouseWheelZoom(value=true): { options+: { controls+: { mouseWheelZoom: value } } }, + '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, + withShowAttribution(value=true): { options+: { controls+: { showAttribution: value } } }, + '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, + withShowDebug(value=true): { options+: { controls+: { showDebug: value } } }, + '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, + withShowMeasure(value=true): { options+: { controls+: { showMeasure: value } } }, + '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, + withShowScale(value=true): { options+: { controls+: { showScale: value } } }, + '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, + withShowZoom(value=true): { options+: { controls+: { showZoom: value } } }, + }, + '#withLayers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withLayers(value): { options+: { layers: (if std.isArray(value) + then value + else [value]) } }, + '#withLayersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withLayersMixin(value): { options+: { layers+: (if std.isArray(value) + then value + else [value]) } }, + layers+: + { + '#': { help: '', name: 'layers' }, + '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, + withConfig(value): { config: value }, + '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, + withFilterData(value): { filterData: value }, + '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocation(value): { location: value }, + '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLocationMixin(value): { location+: value }, + location+: + { + '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, + withGazetteer(value): { location+: { gazetteer: value } }, + '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, + withGeohash(value): { location+: { geohash: value } }, + '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLatitude(value): { location+: { latitude: value } }, + '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLongitude(value): { location+: { longitude: value } }, + '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLookup(value): { location+: { lookup: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { location+: { mode: value } }, + '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withWkt(value): { location+: { wkt: value } }, + }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, + withName(value): { name: value }, + '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, + withOpacity(value): { opacity: value }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, + withTooltip(value=true): { tooltip: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + }, + '#withView': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withView(value): { options+: { view: value } }, + '#withViewMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withViewMixin(value): { options+: { view+: value } }, + view+: + { + '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAllLayers(value=true): { options+: { view+: { allLayers: value } } }, + '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value='zero'): { options+: { view+: { id: value } } }, + '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLastOnly(value=true): { options+: { view+: { lastOnly: value } } }, + '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLat(value=0): { options+: { view+: { lat: value } } }, + '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLayer(value): { options+: { view+: { layer: value } } }, + '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLon(value=0): { options+: { view+: { lon: value } } }, + '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMaxZoom(value): { options+: { view+: { maxZoom: value } } }, + '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withMinZoom(value): { options+: { view+: { minZoom: value } } }, + '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withPadding(value): { options+: { view+: { padding: value } } }, + '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShared(value=true): { options+: { view+: { shared: value } } }, + '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withZoom(value=1): { options+: { view+: { zoom: value } } }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'geomap' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet new file mode 100644 index 0000000000..89dceafbb2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet @@ -0,0 +1,414 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.heatmap', name: 'heatmap' }, + '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValues(value): { CellValues: value }, + '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValuesMixin(value): { CellValues+: value }, + CellValues+: + { + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, + withDecimals(value): { CellValues+: { decimals: value } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, + withUnit(value): { CellValues+: { unit: value } }, + }, + '#withExemplarConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplarConfig(value): { ExemplarConfig: value }, + '#withExemplarConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplarConfigMixin(value): { ExemplarConfig+: value }, + ExemplarConfig+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, + withColor(value): { ExemplarConfig+: { color: value } }, + }, + '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRange(value): { FilterValueRange: value }, + '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRangeMixin(value): { FilterValueRange+: value }, + FilterValueRange+: + { + '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, + withGe(value): { FilterValueRange+: { ge: value } }, + '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, + withLe(value): { FilterValueRange+: { le: value } }, + }, + '#withHeatmapColorMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, + withHeatmapColorMode(value): { HeatmapColorMode: value }, + '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptions(value): { HeatmapColorOptions: value }, + '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptionsMixin(value): { HeatmapColorOptions+: value }, + HeatmapColorOptions+: + { + '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, + withExponent(value): { HeatmapColorOptions+: { exponent: value } }, + '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, + withFill(value): { HeatmapColorOptions+: { fill: value } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, + withMax(value): { HeatmapColorOptions+: { max: value } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, + withMin(value): { HeatmapColorOptions+: { min: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, + withMode(value): { HeatmapColorOptions+: { mode: value } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, + withReverse(value=true): { HeatmapColorOptions+: { reverse: value } }, + '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, + withScale(value): { HeatmapColorOptions+: { scale: value } }, + '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, + withScheme(value): { HeatmapColorOptions+: { scheme: value } }, + '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, + withSteps(value): { HeatmapColorOptions+: { steps: value } }, + }, + '#withHeatmapColorScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, + withHeatmapColorScale(value): { HeatmapColorScale: value }, + '#withHeatmapLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withHeatmapLegend(value): { HeatmapLegend: value }, + '#withHeatmapLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withHeatmapLegendMixin(value): { HeatmapLegend+: value }, + HeatmapLegend+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, + withShow(value=true): { HeatmapLegend+: { show: value } }, + }, + '#withHeatmapTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withHeatmapTooltip(value): { HeatmapTooltip: value }, + '#withHeatmapTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withHeatmapTooltipMixin(value): { HeatmapTooltip+: value }, + HeatmapTooltip+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, + withShow(value=true): { HeatmapTooltip+: { show: value } }, + '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, + withYHistogram(value=true): { HeatmapTooltip+: { yHistogram: value } }, + }, + '#withRowsHeatmapOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsHeatmapOptions(value): { RowsHeatmapOptions: value }, + '#withRowsHeatmapOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsHeatmapOptionsMixin(value): { RowsHeatmapOptions+: value }, + RowsHeatmapOptions+: + { + '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, + withLayout(value): { RowsHeatmapOptions+: { layout: value } }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, + withValue(value): { RowsHeatmapOptions+: { value: value } }, + }, + '#withYAxisConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxisConfig(value): { YAxisConfig: value }, + '#withYAxisConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxisConfigMixin(value): { YAxisConfig+: value }, + YAxisConfig+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { YAxisConfig+: { axisCenteredZero: value } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { YAxisConfig+: { axisColorMode: value } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { YAxisConfig+: { axisGridShow: value } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { YAxisConfig+: { axisLabel: value } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { YAxisConfig+: { axisPlacement: value } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { YAxisConfig+: { axisSoftMax: value } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { YAxisConfig+: { axisSoftMin: value } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { YAxisConfig+: { axisWidth: value } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { YAxisConfig+: { scaleDistribution: value } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { YAxisConfig+: { scaleDistribution+: value } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { YAxisConfig+: { scaleDistribution+: { linearThreshold: value } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { YAxisConfig+: { scaleDistribution+: { log: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { YAxisConfig+: { scaleDistribution+: { type: value } } }, + }, + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, + withDecimals(value): { YAxisConfig+: { decimals: value } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, + withMax(value): { YAxisConfig+: { max: value } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, + withMin(value): { YAxisConfig+: { min: value } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, + withReverse(value=true): { YAxisConfig+: { reverse: value } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, + withUnit(value): { YAxisConfig+: { unit: value } }, + }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withCalculate': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the heatmap should be calculated from data' } }, + withCalculate(value=true): { options+: { calculate: value } }, + '#withCalculation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCalculation(value): { options+: { calculation: value } }, + '#withCalculationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCalculationMixin(value): { options+: { calculation+: value } }, + calculation+: + { + '#withXBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXBuckets(value): { options+: { calculation+: { xBuckets: value } } }, + '#withXBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXBucketsMixin(value): { options+: { calculation+: { xBuckets+: value } } }, + xBuckets+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { calculation+: { xBuckets+: { mode: value } } } }, + '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScale(value): { options+: { calculation+: { xBuckets+: { scale: value } } } }, + '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleMixin(value): { options+: { calculation+: { xBuckets+: { scale+: value } } } }, + scale+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { calculation+: { xBuckets+: { scale+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { calculation+: { xBuckets+: { scale+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { calculation+: { xBuckets+: { scale+: { type: value } } } } }, + }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, + withValue(value): { options+: { calculation+: { xBuckets+: { value: value } } } }, + }, + '#withYBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withYBuckets(value): { options+: { calculation+: { yBuckets: value } } }, + '#withYBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withYBucketsMixin(value): { options+: { calculation+: { yBuckets+: value } } }, + yBuckets+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { calculation+: { yBuckets+: { mode: value } } } }, + '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScale(value): { options+: { calculation+: { yBuckets+: { scale: value } } } }, + '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleMixin(value): { options+: { calculation+: { yBuckets+: { scale+: value } } } }, + scale+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { calculation+: { yBuckets+: { scale+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { calculation+: { yBuckets+: { scale+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { calculation+: { yBuckets+: { scale+: { type: value } } } } }, + }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, + withValue(value): { options+: { calculation+: { yBuckets+: { value: value } } } }, + }, + }, + '#withCellGap': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls gap between cells' } }, + withCellGap(value=1): { options+: { cellGap: value } }, + '#withCellRadius': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls cell radius' } }, + withCellRadius(value): { options+: { cellRadius: value } }, + '#withCellValues': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, + withCellValues(value={}): { options+: { cellValues: value } }, + '#withCellValuesMixin': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, + withCellValuesMixin(value): { options+: { cellValues+: value } }, + cellValues+: + { + '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValues(value): { options+: { cellValues+: { CellValues: value } } }, + '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, + withCellValuesMixin(value): { options+: { cellValues+: { CellValues+: value } } }, + CellValues+: + { + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, + withDecimals(value): { options+: { cellValues+: { decimals: value } } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, + withUnit(value): { options+: { cellValues+: { unit: value } } }, + }, + }, + '#withColor': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, + withColor(value={ exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }): { options+: { color: value } }, + '#withColorMixin': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, + withColorMixin(value): { options+: { color+: value } }, + color+: + { + '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptions(value): { options+: { color+: { HeatmapColorOptions: value } } }, + '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, + withHeatmapColorOptionsMixin(value): { options+: { color+: { HeatmapColorOptions+: value } } }, + HeatmapColorOptions+: + { + '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, + withExponent(value): { options+: { color+: { exponent: value } } }, + '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, + withFill(value): { options+: { color+: { fill: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, + withMax(value): { options+: { color+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, + withMin(value): { options+: { color+: { min: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, + withMode(value): { options+: { color+: { mode: value } } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, + withReverse(value=true): { options+: { color+: { reverse: value } } }, + '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, + withScale(value): { options+: { color+: { scale: value } } }, + '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, + withScheme(value): { options+: { color+: { scheme: value } } }, + '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, + withSteps(value): { options+: { color+: { steps: value } } }, + }, + }, + '#withExemplars': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplars(value): { options+: { exemplars: value } }, + '#withExemplarsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, + withExemplarsMixin(value): { options+: { exemplars+: value } }, + exemplars+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, + withColor(value): { options+: { exemplars+: { color: value } } }, + }, + '#withFilterValues': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, + withFilterValues(value={ le: 1.0000000000000001e-09 }): { options+: { filterValues: value } }, + '#withFilterValuesMixin': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, + withFilterValuesMixin(value): { options+: { filterValues+: value } }, + filterValues+: + { + '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRange(value): { options+: { filterValues+: { FilterValueRange: value } } }, + '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, + withFilterValueRangeMixin(value): { options+: { filterValues+: { FilterValueRange+: value } } }, + FilterValueRange+: + { + '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, + withGe(value): { options+: { filterValues+: { ge: value } } }, + '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, + withLe(value): { options+: { filterValues+: { le: value } } }, + }, + }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, + withShow(value=true): { options+: { legend+: { show: value } } }, + }, + '#withRowsFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsFrame(value): { options+: { rowsFrame: value } }, + '#withRowsFrameMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, + withRowsFrameMixin(value): { options+: { rowsFrame+: value } }, + rowsFrame+: + { + '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, + withLayout(value): { options+: { rowsFrame+: { layout: value } } }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, + withValue(value): { options+: { rowsFrame+: { value: value } } }, + }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '| *{\n\tlayout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n}\nControls the display of the value in the cell' } }, + withShowValue(value): { options+: { showValue: value } }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, + withShow(value=true): { options+: { tooltip+: { show: value } } }, + '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, + withYHistogram(value=true): { options+: { tooltip+: { yHistogram: value } } }, + }, + '#withYAxis': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxis(value): { options+: { yAxis: value } }, + '#withYAxisMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, + withYAxisMixin(value): { options+: { yAxis+: value } }, + yAxis+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { options+: { yAxis+: { axisCenteredZero: value } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { options+: { yAxis+: { axisColorMode: value } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { options+: { yAxis+: { axisGridShow: value } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { options+: { yAxis+: { axisLabel: value } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { options+: { yAxis+: { axisPlacement: value } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { options+: { yAxis+: { axisSoftMax: value } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { options+: { yAxis+: { axisSoftMin: value } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { options+: { yAxis+: { axisWidth: value } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { options+: { yAxis+: { scaleDistribution: value } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { options+: { yAxis+: { scaleDistribution+: value } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { options+: { yAxis+: { scaleDistribution+: { linearThreshold: value } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { options+: { yAxis+: { scaleDistribution+: { log: value } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { options+: { yAxis+: { scaleDistribution+: { type: value } } } }, + }, + '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, + withDecimals(value): { options+: { yAxis+: { decimals: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, + withMax(value): { options+: { yAxis+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, + withMin(value): { options+: { yAxis+: { min: value } } }, + '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, + withReverse(value=true): { options+: { yAxis+: { reverse: value } } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, + withUnit(value): { options+: { yAxis+: { unit: value } } }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'heatmap' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet new file mode 100644 index 0000000000..42215d692f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet @@ -0,0 +1,130 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.histogram', name: 'histogram' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, + withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withBucketOffset': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Offset buckets by this amount' } }, + withBucketOffset(value=0): { options+: { bucketOffset: value } }, + '#withBucketSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Size of each bucket' } }, + withBucketSize(value): { options+: { bucketSize: value } }, + '#withCombine': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Combines multiple series into a single histogram' } }, + withCombine(value=true): { options+: { combine: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'histogram' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet new file mode 100644 index 0000000000..e140795146 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet @@ -0,0 +1,29 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.logs', name: 'logs' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withDedupStrategy': { 'function': { args: [{ default: null, enums: ['none', 'exact', 'numbers', 'signature'], name: 'value', type: 'string' }], help: '' } }, + withDedupStrategy(value): { options+: { dedupStrategy: value } }, + '#withEnableLogDetails': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withEnableLogDetails(value=true): { options+: { enableLogDetails: value } }, + '#withPrettifyLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withPrettifyLogMessage(value=true): { options+: { prettifyLogMessage: value } }, + '#withShowCommonLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowCommonLabels(value=true): { options+: { showCommonLabels: value } }, + '#withShowLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLabels(value=true): { options+: { showLabels: value } }, + '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowTime(value=true): { options+: { showTime: value } }, + '#withSortOrder': { 'function': { args: [{ default: null, enums: ['Descending', 'Ascending'], name: 'value', type: 'string' }], help: '' } }, + withSortOrder(value): { options+: { sortOrder: value } }, + '#withWrapLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withWrapLogMessage(value=true): { options+: { wrapLogMessage: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'logs' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet new file mode 100644 index 0000000000..34e5618bc8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet @@ -0,0 +1,17 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.news', name: 'news' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withFeedUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'empty/missing will default to grafana blog' } }, + withFeedUrl(value): { options+: { feedUrl: value } }, + '#withShowImage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowImage(value=true): { options+: { showImage: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'news' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet new file mode 100644 index 0000000000..54977a1be8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet @@ -0,0 +1,100 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.nodeGraph', name: 'nodeGraph' }, + '#withArcOption': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withArcOption(value): { ArcOption: value }, + '#withArcOptionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withArcOptionMixin(value): { ArcOption+: value }, + ArcOption+: + { + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, + withColor(value): { ArcOption+: { color: value } }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, + withField(value): { ArcOption+: { field: value } }, + }, + '#withEdgeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdgeOptions(value): { EdgeOptions: value }, + '#withEdgeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdgeOptionsMixin(value): { EdgeOptions+: value }, + EdgeOptions+: + { + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { EdgeOptions+: { mainStatUnit: value } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { EdgeOptions+: { secondaryStatUnit: value } }, + }, + '#withNodeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodeOptions(value): { NodeOptions: value }, + '#withNodeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodeOptionsMixin(value): { NodeOptions+: value }, + NodeOptions+: + { + '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcs(value): { NodeOptions+: { arcs: (if std.isArray(value) + then value + else [value]) } }, + '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcsMixin(value): { NodeOptions+: { arcs+: (if std.isArray(value) + then value + else [value]) } }, + arcs+: + { + '#': { help: '', name: 'arcs' }, + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, + withColor(value): { color: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, + withField(value): { field: value }, + }, + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { NodeOptions+: { mainStatUnit: value } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { NodeOptions+: { secondaryStatUnit: value } }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdges(value): { options+: { edges: value } }, + '#withEdgesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withEdgesMixin(value): { options+: { edges+: value } }, + edges+: + { + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { options+: { edges+: { mainStatUnit: value } } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { options+: { edges+: { secondaryStatUnit: value } } }, + }, + '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodes(value): { options+: { nodes: value } }, + '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodesMixin(value): { options+: { nodes+: value } }, + nodes+: + { + '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcs(value): { options+: { nodes+: { arcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, + withArcsMixin(value): { options+: { nodes+: { arcs+: (if std.isArray(value) + then value + else [value]) } } }, + arcs+: + { + '#': { help: '', name: 'arcs' }, + '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, + withColor(value): { color: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, + withField(value): { field: value }, + }, + '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, + withMainStatUnit(value): { options+: { nodes+: { mainStatUnit: value } } }, + '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, + withSecondaryStatUnit(value): { options+: { nodes+: { secondaryStatUnit: value } } }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'nodeGraph' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet new file mode 100644 index 0000000000..cb4be75fd8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet @@ -0,0 +1,186 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.pieChart', name: 'pieChart' }, + '#withPieChartLabels': { 'function': { args: [{ default: null, enums: ['name', 'value', 'percent'], name: 'value', type: 'string' }], help: 'Select labels to display on the pie chart.\n - Name - The series or field name.\n - Percent - The percentage of the whole.\n - Value - The raw numerical value.' } }, + withPieChartLabels(value): { PieChartLabels: value }, + '#withPieChartLegendOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPieChartLegendOptions(value): { PieChartLegendOptions: value }, + '#withPieChartLegendOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPieChartLegendOptionsMixin(value): { PieChartLegendOptions+: value }, + PieChartLegendOptions+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { PieChartLegendOptions+: { asTable: value } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { PieChartLegendOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { PieChartLegendOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { PieChartLegendOptions+: { displayMode: value } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { PieChartLegendOptions+: { isVisible: value } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { PieChartLegendOptions+: { placement: value } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { PieChartLegendOptions+: { showLegend: value } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { PieChartLegendOptions+: { sortBy: value } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { PieChartLegendOptions+: { sortDesc: value } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { PieChartLegendOptions+: { width: value } }, + '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValues(value): { PieChartLegendOptions+: { values: (if std.isArray(value) + then value + else [value]) } }, + '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValuesMixin(value): { PieChartLegendOptions+: { values+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withPieChartLegendValues': { 'function': { args: [{ default: null, enums: ['value', 'percent'], name: 'value', type: 'string' }], help: 'Select values to display in the legend.\n - Percent: The percentage of the whole.\n - Value: The raw numerical value.' } }, + withPieChartLegendValues(value): { PieChartLegendValues: value }, + '#withPieChartType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, + withPieChartType(value): { PieChartType: value }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withDisplayLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDisplayLabels(value): { options+: { displayLabels: (if std.isArray(value) + then value + else [value]) } }, + '#withDisplayLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDisplayLabelsMixin(value): { options+: { displayLabels+: (if std.isArray(value) + then value + else [value]) } }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValues(value): { options+: { legend+: { values: (if std.isArray(value) + then value + else [value]) } } }, + '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withValuesMixin(value): { options+: { legend+: { values+: (if std.isArray(value) + then value + else [value]) } } }, + }, + '#withPieType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, + withPieType(value): { options+: { pieType: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'piechart' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet new file mode 100644 index 0000000000..8855b79225 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet @@ -0,0 +1,51 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.row', name: 'row' }, + '#withCollapsed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withCollapsed(value=true): { collapsed: value }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Name of default datasource.' } }, + withDatasource(value): { datasource: value }, + '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Name of default datasource.' } }, + withDatasourceMixin(value): { datasource+: value }, + datasource+: + { + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { datasource+: { type: value } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { datasource+: { uid: value } }, + }, + '#withGridPos': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGridPos(value): { gridPos: value }, + '#withGridPosMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGridPosMixin(value): { gridPos+: value }, + gridPos+: + { + '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withH(value=9): { gridPos+: { h: value } }, + '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, + withStatic(value=true): { gridPos+: { static: value } }, + '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, + withW(value=12): { gridPos+: { w: value } }, + '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, + withX(value=0): { gridPos+: { x: value } }, + '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, + withY(value=0): { gridPos+: { y: value } }, + }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withId(value): { id: value }, + '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanels(value): { panels: (if std.isArray(value) + then value + else [value]) }, + '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPanelsMixin(value): { panels+: (if std.isArray(value) + then value + else [value]) }, + '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, + withRepeat(value): { repeat: value }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTitle(value): { title: value }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'row' }, +} ++ (import '../../custom/row.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet new file mode 100644 index 0000000000..5011674691 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet @@ -0,0 +1,55 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.stat', name: 'stat' }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withText(value): { options+: { text: value } }, + '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTextMixin(value): { options+: { text+: value } }, + text+: + { + '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, + withTitleSize(value): { options+: { text+: { titleSize: value } } }, + '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, + withValueSize(value): { options+: { text+: { valueSize: value } } }, + }, + '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withOrientation(value): { options+: { orientation: value } }, + '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptions(value): { options+: { reduceOptions: value } }, + '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, + reduceOptions+: + { + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, + withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, + withFields(value): { options+: { reduceOptions+: { fields: value } } }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, + withLimit(value): { options+: { reduceOptions+: { limit: value } } }, + '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, + withValues(value=true): { options+: { reduceOptions+: { values: value } } }, + }, + '#withColorMode': { 'function': { args: [{ default: null, enums: ['value', 'background', 'background_solid', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withColorMode(value): { options+: { colorMode: value } }, + '#withGraphMode': { 'function': { args: [{ default: null, enums: ['none', 'line', 'area'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGraphMode(value): { options+: { graphMode: value } }, + '#withJustifyMode': { 'function': { args: [{ default: null, enums: ['auto', 'center'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withJustifyMode(value): { options+: { justifyMode: value } }, + '#withTextMode': { 'function': { args: [{ default: null, enums: ['auto', 'value', 'value_and_name', 'name', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTextMode(value): { options+: { textMode: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'stat' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet new file mode 100644 index 0000000000..3fa3ca8c92 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet @@ -0,0 +1,109 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.stateTimeline', name: 'stateTimeline' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value=0): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withAlignValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls value alignment on the timelines' } }, + withAlignValue(value): { options+: { alignValue: value } }, + '#withMergeValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Merge equal consecutive values' } }, + withMergeValues(value=true): { options+: { mergeValues: value } }, + '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the row height' } }, + withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show timeline values on chart' } }, + withShowValue(value): { options+: { showValue: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'state-timeline' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet new file mode 100644 index 0000000000..2dbbf8aad9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet @@ -0,0 +1,107 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.statusHistory', name: 'statusHistory' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withColWidth': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the column width' } }, + withColWidth(value=0.90000000000000002): { options+: { colWidth: value } }, + '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Set the height of the rows' } }, + withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, + '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show values on the columns' } }, + withShowValue(value): { options+: { showValue: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'status-history' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet new file mode 100644 index 0000000000..6ebe122a85 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet @@ -0,0 +1,299 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.table', name: 'table' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Field options for each field within a table (e.g 10, "The String", 64.20, etc.) Generally defines alignment, filtering capabilties, display options, etc.' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Field options for each field within a table (e.g 10, "The String", 64.20, etc.) Generally defines alignment, filtering capabilties, display options, etc.' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withAlign': { 'function': { args: [{ default: null, enums: ['auto', 'left', 'right', 'center'], name: 'value', type: 'string' }], help: 'TODO -- should not be table specific! TODO docs' } }, + withAlign(value): { fieldConfig+: { defaults+: { custom+: { align: value } } } }, + '#withCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, + withCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions: value } } } }, + '#withCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, + withCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: value } } } }, + cellOptions+: + { + '#withTableAutoCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, + withTableAutoCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions: value } } } } }, + '#withTableAutoCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, + withTableAutoCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions+: value } } } } }, + TableAutoCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'auto' } } } } }, + }, + '#withTableSparklineCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, + withTableSparklineCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions: value } } } } }, + '#withTableSparklineCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, + withTableSparklineCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions+: value } } } } }, + TableSparklineCellOptions+: + { + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisCenteredZero: value } } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['series', 'text'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisColorMode: value } } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisGridShow: value } } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisLabel: value } } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'bottom', 'hidden', 'left', 'right', 'top'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisPlacement: value } } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMax: value } } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMin: value } } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisWidth: value } } } } }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [1, -1, 0], name: 'value', type: 'number' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barAlignment: value } } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barMaxWidth: value } } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barWidthFactor: value } } } } }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['bars', 'line', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { drawStyle: value } } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillBelowTo: value } } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillColor: value } } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillOpacity: value } } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['hue', 'none', 'opacity', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { gradientMode: value } } } } }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom: value } } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: value } } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { legend: value } } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { tooltip: value } } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { viz: value } } } } } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineColor: value } } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepAfter', 'stepBefore'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineInterpolation: value } } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle: value } } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: value } } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { fill: value } } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineWidth: value } } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointColor: value } } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSize: value } } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSymbol: value } } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution: value } } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: value } } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { linearThreshold: value } } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { log: value } } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { type: value } } } } } }, + }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['always', 'auto', 'never'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { showPoints: value } } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: ['boolean', 'number'] }], help: 'Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { spanNulls: value } } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking: value } } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: value } } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { group: value } } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { mode: value } } } } } }, + }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle: value } } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: value } } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['area', 'dashed', 'dashed+area', 'line', 'line+area', 'off', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: { mode: value } } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { transform: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'sparkline' } } } } }, + }, + '#withTableBarGaugeCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, + withTableBarGaugeCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions: value } } } } }, + '#withTableBarGaugeCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, + withTableBarGaugeCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions+: value } } } } }, + TableBarGaugeCellOptions+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient', 'lcd'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes for the bar gauge component of Grafana UI' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'gauge' } } } } }, + '#withValueDisplayMode': { 'function': { args: [{ default: null, enums: ['color', 'hidden', 'text'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, + withValueDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { valueDisplayMode: value } } } } }, + }, + '#withTableColoredBackgroundCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, + withTableColoredBackgroundCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions: value } } } } }, + '#withTableColoredBackgroundCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, + withTableColoredBackgroundCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions+: value } } } } }, + TableColoredBackgroundCellOptions+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient'], name: 'value', type: 'string' }], help: 'Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient.' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-background' } } } } }, + }, + '#withTableColorTextCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, + withTableColorTextCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions: value } } } } }, + '#withTableColorTextCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, + withTableColorTextCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions+: value } } } } }, + TableColorTextCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-text' } } } } }, + }, + '#withTableImageCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableImageCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions: value } } } } }, + '#withTableImageCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableImageCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions+: value } } } } }, + TableImageCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'image' } } } } }, + }, + '#withTableJsonViewCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableJsonViewCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions: value } } } } }, + '#withTableJsonViewCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, + withTableJsonViewCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions+: value } } } } }, + TableJsonViewCellOptions+: + { + '#withType': { 'function': { args: [], help: '' } }, + withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'json-view' } } } } }, + }, + }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['auto', 'basic', 'color-background', 'color-background-solid', 'color-text', 'custom', 'gauge', 'gradient-gauge', 'image', 'json-view', 'lcd-gauge', 'sparkline'], name: 'value', type: 'string' }], help: "Internally, this is the \"type\" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions" } }, + withDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { displayMode: value } } } }, + '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withFilterable(value=true): { fieldConfig+: { defaults+: { custom+: { filterable: value } } } }, + '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHidden(value=true): { fieldConfig+: { defaults+: { custom+: { hidden: value } } } }, + '#withHideHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Hides any header for a column, usefull for columns that show some static content or buttons.' } }, + withHideHeader(value=true): { fieldConfig+: { defaults+: { custom+: { hideHeader: value } } } }, + '#withInspect': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withInspect(value=true): { fieldConfig+: { defaults+: { custom+: { inspect: value } } } }, + '#withMinWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMinWidth(value): { fieldConfig+: { defaults+: { custom+: { minWidth: value } } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { fieldConfig+: { defaults+: { custom+: { width: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withCellHeight': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the height of the rows' } }, + withCellHeight(value): { options+: { cellHeight: value } }, + '#withFooter': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, + withFooter(value={ countRows: false, reducer: [], show: false }): { options+: { footer: value } }, + '#withFooterMixin': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, + withFooterMixin(value): { options+: { footer+: value } }, + footer+: + { + '#withTableFooterOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, + withTableFooterOptions(value): { options+: { footer+: { TableFooterOptions: value } } }, + '#withTableFooterOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, + withTableFooterOptionsMixin(value): { options+: { footer+: { TableFooterOptions+: value } } }, + TableFooterOptions+: + { + '#withCountRows': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withCountRows(value=true): { options+: { footer+: { countRows: value } } }, + '#withEnablePagination': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withEnablePagination(value=true): { options+: { footer+: { enablePagination: value } } }, + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFields(value): { options+: { footer+: { fields: (if std.isArray(value) + then value + else [value]) } } }, + '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFieldsMixin(value): { options+: { footer+: { fields+: (if std.isArray(value) + then value + else [value]) } } }, + '#withReducer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withReducer(value): { options+: { footer+: { reducer: (if std.isArray(value) + then value + else [value]) } } }, + '#withReducerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withReducerMixin(value): { options+: { footer+: { reducer+: (if std.isArray(value) + then value + else [value]) } } }, + '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShow(value=true): { options+: { footer+: { show: value } } }, + }, + }, + '#withFrameIndex': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Represents the index of the selected frame' } }, + withFrameIndex(value=0): { options+: { frameIndex: value } }, + '#withShowHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the panel should show the header' } }, + withShowHeader(value=true): { options+: { showHeader: value } }, + '#withShowTypeIcons': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the header should show icons for the column types' } }, + withShowTypeIcons(value=true): { options+: { showTypeIcons: value } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, + withSortBy(value): { options+: { sortBy: (if std.isArray(value) + then value + else [value]) } }, + '#withSortByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, + withSortByMixin(value): { options+: { sortBy+: (if std.isArray(value) + then value + else [value]) } }, + sortBy+: + { + '#': { help: '', name: 'sortBy' }, + '#withDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag used to indicate descending sort order' } }, + withDesc(value=true): { desc: value }, + '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the display name of the field to sort by' } }, + withDisplayName(value): { displayName: value }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'table' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet new file mode 100644 index 0000000000..9e2dffb1f2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet @@ -0,0 +1,47 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.text', name: 'text' }, + '#withCodeLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, + withCodeLanguage(value='plaintext'): { CodeLanguage: value }, + '#withCodeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCodeOptions(value): { CodeOptions: value }, + '#withCodeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCodeOptionsMixin(value): { CodeOptions+: value }, + CodeOptions+: + { + '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, + withLanguage(value='plaintext'): { CodeOptions+: { language: value } }, + '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLineNumbers(value=true): { CodeOptions+: { showLineNumbers: value } }, + '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowMiniMap(value=true): { CodeOptions+: { showMiniMap: value } }, + }, + '#withTextMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, + withTextMode(value): { TextMode: value }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withCode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCode(value): { options+: { code: value } }, + '#withCodeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withCodeMixin(value): { options+: { code+: value } }, + code+: + { + '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, + withLanguage(value='plaintext'): { options+: { code+: { language: value } } }, + '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLineNumbers(value=true): { options+: { code+: { showLineNumbers: value } } }, + '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowMiniMap(value=true): { options+: { code+: { showMiniMap: value } } }, + }, + '#withContent': { 'function': { args: [{ default: '# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)', enums: null, name: 'value', type: 'string' }], help: '' } }, + withContent(value='# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)'): { options+: { content: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { options+: { mode: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'text' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet new file mode 100644 index 0000000000..25f726b0d0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet @@ -0,0 +1,199 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.timeSeries', name: 'timeSeries' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, + '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezone(value): { options+: { timezone: (if std.isArray(value) + then value + else [value]) } }, + '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) + then value + else [value]) } }, + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'timeseries' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet new file mode 100644 index 0000000000..d9c32f55a3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet @@ -0,0 +1,193 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.trend', name: 'trend' }, + '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfig(value): { fieldConfig: value }, + '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withFieldConfigMixin(value): { fieldConfig+: value }, + fieldConfig+: + { + '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaults(value): { fieldConfig+: { defaults: value } }, + '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, + defaults+: + { + '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, + '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, + custom+: + { + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, + '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, + '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, + '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, + withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, + '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, + '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, + '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, + '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, + '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, + }, + '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, + withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, + '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, + '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, + '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, + '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, + stacking+: + { + '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, + }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, + }, + '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, + '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, + '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, + '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, + thresholdsStyle+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, + }, + '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, + }, + }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Identical to timeseries... except it does not have timezone settings' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Identical to timeseries... except it does not have timezone settings' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the x field to use (defaults to first number)' } }, + withXField(value): { options+: { xField: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'trend' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet new file mode 100644 index 0000000000..28a6ed9b08 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet @@ -0,0 +1,488 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.panel.xyChart', name: 'xyChart' }, + '#withScatterFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withScatterFieldConfig(value): { ScatterFieldConfig: value }, + '#withScatterFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withScatterFieldConfigMixin(value): { ScatterFieldConfig+: value }, + ScatterFieldConfig+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { ScatterFieldConfig+: { hideFrom: value } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { ScatterFieldConfig+: { hideFrom+: value } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { ScatterFieldConfig+: { hideFrom+: { legend: value } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { ScatterFieldConfig+: { hideFrom+: { tooltip: value } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { ScatterFieldConfig+: { hideFrom+: { viz: value } } }, + }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { ScatterFieldConfig+: { axisCenteredZero: value } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { ScatterFieldConfig+: { axisColorMode: value } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { ScatterFieldConfig+: { axisGridShow: value } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { ScatterFieldConfig+: { axisLabel: value } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { ScatterFieldConfig+: { axisPlacement: value } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { ScatterFieldConfig+: { axisSoftMax: value } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { ScatterFieldConfig+: { axisSoftMin: value } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { ScatterFieldConfig+: { axisWidth: value } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { ScatterFieldConfig+: { scaleDistribution: value } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { ScatterFieldConfig+: { scaleDistribution+: value } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { ScatterFieldConfig+: { scaleDistribution+: { linearThreshold: value } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { ScatterFieldConfig+: { scaleDistribution+: { log: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { ScatterFieldConfig+: { scaleDistribution+: { type: value } } }, + }, + '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLabel(value): { ScatterFieldConfig+: { label: value } }, + '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValue(value): { ScatterFieldConfig+: { labelValue: value } }, + '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValueMixin(value): { ScatterFieldConfig+: { labelValue+: value } }, + labelValue+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterFieldConfig+: { labelValue+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterFieldConfig+: { labelValue+: { fixed: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { ScatterFieldConfig+: { labelValue+: { mode: value } } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColor(value): { ScatterFieldConfig+: { lineColor: value } }, + '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColorMixin(value): { ScatterFieldConfig+: { lineColor+: value } }, + lineColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterFieldConfig+: { lineColor+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterFieldConfig+: { lineColor+: { fixed: value } } }, + }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { ScatterFieldConfig+: { lineStyle: value } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { ScatterFieldConfig+: { lineStyle+: value } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { ScatterFieldConfig+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { ScatterFieldConfig+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { ScatterFieldConfig+: { lineStyle+: { fill: value } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value): { ScatterFieldConfig+: { lineWidth: value } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColor(value): { ScatterFieldConfig+: { pointColor: value } }, + '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColorMixin(value): { ScatterFieldConfig+: { pointColor+: value } }, + pointColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterFieldConfig+: { pointColor+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterFieldConfig+: { pointColor+: { fixed: value } } }, + }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSize(value): { ScatterFieldConfig+: { pointSize: value } }, + '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSizeMixin(value): { ScatterFieldConfig+: { pointSize+: value } }, + pointSize+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterFieldConfig+: { pointSize+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFixed(value): { ScatterFieldConfig+: { pointSize+: { fixed: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { ScatterFieldConfig+: { pointSize+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { ScatterFieldConfig+: { pointSize+: { min: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { ScatterFieldConfig+: { pointSize+: { mode: value } } }, + }, + '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, + withShow(value): { ScatterFieldConfig+: { show: value } }, + }, + '#withScatterSeriesConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withScatterSeriesConfig(value): { ScatterSeriesConfig: value }, + '#withScatterSeriesConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withScatterSeriesConfigMixin(value): { ScatterSeriesConfig+: value }, + ScatterSeriesConfig+: + { + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { ScatterSeriesConfig+: { hideFrom: value } }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { ScatterSeriesConfig+: { hideFrom+: value } }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { ScatterSeriesConfig+: { hideFrom+: { legend: value } } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { ScatterSeriesConfig+: { hideFrom+: { tooltip: value } } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { ScatterSeriesConfig+: { hideFrom+: { viz: value } } }, + }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { ScatterSeriesConfig+: { axisCenteredZero: value } }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { ScatterSeriesConfig+: { axisColorMode: value } }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { ScatterSeriesConfig+: { axisGridShow: value } }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { ScatterSeriesConfig+: { axisLabel: value } }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { ScatterSeriesConfig+: { axisPlacement: value } }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { ScatterSeriesConfig+: { axisSoftMax: value } }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { ScatterSeriesConfig+: { axisSoftMin: value } }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { ScatterSeriesConfig+: { axisWidth: value } }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { ScatterSeriesConfig+: { scaleDistribution: value } }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { ScatterSeriesConfig+: { scaleDistribution+: value } }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { ScatterSeriesConfig+: { scaleDistribution+: { linearThreshold: value } } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { ScatterSeriesConfig+: { scaleDistribution+: { log: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { ScatterSeriesConfig+: { scaleDistribution+: { type: value } } }, + }, + '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLabel(value): { ScatterSeriesConfig+: { label: value } }, + '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValue(value): { ScatterSeriesConfig+: { labelValue: value } }, + '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValueMixin(value): { ScatterSeriesConfig+: { labelValue+: value } }, + labelValue+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterSeriesConfig+: { labelValue+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterSeriesConfig+: { labelValue+: { fixed: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { ScatterSeriesConfig+: { labelValue+: { mode: value } } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColor(value): { ScatterSeriesConfig+: { lineColor: value } }, + '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColorMixin(value): { ScatterSeriesConfig+: { lineColor+: value } }, + lineColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterSeriesConfig+: { lineColor+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterSeriesConfig+: { lineColor+: { fixed: value } } }, + }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { ScatterSeriesConfig+: { lineStyle: value } }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { ScatterSeriesConfig+: { lineStyle+: value } }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { ScatterSeriesConfig+: { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { ScatterSeriesConfig+: { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { ScatterSeriesConfig+: { lineStyle+: { fill: value } } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value): { ScatterSeriesConfig+: { lineWidth: value } }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColor(value): { ScatterSeriesConfig+: { pointColor: value } }, + '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColorMixin(value): { ScatterSeriesConfig+: { pointColor+: value } }, + pointColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterSeriesConfig+: { pointColor+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { ScatterSeriesConfig+: { pointColor+: { fixed: value } } }, + }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSize(value): { ScatterSeriesConfig+: { pointSize: value } }, + '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSizeMixin(value): { ScatterSeriesConfig+: { pointSize+: value } }, + pointSize+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { ScatterSeriesConfig+: { pointSize+: { field: value } } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFixed(value): { ScatterSeriesConfig+: { pointSize+: { fixed: value } } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { ScatterSeriesConfig+: { pointSize+: { max: value } } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { ScatterSeriesConfig+: { pointSize+: { min: value } } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { ScatterSeriesConfig+: { pointSize+: { mode: value } } }, + }, + '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, + withShow(value): { ScatterSeriesConfig+: { show: value } }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { ScatterSeriesConfig+: { name: value } }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { ScatterSeriesConfig+: { x: value } }, + '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withY(value): { ScatterSeriesConfig+: { y: value } }, + }, + '#withScatterShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, + withScatterShow(value): { ScatterShow: value }, + '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, + withSeriesMapping(value): { SeriesMapping: value }, + '#withXYDimensionConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXYDimensionConfig(value): { XYDimensionConfig: value }, + '#withXYDimensionConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withXYDimensionConfigMixin(value): { XYDimensionConfig+: value }, + XYDimensionConfig+: + { + '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExclude(value): { XYDimensionConfig+: { exclude: (if std.isArray(value) + then value + else [value]) } }, + '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExcludeMixin(value): { XYDimensionConfig+: { exclude+: (if std.isArray(value) + then value + else [value]) } }, + '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFrame(value): { XYDimensionConfig+: { frame: value } }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { XYDimensionConfig+: { x: value } }, + }, + '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptions(value): { options: value }, + '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOptionsMixin(value): { options+: value }, + options+: + { + '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegend(value): { options+: { legend: value } }, + '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLegendMixin(value): { options+: { legend+: value } }, + legend+: + { + '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAsTable(value=true): { options+: { legend+: { asTable: value } } }, + '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) + then value + else [value]) } } }, + '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) + then value + else [value]) } } }, + '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, + withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, + '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, + '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withPlacement(value): { options+: { legend+: { placement: value } } }, + '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, + '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSortBy(value): { options+: { legend+: { sortBy: value } } }, + '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, + '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withWidth(value): { options+: { legend+: { width: value } } }, + }, + '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltip(value): { options+: { tooltip: value } }, + '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withTooltipMixin(value): { options+: { tooltip+: value } }, + tooltip+: + { + '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withMode(value): { options+: { tooltip+: { mode: value } } }, + '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withSort(value): { options+: { tooltip+: { sort: value } } }, + }, + '#withDims': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDims(value): { options+: { dims: value } }, + '#withDimsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withDimsMixin(value): { options+: { dims+: value } }, + dims+: + { + '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExclude(value): { options+: { dims+: { exclude: (if std.isArray(value) + then value + else [value]) } } }, + '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExcludeMixin(value): { options+: { dims+: { exclude+: (if std.isArray(value) + then value + else [value]) } } }, + '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withFrame(value): { options+: { dims+: { frame: value } } }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { options+: { dims+: { x: value } } }, + }, + '#withSeries': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withSeries(value): { options+: { series: (if std.isArray(value) + then value + else [value]) } }, + '#withSeriesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withSeriesMixin(value): { options+: { series+: (if std.isArray(value) + then value + else [value]) } }, + series+: + { + '#': { help: '', name: 'series' }, + '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFrom(value): { hideFrom: value }, + '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withHideFromMixin(value): { hideFrom+: value }, + hideFrom+: + { + '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLegend(value=true): { hideFrom+: { legend: value } }, + '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withTooltip(value=true): { hideFrom+: { tooltip: value } }, + '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withViz(value=true): { hideFrom+: { viz: value } }, + }, + '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisCenteredZero(value=true): { axisCenteredZero: value }, + '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisColorMode(value): { axisColorMode: value }, + '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withAxisGridShow(value=true): { axisGridShow: value }, + '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAxisLabel(value): { axisLabel: value }, + '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withAxisPlacement(value): { axisPlacement: value }, + '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMax(value): { axisSoftMax: value }, + '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisSoftMin(value): { axisSoftMin: value }, + '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withAxisWidth(value): { axisWidth: value }, + '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistribution(value): { scaleDistribution: value }, + '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withScaleDistributionMixin(value): { scaleDistribution+: value }, + scaleDistribution+: + { + '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLinearThreshold(value): { scaleDistribution+: { linearThreshold: value } }, + '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withLog(value): { scaleDistribution+: { log: value } }, + '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withType(value): { scaleDistribution+: { type: value } }, + }, + '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, + withLabel(value): { label: value }, + '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValue(value): { labelValue: value }, + '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLabelValueMixin(value): { labelValue+: value }, + labelValue+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { labelValue+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { labelValue+: { fixed: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { labelValue+: { mode: value } }, + }, + '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColor(value): { lineColor: value }, + '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withLineColorMixin(value): { lineColor+: value }, + lineColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { lineColor+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { lineColor+: { fixed: value } }, + }, + '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyle(value): { lineStyle: value }, + '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, + withLineStyleMixin(value): { lineStyle+: value }, + lineStyle+: + { + '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDash(value): { lineStyle+: { dash: (if std.isArray(value) + then value + else [value]) } }, + '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withDashMixin(value): { lineStyle+: { dash+: (if std.isArray(value) + then value + else [value]) } }, + '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, + withFill(value): { lineStyle+: { fill: value } }, + }, + '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLineWidth(value): { lineWidth: value }, + '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColor(value): { pointColor: value }, + '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointColorMixin(value): { pointColor+: value }, + pointColor+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { pointColor+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFixed(value): { pointColor+: { fixed: value } }, + }, + '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSize(value): { pointSize: value }, + '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPointSizeMixin(value): { pointSize+: value }, + pointSize+: + { + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, + withField(value): { pointSize+: { field: value } }, + '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withFixed(value): { pointSize+: { fixed: value } }, + '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMax(value): { pointSize+: { max: value } }, + '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withMin(value): { pointSize+: { min: value } }, + '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, + withMode(value): { pointSize+: { mode: value } }, + }, + '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, + withShow(value): { show: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withX(value): { x: value }, + '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withY(value): { y: value }, + }, + '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, + withSeriesMapping(value): { options+: { seriesMapping: value } }, + }, + '#withType': { 'function': { args: [], help: '' } }, + withType(): { type: 'xychart' }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet new file mode 100644 index 0000000000..b0a8ececaa --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet @@ -0,0 +1,28 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.playlist', name: 'playlist' }, + '#withInterval': { 'function': { args: [{ default: '5m', enums: null, name: 'value', type: 'string' }], help: 'Interval sets the time between switching views in a playlist.\nFIXME: Is this based on a standardized format or what options are available? Can datemath be used?' } }, + withInterval(value='5m'): { interval: value }, + '#withItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The ordered list of items that the playlist will iterate over.\nFIXME! This should not be optional, but changing it makes the godegen awkward' } }, + withItems(value): { items: (if std.isArray(value) + then value + else [value]) }, + '#withItemsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The ordered list of items that the playlist will iterate over.\nFIXME! This should not be optional, but changing it makes the godegen awkward' } }, + withItemsMixin(value): { items+: (if std.isArray(value) + then value + else [value]) }, + items+: + { + '#': { help: '', name: 'items' }, + '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title is an unused property -- it will be removed in the future' } }, + withTitle(value): { title: value }, + '#withType': { 'function': { args: [{ default: null, enums: ['dashboard_by_uid', 'dashboard_by_id', 'dashboard_by_tag'], name: 'value', type: 'string' }], help: 'Type of the item.' } }, + withType(value): { type: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Value depends on type and describes the playlist item.\n\n - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This\n is not portable as the numerical identifier is non-deterministic between different instances.\n Will be replaced by dashboard_by_uid in the future. (deprecated)\n - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All\n dashboards behind the tag will be added to the playlist.\n - dashboard_by_uid: The value is the dashboard UID' } }, + withValue(value): { value: value }, + }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the playlist.' } }, + withName(value): { name: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique playlist identifier. Generated on creation, either by the\ncreator of the playlist of by the application.' } }, + withUid(value): { uid: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet new file mode 100644 index 0000000000..5aeea39205 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet @@ -0,0 +1,23 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.preferences', name: 'preferences' }, + '#withHomeDashboardUID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID for the home dashboard' } }, + withHomeDashboardUID(value): { homeDashboardUID: value }, + '#withLanguage': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Selected language (beta)' } }, + withLanguage(value): { language: value }, + '#withQueryHistory': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryHistory(value): { queryHistory: value }, + '#withQueryHistoryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryHistoryMixin(value): { queryHistory+: value }, + queryHistory+: + { + '#withHomeTab': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "one of: '' | 'query' | 'starred';" } }, + withHomeTab(value): { queryHistory+: { homeTab: value } }, + }, + '#withTheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'light, dark, empty is default' } }, + withTheme(value): { theme: value }, + '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The timezone selection\nTODO: this should use the timezone defined in common' } }, + withTimezone(value): { timezone: value }, + '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'day of the week (sunday, monday, etc)' } }, + withWeekStart(value): { weekStart: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet new file mode 100644 index 0000000000..4e3e1b683b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet @@ -0,0 +1,16 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.publicdashboard', name: 'publicdashboard' }, + '#withAccessToken': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique public access token' } }, + withAccessToken(value): { accessToken: value }, + '#withAnnotationsEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if annotations are enabled' } }, + withAnnotationsEnabled(value=true): { annotationsEnabled: value }, + '#withDashboardUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Dashboard unique identifier referenced by this public dashboard' } }, + withDashboardUid(value): { dashboardUid: value }, + '#withIsEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if the public dashboard is enabled' } }, + withIsEnabled(value=true): { isEnabled: value }, + '#withTimeSelectionEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if the time range picker is enabled' } }, + withTimeSelectionEnabled(value=true): { timeSelectionEnabled: value }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique public dashboard identifier' } }, + withUid(value): { uid: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet new file mode 100644 index 0000000000..e6c1982259 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet @@ -0,0 +1,363 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.azureMonitor', name: 'azureMonitor' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withAzureLogAnalytics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Azure Monitor Logs sub-query properties' } }, + withAzureLogAnalytics(value): { azureLogAnalytics: value }, + '#withAzureLogAnalyticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Azure Monitor Logs sub-query properties' } }, + withAzureLogAnalyticsMixin(value): { azureLogAnalytics+: value }, + azureLogAnalytics+: + { + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'KQL query to be executed.' } }, + withQuery(value): { azureLogAnalytics+: { query: value } }, + '#withResource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, + withResource(value): { azureLogAnalytics+: { resource: value } }, + '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResources(value): { azureLogAnalytics+: { resources: (if std.isArray(value) + then value + else [value]) } }, + '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResourcesMixin(value): { azureLogAnalytics+: { resources+: (if std.isArray(value) + then value + else [value]) } }, + '#withResultFormat': { 'function': { args: [{ default: null, enums: ['table', 'time_series', 'trace'], name: 'value', type: 'string' }], help: '' } }, + withResultFormat(value): { azureLogAnalytics+: { resultFormat: value } }, + '#withWorkspace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Workspace ID. This was removed in Grafana 8, but remains for backwards compat' } }, + withWorkspace(value): { azureLogAnalytics+: { workspace: value } }, + }, + '#withAzureMonitor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAzureMonitor(value): { azureMonitor: value }, + '#withAzureMonitorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAzureMonitorMixin(value): { azureMonitor+: value }, + azureMonitor+: + { + '#withAggregation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric.' } }, + withAggregation(value): { azureMonitor+: { aggregation: value } }, + '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail.' } }, + withAlias(value): { azureMonitor+: { alias: value } }, + '#withAllowedTimeGrainsMs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Time grains that are supported by the metric.' } }, + withAllowedTimeGrainsMs(value): { azureMonitor+: { allowedTimeGrainsMs: (if std.isArray(value) + then value + else [value]) } }, + '#withAllowedTimeGrainsMsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Time grains that are supported by the metric.' } }, + withAllowedTimeGrainsMsMixin(value): { azureMonitor+: { allowedTimeGrainsMs+: (if std.isArray(value) + then value + else [value]) } }, + '#withCustomNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Used as the value for the metricNamespace property when it's different from the resource namespace." } }, + withCustomNamespace(value): { azureMonitor+: { customNamespace: value } }, + '#withDimension': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration' } }, + withDimension(value): { azureMonitor+: { dimension: value } }, + '#withDimensionFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration' } }, + withDimensionFilter(value): { azureMonitor+: { dimensionFilter: value } }, + '#withDimensionFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.' } }, + withDimensionFilters(value): { azureMonitor+: { dimensionFilters: (if std.isArray(value) + then value + else [value]) } }, + '#withDimensionFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.' } }, + withDimensionFiltersMixin(value): { azureMonitor+: { dimensionFilters+: (if std.isArray(value) + then value + else [value]) } }, + dimensionFilters+: + { + '#': { help: '', name: 'dimensionFilters' }, + '#withDimension': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of Dimension to be filtered on.' } }, + withDimension(value): { dimension: value }, + '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated filter is deprecated in favour of filters to support multiselect.' } }, + withFilter(value): { filter: value }, + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to match with the filter.' } }, + withFilters(value): { filters: (if std.isArray(value) + then value + else [value]) }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to match with the filter.' } }, + withFiltersMixin(value): { filters+: (if std.isArray(value) + then value + else [value]) }, + '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators." } }, + withOperator(value): { operator: value }, + }, + '#withMetricDefinition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use metricNamespace instead' } }, + withMetricDefinition(value): { azureMonitor+: { metricDefinition: value } }, + '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The metric to query data for within the specified metricNamespace. e.g. UsedCapacity' } }, + withMetricName(value): { azureMonitor+: { metricName: value } }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "metricNamespace is used as the resource type (or resource namespace).\nIt's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts\nKept the name of the variable as metricNamespace to avoid backward incompatibility issues." } }, + withMetricNamespace(value): { azureMonitor+: { metricNamespace: value } }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The Azure region containing the resource(s).' } }, + withRegion(value): { azureMonitor+: { region: value } }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, + withResourceGroup(value): { azureMonitor+: { resourceGroup: value } }, + '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, + withResourceName(value): { azureMonitor+: { resourceName: value } }, + '#withResourceUri': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resourceGroup, resourceName and metricNamespace instead' } }, + withResourceUri(value): { azureMonitor+: { resourceUri: value } }, + '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResources(value): { azureMonitor+: { resources: (if std.isArray(value) + then value + else [value]) } }, + '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResourcesMixin(value): { azureMonitor+: { resources+: (if std.isArray(value) + then value + else [value]) } }, + resources+: + { + '#': { help: '', name: 'resources' }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricNamespace(value): { metricNamespace: value }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRegion(value): { region: value }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceGroup(value): { resourceGroup: value }, + '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceName(value): { resourceName: value }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { subscription: value }, + }, + '#withTimeGrain': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The granularity of data points to be queried. Defaults to auto.' } }, + withTimeGrain(value): { azureMonitor+: { timeGrain: value } }, + '#withTimeGrainUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated' } }, + withTimeGrainUnit(value): { azureMonitor+: { timeGrainUnit: value } }, + '#withTop': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Maximum number of records to return. Defaults to 10.' } }, + withTop(value): { azureMonitor+: { top: value } }, + }, + '#withAzureResourceGraph': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAzureResourceGraph(value): { azureResourceGraph: value }, + '#withAzureResourceGraphMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAzureResourceGraphMixin(value): { azureResourceGraph+: value }, + azureResourceGraph+: + { + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure Resource Graph KQL query to be executed.' } }, + withQuery(value): { azureResourceGraph+: { query: value } }, + '#withResultFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the format results should be returned as. Defaults to table.' } }, + withResultFormat(value): { azureResourceGraph+: { resultFormat: value } }, + }, + '#withAzureTraces': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Application Insights Traces sub-query properties' } }, + withAzureTraces(value): { azureTraces: value }, + '#withAzureTracesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Application Insights Traces sub-query properties' } }, + withAzureTracesMixin(value): { azureTraces+: value }, + azureTraces+: + { + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters for property values.' } }, + withFilters(value): { azureTraces+: { filters: (if std.isArray(value) + then value + else [value]) } }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters for property values.' } }, + withFiltersMixin(value): { azureTraces+: { filters+: (if std.isArray(value) + then value + else [value]) } }, + filters+: + { + '#': { help: '', name: 'filters' }, + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to filter by.' } }, + withFilters(value): { filters: (if std.isArray(value) + then value + else [value]) }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to filter by.' } }, + withFiltersMixin(value): { filters+: (if std.isArray(value) + then value + else [value]) }, + '#withOperation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comparison operator to use. Either equals or not equals.' } }, + withOperation(value): { operation: value }, + '#withProperty': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Property name, auto-populated based on available traces.' } }, + withProperty(value): { property: value }, + }, + '#withOperationId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Operation ID. Used only for Traces queries.' } }, + withOperationId(value): { azureTraces+: { operationId: value } }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'KQL query to be executed.' } }, + withQuery(value): { azureTraces+: { query: value } }, + '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResources(value): { azureTraces+: { resources: (if std.isArray(value) + then value + else [value]) } }, + '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, + withResourcesMixin(value): { azureTraces+: { resources+: (if std.isArray(value) + then value + else [value]) } }, + '#withResultFormat': { 'function': { args: [{ default: null, enums: ['table', 'time_series', 'trace'], name: 'value', type: 'string' }], help: '' } }, + withResultFormat(value): { azureTraces+: { resultFormat: value } }, + '#withTraceTypes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Types of events to filter by.' } }, + withTraceTypes(value): { azureTraces+: { traceTypes: (if std.isArray(value) + then value + else [value]) } }, + '#withTraceTypesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Types of events to filter by.' } }, + withTraceTypesMixin(value): { azureTraces+: { traceTypes+: (if std.isArray(value) + then value + else [value]) } }, + }, + '#withGrafanaTemplateVariableFn': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGrafanaTemplateVariableFn(value): { grafanaTemplateVariableFn: value }, + '#withGrafanaTemplateVariableFnMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGrafanaTemplateVariableFnMixin(value): { grafanaTemplateVariableFn+: value }, + grafanaTemplateVariableFn+: + { + '#withAppInsightsMetricNameQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAppInsightsMetricNameQuery(value): { grafanaTemplateVariableFn+: { AppInsightsMetricNameQuery: value } }, + '#withAppInsightsMetricNameQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAppInsightsMetricNameQueryMixin(value): { grafanaTemplateVariableFn+: { AppInsightsMetricNameQuery+: value } }, + AppInsightsMetricNameQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['AppInsightsMetricNameQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + }, + '#withAppInsightsGroupByQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAppInsightsGroupByQuery(value): { grafanaTemplateVariableFn+: { AppInsightsGroupByQuery: value } }, + '#withAppInsightsGroupByQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withAppInsightsGroupByQueryMixin(value): { grafanaTemplateVariableFn+: { AppInsightsGroupByQuery+: value } }, + AppInsightsGroupByQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['AppInsightsGroupByQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricName(value): { grafanaTemplateVariableFn+: { metricName: value } }, + }, + '#withSubscriptionsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSubscriptionsQuery(value): { grafanaTemplateVariableFn+: { SubscriptionsQuery: value } }, + '#withSubscriptionsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSubscriptionsQueryMixin(value): { grafanaTemplateVariableFn+: { SubscriptionsQuery+: value } }, + SubscriptionsQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['SubscriptionsQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + }, + '#withResourceGroupsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withResourceGroupsQuery(value): { grafanaTemplateVariableFn+: { ResourceGroupsQuery: value } }, + '#withResourceGroupsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withResourceGroupsQueryMixin(value): { grafanaTemplateVariableFn+: { ResourceGroupsQuery+: value } }, + ResourceGroupsQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['ResourceGroupsQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withResourceNamesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withResourceNamesQuery(value): { grafanaTemplateVariableFn+: { ResourceNamesQuery: value } }, + '#withResourceNamesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withResourceNamesQueryMixin(value): { grafanaTemplateVariableFn+: { ResourceNamesQuery+: value } }, + ResourceNamesQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['ResourceNamesQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withMetricNamespaceQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetricNamespaceQuery(value): { grafanaTemplateVariableFn+: { MetricNamespaceQuery: value } }, + '#withMetricNamespaceQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetricNamespaceQueryMixin(value): { grafanaTemplateVariableFn+: { MetricNamespaceQuery+: value } }, + MetricNamespaceQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['MetricNamespaceQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, + '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withMetricDefinitionsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '@deprecated Use MetricNamespaceQuery instead' } }, + withMetricDefinitionsQuery(value): { grafanaTemplateVariableFn+: { MetricDefinitionsQuery: value } }, + '#withMetricDefinitionsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '@deprecated Use MetricNamespaceQuery instead' } }, + withMetricDefinitionsQueryMixin(value): { grafanaTemplateVariableFn+: { MetricDefinitionsQuery+: value } }, + MetricDefinitionsQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['MetricDefinitionsQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, + '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withMetricNamesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetricNamesQuery(value): { grafanaTemplateVariableFn+: { MetricNamesQuery: value } }, + '#withMetricNamesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetricNamesQueryMixin(value): { grafanaTemplateVariableFn+: { MetricNamesQuery+: value } }, + MetricNamesQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['MetricNamesQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, + '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withWorkspacesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withWorkspacesQuery(value): { grafanaTemplateVariableFn+: { WorkspacesQuery: value } }, + '#withWorkspacesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withWorkspacesQueryMixin(value): { grafanaTemplateVariableFn+: { WorkspacesQuery+: value } }, + WorkspacesQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['WorkspacesQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, + }, + '#withUnknownQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnknownQuery(value): { grafanaTemplateVariableFn+: { UnknownQuery: value } }, + '#withUnknownQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUnknownQueryMixin(value): { grafanaTemplateVariableFn+: { UnknownQuery+: value } }, + UnknownQuery+: + { + '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, + '#withKind': { 'function': { args: [{ default: null, enums: ['UnknownQuery'], name: 'value', type: 'string' }], help: '' } }, + withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, + }, + }, + '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withNamespace(value): { namespace: value }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure Monitor query type.\nqueryType: #AzureQueryType' } }, + withRegion(value): { region: value }, + '#withResource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withResource(value): { resource: value }, + '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Template variables params. These exist for backwards compatiblity with legacy template variables.' } }, + withResourceGroup(value): { resourceGroup: value }, + '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure subscription containing the resource(s) to be queried.' } }, + withSubscription(value): { subscription: value }, + '#withSubscriptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Subscriptions to be queried via Azure Resource Graph.' } }, + withSubscriptions(value): { subscriptions: (if std.isArray(value) + then value + else [value]) }, + '#withSubscriptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Subscriptions to be queried via Azure Resource Graph.' } }, + withSubscriptionsMixin(value): { subscriptions+: (if std.isArray(value) + then value + else [value]) }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet new file mode 100644 index 0000000000..ad5e4b5781 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet @@ -0,0 +1,310 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.cloudWatch', name: 'cloudWatch' }, + CloudWatchAnnotationQuery+: + { + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.' } }, + withAccountId(value): { accountId: value }, + '#withDimensions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, + withDimensions(value): { dimensions: value }, + '#withDimensionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, + withDimensionsMixin(value): { dimensions+: value }, + '#withMatchExact': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only show metrics that exactly match all defined dimension names.' } }, + withMatchExact(value=true): { matchExact: value }, + '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the metric' } }, + withMetricName(value): { metricName: value }, + '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.' } }, + withNamespace(value): { namespace: value }, + '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes" } }, + withPeriod(value): { period: value }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the metric' } }, + withRegion(value): { region: value }, + '#withStatistic': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.' } }, + withStatistic(value): { statistic: value }, + '#withStatistics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, + withStatistics(value): { statistics: (if std.isArray(value) + then value + else [value]) }, + '#withStatisticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, + withStatisticsMixin(value): { statistics+: (if std.isArray(value) + then value + else [value]) }, + '#withActionPrefix': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use this parameter to filter the results of the operation to only those alarms\nthat use a certain alarm action. For example, you could specify the ARN of\nan SNS topic to find all alarms that send notifications to that topic.\ne.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action`\nbut not match `arn:aws:sns:us-east-1:123456789012:your-app-action`' } }, + withActionPrefix(value): { actionPrefix: value }, + '#withAlarmNamePrefix': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An alarm name prefix. If you specify this parameter, you receive information\nabout all alarms that have names that start with this prefix.\ne.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu`' } }, + withAlarmNamePrefix(value): { alarmNamePrefix: value }, + '#withPrefixMatching': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix' } }, + withPrefixMatching(value=true): { prefixMatching: value }, + '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, + withQueryMode(value): { queryMode: value }, + }, + CloudWatchLogsQuery+: + { + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The CloudWatch Logs Insights query to execute' } }, + withExpression(value): { expression: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withLogGroupNames': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use logGroups' } }, + withLogGroupNames(value): { logGroupNames: (if std.isArray(value) + then value + else [value]) }, + '#withLogGroupNamesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use logGroups' } }, + withLogGroupNamesMixin(value): { logGroupNames+: (if std.isArray(value) + then value + else [value]) }, + '#withLogGroups': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Log groups to query' } }, + withLogGroups(value): { logGroups: (if std.isArray(value) + then value + else [value]) }, + '#withLogGroupsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Log groups to query' } }, + withLogGroupsMixin(value): { logGroups+: (if std.isArray(value) + then value + else [value]) }, + logGroups+: + { + '#': { help: '', name: 'logGroups' }, + '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AccountId of the log group' } }, + withAccountId(value): { accountId: value }, + '#withAccountLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Label of the log group' } }, + withAccountLabel(value): { accountLabel: value }, + '#withArn': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'ARN of the log group' } }, + withArn(value): { arn: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the log group' } }, + withName(value): { name: value }, + }, + '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, + withQueryMode(value): { queryMode: value }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the logs' } }, + withRegion(value): { region: value }, + '#withStatsGroups': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Fields to group the results by, this field is automatically populated whenever the query is updated' } }, + withStatsGroups(value): { statsGroups: (if std.isArray(value) + then value + else [value]) }, + '#withStatsGroupsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Fields to group the results by, this field is automatically populated whenever the query is updated' } }, + withStatsGroupsMixin(value): { statsGroups+: (if std.isArray(value) + then value + else [value]) }, + }, + CloudWatchMetricsQuery+: + { + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.' } }, + withAccountId(value): { accountId: value }, + '#withDimensions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, + withDimensions(value): { dimensions: value }, + '#withDimensionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, + withDimensionsMixin(value): { dimensions+: value }, + '#withMatchExact': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only show metrics that exactly match all defined dimension names.' } }, + withMatchExact(value=true): { matchExact: value }, + '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the metric' } }, + withMetricName(value): { metricName: value }, + '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.' } }, + withNamespace(value): { namespace: value }, + '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes" } }, + withPeriod(value): { period: value }, + '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the metric' } }, + withRegion(value): { region: value }, + '#withStatistic': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.' } }, + withStatistic(value): { statistic: value }, + '#withStatistics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, + withStatistics(value): { statistics: (if std.isArray(value) + then value + else [value]) }, + '#withStatisticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, + withStatisticsMixin(value): { statistics+: (if std.isArray(value) + then value + else [value]) }, + '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Deprecated: use label\n@deprecated use label' } }, + withAlias(value): { alias: value }, + '#withExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Math expression query' } }, + withExpression(value): { expression: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter.' } }, + withId(value): { id: value }, + '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details.' } }, + withLabel(value): { label: value }, + '#withMetricEditorMode': { 'function': { args: [{ default: null, enums: [0, 1], name: 'value', type: 'integer' }], help: '' } }, + withMetricEditorMode(value): { metricEditorMode: value }, + '#withMetricQueryType': { 'function': { args: [{ default: null, enums: [0, 1], name: 'value', type: 'integer' }], help: '' } }, + withMetricQueryType(value): { metricQueryType: value }, + '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, + withQueryMode(value): { queryMode: value }, + '#withSql': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSql(value): { sql: value }, + '#withSqlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSqlMixin(value): { sql+: value }, + sql+: + { + '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'FROM part of the SQL expression' } }, + withFrom(value): { sql+: { from: value } }, + '#withFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'FROM part of the SQL expression' } }, + withFromMixin(value): { sql+: { from+: value } }, + from+: + { + '#withQueryEditorPropertyExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryEditorPropertyExpression(value): { sql+: { from+: { QueryEditorPropertyExpression: value } } }, + '#withQueryEditorPropertyExpressionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryEditorPropertyExpressionMixin(value): { sql+: { from+: { QueryEditorPropertyExpression+: value } } }, + QueryEditorPropertyExpression+: + { + '#withProperty': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withProperty(value): { sql+: { from+: { property: value } } }, + '#withPropertyMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPropertyMixin(value): { sql+: { from+: { property+: value } } }, + property+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { sql+: { from+: { property+: { name: value } } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['string'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { from+: { property+: { type: value } } } }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { from+: { type: value } } }, + }, + '#withQueryEditorFunctionExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryEditorFunctionExpression(value): { sql+: { from+: { QueryEditorFunctionExpression: value } } }, + '#withQueryEditorFunctionExpressionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withQueryEditorFunctionExpressionMixin(value): { sql+: { from+: { QueryEditorFunctionExpression+: value } } }, + QueryEditorFunctionExpression+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { sql+: { from+: { name: value } } }, + '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParameters(value): { sql+: { from+: { parameters: (if std.isArray(value) + then value + else [value]) } } }, + '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParametersMixin(value): { sql+: { from+: { parameters+: (if std.isArray(value) + then value + else [value]) } } }, + parameters+: + { + '#': { help: '', name: 'parameters' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { from+: { type: value } } }, + }, + }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGroupBy(value): { sql+: { groupBy: value } }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withGroupByMixin(value): { sql+: { groupBy+: value } }, + groupBy+: + { + '#withExpressions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExpressions(value): { sql+: { groupBy+: { expressions: (if std.isArray(value) + then value + else [value]) } } }, + '#withExpressionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExpressionsMixin(value): { sql+: { groupBy+: { expressions+: (if std.isArray(value) + then value + else [value]) } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['and', 'or'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { groupBy+: { type: value } } }, + }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'LIMIT part of the SQL expression' } }, + withLimit(value): { sql+: { limit: value } }, + '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOrderBy(value): { sql+: { orderBy: value } }, + '#withOrderByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withOrderByMixin(value): { sql+: { orderBy+: value } }, + orderBy+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { sql+: { orderBy+: { name: value } } }, + '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParameters(value): { sql+: { orderBy+: { parameters: (if std.isArray(value) + then value + else [value]) } } }, + '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParametersMixin(value): { sql+: { orderBy+: { parameters+: (if std.isArray(value) + then value + else [value]) } } }, + parameters+: + { + '#': { help: '', name: 'parameters' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { orderBy+: { type: value } } }, + }, + '#withOrderByDirection': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The sort order of the SQL expression, `ASC` or `DESC`' } }, + withOrderByDirection(value): { sql+: { orderByDirection: value } }, + '#withSelect': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSelect(value): { sql+: { select: value } }, + '#withSelectMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSelectMixin(value): { sql+: { select+: value } }, + select+: + { + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { sql+: { select+: { name: value } } }, + '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParameters(value): { sql+: { select+: { parameters: (if std.isArray(value) + then value + else [value]) } } }, + '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withParametersMixin(value): { sql+: { select+: { parameters+: (if std.isArray(value) + then value + else [value]) } } }, + parameters+: + { + '#': { help: '', name: 'parameters' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { select+: { type: value } } }, + }, + '#withWhere': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withWhere(value): { sql+: { where: value } }, + '#withWhereMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withWhereMixin(value): { sql+: { where+: value } }, + where+: + { + '#withExpressions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExpressions(value): { sql+: { where+: { expressions: (if std.isArray(value) + then value + else [value]) } } }, + '#withExpressionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withExpressionsMixin(value): { sql+: { where+: { expressions+: (if std.isArray(value) + then value + else [value]) } } }, + '#withType': { 'function': { args: [{ default: null, enums: ['and', 'or'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { sql+: { where+: { type: value } } }, + }, + }, + '#withSqlExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string.' } }, + withSqlExpression(value): { sqlExpression: value }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet new file mode 100644 index 0000000000..b94b2a3178 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet @@ -0,0 +1,763 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.elasticsearch', name: 'elasticsearch' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alias pattern' } }, + withAlias(value): { alias: value }, + '#withBucketAggs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of bucket aggregations' } }, + withBucketAggs(value): { bucketAggs: (if std.isArray(value) + then value + else [value]) }, + '#withBucketAggsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of bucket aggregations' } }, + withBucketAggsMixin(value): { bucketAggs+: (if std.isArray(value) + then value + else [value]) }, + bucketAggs+: + { + '#': { help: '', name: 'bucketAggs' }, + DateHistogram+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInterval(value): { settings+: { interval: value } }, + '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMinDocCount(value): { settings+: { min_doc_count: value } }, + '#withOffset': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOffset(value): { settings+: { offset: value } }, + '#withTimeZone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTimeZone(value): { settings+: { timeZone: value } }, + '#withTrimEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withTrimEdges(value): { settings+: { trimEdges: value } }, + }, + }, + Histogram+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInterval(value): { settings+: { interval: value } }, + '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMinDocCount(value): { settings+: { min_doc_count: value } }, + }, + }, + Terms+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMinDocCount(value): { settings+: { min_doc_count: value } }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + '#withOrder': { 'function': { args: [{ default: null, enums: ['desc', 'asc'], name: 'value', type: 'string' }], help: '' } }, + withOrder(value): { settings+: { order: value } }, + '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOrderBy(value): { settings+: { orderBy: value } }, + '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSize(value): { settings+: { size: value } }, + }, + }, + Filters+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFilters(value): { settings+: { filters: (if std.isArray(value) + then value + else [value]) } }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFiltersMixin(value): { settings+: { filters+: (if std.isArray(value) + then value + else [value]) } }, + filters+: + { + '#': { help: '', name: 'filters' }, + '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLabel(value): { label: value }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withQuery(value): { query: value }, + }, + }, + }, + GeoHashGrid+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withPrecision': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPrecision(value): { settings+: { precision: value } }, + }, + }, + Nested+: + { + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + }, + }, + '#withMetrics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of metric aggregations' } }, + withMetrics(value): { metrics: (if std.isArray(value) + then value + else [value]) }, + '#withMetricsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of metric aggregations' } }, + withMetricsMixin(value): { metrics+: (if std.isArray(value) + then value + else [value]) }, + metrics+: + { + '#': { help: '', name: 'metrics' }, + Count+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + }, + PipelineMetricAggregation+: + { + MovingAverage+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + }, + Derivative+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUnit(value): { settings+: { unit: value } }, + }, + }, + CumulativeSum+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFormat(value): { settings+: { format: value } }, + }, + }, + BucketScript+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withPipelineVariables': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPipelineVariables(value): { pipelineVariables: (if std.isArray(value) + then value + else [value]) }, + '#withPipelineVariablesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPipelineVariablesMixin(value): { pipelineVariables+: (if std.isArray(value) + then value + else [value]) }, + pipelineVariables+: + { + '#': { help: '', name: 'pipelineVariables' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + }, + }, + }, + MetricAggregationWithSettings+: + { + BucketScript+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withPipelineVariables': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPipelineVariables(value): { pipelineVariables: (if std.isArray(value) + then value + else [value]) }, + '#withPipelineVariablesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPipelineVariablesMixin(value): { pipelineVariables+: (if std.isArray(value) + then value + else [value]) }, + pipelineVariables+: + { + '#': { help: '', name: 'pipelineVariables' }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + }, + }, + CumulativeSum+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withFormat(value): { settings+: { format: value } }, + }, + }, + Derivative+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUnit(value): { settings+: { unit: value } }, + }, + }, + SerialDiff+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withLag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLag(value): { settings+: { lag: value } }, + }, + }, + RawData+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSize(value): { settings+: { size: value } }, + }, + }, + RawDocument+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSize(value): { settings+: { size: value } }, + }, + }, + UniqueCount+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + '#withPrecisionThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPrecisionThreshold(value): { settings+: { precision_threshold: value } }, + }, + }, + Percentiles+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + '#withPercents': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPercents(value): { settings+: { percents: (if std.isArray(value) + then value + else [value]) } }, + '#withPercentsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPercentsMixin(value): { settings+: { percents+: (if std.isArray(value) + then value + else [value]) } }, + }, + }, + ExtendedStats+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + '#withSigma': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withSigma(value): { settings+: { sigma: value } }, + }, + '#withMeta': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMeta(value): { meta: value }, + '#withMetaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withMetaMixin(value): { meta+: value }, + }, + Min+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + }, + }, + Max+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + }, + }, + Sum+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + }, + }, + Average+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMissing(value): { settings+: { missing: value } }, + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + }, + }, + MovingAverage+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + }, + MovingFunction+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPipelineAgg(value): { pipelineAgg: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScript(value): { settings+: { script: value } }, + '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withScriptMixin(value): { settings+: { script+: value } }, + script+: + { + '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withInline(value): { settings+: { script+: { inline: value } } }, + }, + '#withShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withShift(value): { settings+: { shift: value } }, + '#withWindow': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withWindow(value): { settings+: { window: value } }, + }, + }, + Logs+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLimit(value): { settings+: { limit: value } }, + }, + }, + Rate+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withField(value): { field: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMode(value): { settings+: { mode: value } }, + '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUnit(value): { settings+: { unit: value } }, + }, + }, + TopMetrics+: + { + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withHide(value=true): { hide: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withId(value): { id: value }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { type: value }, + '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettings(value): { settings: value }, + '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSettingsMixin(value): { settings+: value }, + settings+: + { + '#withMetrics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMetrics(value): { settings+: { metrics: (if std.isArray(value) + then value + else [value]) } }, + '#withMetricsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withMetricsMixin(value): { settings+: { metrics+: (if std.isArray(value) + then value + else [value]) } }, + '#withOrder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOrder(value): { settings+: { order: value } }, + '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withOrderBy(value): { settings+: { orderBy: value } }, + }, + }, + }, + }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Lucene query' } }, + withQuery(value): { query: value }, + '#withTimeField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of time field' } }, + withTimeField(value): { timeField: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet new file mode 100644 index 0000000000..67fd2827ba --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet @@ -0,0 +1,26 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.grafanaPyroscope', name: 'grafanaPyroscope' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Allows to group the results.' } }, + withGroupBy(value): { groupBy: (if std.isArray(value) + then value + else [value]) }, + '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Allows to group the results.' } }, + withGroupByMixin(value): { groupBy+: (if std.isArray(value) + then value + else [value]) }, + '#withLabelSelector': { 'function': { args: [{ default: '{}', enums: null, name: 'value', type: 'string' }], help: 'Specifies the query label selectors.' } }, + withLabelSelector(value='{}'): { labelSelector: value }, + '#withMaxNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the maximum number of nodes in the flamegraph.' } }, + withMaxNodes(value): { maxNodes: value }, + '#withProfileTypeId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the type of profile to query.' } }, + withProfileTypeId(value): { profileTypeId: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet new file mode 100644 index 0000000000..b15000229e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet @@ -0,0 +1,26 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.loki', name: 'loki' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, + withEditorMode(value): { editorMode: value }, + '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The LogQL query.' } }, + withExpr(value): { expr: value }, + '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, + withInstant(value=true): { instant: value }, + '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Used to override the name of the series.' } }, + withLegendFormat(value): { legendFormat: value }, + '#withMaxLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to limit the number of log rows returned.' } }, + withMaxLines(value): { maxLines: value }, + '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, + withRange(value=true): { range: value }, + '#withResolution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to scale the interval value.' } }, + withResolution(value): { resolution: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet new file mode 100644 index 0000000000..832453d5af --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet @@ -0,0 +1,16 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.parca', name: 'parca' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withLabelSelector': { 'function': { args: [{ default: '{}', enums: null, name: 'value', type: 'string' }], help: 'Specifies the query label selectors.' } }, + withLabelSelector(value='{}'): { labelSelector: value }, + '#withProfileTypeId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the type of profile to query.' } }, + withProfileTypeId(value): { profileTypeId: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet new file mode 100644 index 0000000000..71adff65c4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet @@ -0,0 +1,28 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.prometheus', name: 'prometheus' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, + withEditorMode(value): { editorMode: value }, + '#withExemplar': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Execute an additional query to identify interesting raw samples relevant for the given expr' } }, + withExemplar(value=true): { exemplar: value }, + '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The actual expression/query that will be evaluated by Prometheus' } }, + withExpr(value): { expr: value }, + '#withFormat': { 'function': { args: [{ default: null, enums: ['time_series', 'table', 'heatmap'], name: 'value', type: 'string' }], help: '' } }, + withFormat(value): { format: value }, + '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns only the latest value that Prometheus has scraped for the requested time series' } }, + withInstant(value=true): { instant: value }, + '#withIntervalFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '@deprecated Used to specify how many times to divide max data points by. We use max data points under query options\nSee https://github.com/grafana/grafana/issues/48081' } }, + withIntervalFactor(value): { intervalFactor: value }, + '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname' } }, + withLegendFormat(value): { legendFormat: value }, + '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series' } }, + withRange(value=true): { range: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet new file mode 100644 index 0000000000..d80af81688 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet @@ -0,0 +1,54 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.tempo', name: 'tempo' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFilters(value): { filters: (if std.isArray(value) + then value + else [value]) }, + '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFiltersMixin(value): { filters+: (if std.isArray(value) + then value + else [value]) }, + filters+: + { + '#': { help: '', name: 'filters' }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Uniquely identify the filter, will not be used in the query generation' } }, + withId(value): { id: value }, + '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The operator that connects the tag to the value, for example: =, >, !=, =~' } }, + withOperator(value): { operator: value }, + '#withScope': { 'function': { args: [{ default: null, enums: ['unscoped', 'resource', 'span'], name: 'value', type: 'string' }], help: 'static fields are pre-set in the UI, dynamic fields are added by the user' } }, + withScope(value): { scope: value }, + '#withTag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The tag for the search filter, for example: .http.status_code, .service.name, status' } }, + withTag(value): { tag: value }, + '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, + withValue(value): { value: value }, + '#withValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, + withValueMixin(value): { value+: value }, + '#withValueType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query' } }, + withValueType(value): { valueType: value }, + }, + '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Defines the maximum number of traces that are returned from Tempo' } }, + withLimit(value): { limit: value }, + '#withMaxDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, + withMaxDuration(value): { maxDuration: value }, + '#withMinDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, + withMinDuration(value): { minDuration: value }, + '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TraceQL query or trace ID' } }, + withQuery(value): { query: value }, + '#withSearch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true' } }, + withSearch(value): { search: value }, + '#withServiceMapQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}' } }, + withServiceMapQuery(value): { serviceMapQuery: value }, + '#withServiceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by service name' } }, + withServiceName(value): { serviceName: value }, + '#withSpanName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by span name' } }, + withSpanName(value): { spanName: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet new file mode 100644 index 0000000000..63fbc79d85 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet @@ -0,0 +1,168 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.query.testData', name: 'testData' }, + '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, + withDatasource(value): { datasource: value }, + '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, + withHide(value=true): { hide: value }, + '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, + withQueryType(value): { queryType: value }, + '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, + withRefId(value): { refId: value }, + '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withAlias(value): { alias: value }, + '#withChannel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withChannel(value): { channel: value }, + '#withCsvContent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withCsvContent(value): { csvContent: value }, + '#withCsvFileName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withCsvFileName(value): { csvFileName: value }, + '#withCsvWave': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCsvWave(value): { csvWave: (if std.isArray(value) + then value + else [value]) }, + '#withCsvWaveMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withCsvWaveMixin(value): { csvWave+: (if std.isArray(value) + then value + else [value]) }, + csvWave+: + { + '#': { help: '', name: 'csvWave' }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLabels(value): { labels: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withName(value): { name: value }, + '#withTimeStep': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withTimeStep(value): { timeStep: value }, + '#withValuesCSV': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withValuesCSV(value): { valuesCSV: value }, + }, + '#withErrorType': { 'function': { args: [{ default: null, enums: ['server_panic', 'frontend_exception', 'frontend_observable'], name: 'value', type: 'string' }], help: '' } }, + withErrorType(value): { errorType: value }, + '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withLabels(value): { labels: value }, + '#withLevelColumn': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLevelColumn(value=true): { levelColumn: value }, + '#withLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withLines(value): { lines: value }, + '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodes(value): { nodes: value }, + '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withNodesMixin(value): { nodes+: value }, + nodes+: + { + '#withCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withCount(value): { nodes+: { count: value } }, + '#withType': { 'function': { args: [{ default: null, enums: ['random', 'response', 'random edges'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { nodes+: { type: value } }, + }, + '#withPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPoints(value): { points: (if std.isArray(value) + then value + else [value]) }, + '#withPointsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withPointsMixin(value): { points+: (if std.isArray(value) + then value + else [value]) }, + '#withPulseWave': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPulseWave(value): { pulseWave: value }, + '#withPulseWaveMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withPulseWaveMixin(value): { pulseWave+: value }, + pulseWave+: + { + '#withOffCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withOffCount(value): { pulseWave+: { offCount: value } }, + '#withOffValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withOffValue(value): { pulseWave+: { offValue: value } }, + '#withOnCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withOnCount(value): { pulseWave+: { onCount: value } }, + '#withOnValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withOnValue(value): { pulseWave+: { onValue: value } }, + '#withTimeStep': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withTimeStep(value): { pulseWave+: { timeStep: value } }, + }, + '#withRawFrameContent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withRawFrameContent(value): { rawFrameContent: value }, + '#withScenarioId': { 'function': { args: [{ default: null, enums: ['random_walk', 'slow_query', 'random_walk_with_error', 'random_walk_table', 'exponential_heatmap_bucket_data', 'linear_heatmap_bucket_data', 'no_data_points', 'datapoints_outside_range', 'csv_metric_values', 'predictable_pulse', 'predictable_csv_wave', 'streaming_client', 'simulation', 'usa', 'live', 'grafana_api', 'arrow', 'annotations', 'table_static', 'server_error_500', 'logs', 'node_graph', 'flame_graph', 'raw_frame', 'csv_file', 'csv_content', 'trace', 'manual_entry', 'variables-query'], name: 'value', type: 'string' }], help: '' } }, + withScenarioId(value): { scenarioId: value }, + '#withSeriesCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSeriesCount(value): { seriesCount: value }, + '#withSim': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSim(value): { sim: value }, + '#withSimMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withSimMixin(value): { sim+: value }, + sim+: + { + '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withConfig(value): { sim+: { config: value } }, + '#withConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withConfigMixin(value): { sim+: { config+: value } }, + '#withKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withKey(value): { sim+: { key: value } }, + '#withKeyMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withKeyMixin(value): { sim+: { key+: value } }, + key+: + { + '#withTick': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, + withTick(value): { sim+: { key+: { tick: value } } }, + '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withType(value): { sim+: { key+: { type: value } } }, + '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUid(value): { sim+: { key+: { uid: value } } }, + }, + '#withLast': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withLast(value=true): { sim+: { last: value } }, + '#withStream': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, + withStream(value=true): { sim+: { stream: value } }, + }, + '#withSpanCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSpanCount(value): { spanCount: value }, + '#withStream': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStream(value): { stream: value }, + '#withStreamMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withStreamMixin(value): { stream+: value }, + stream+: + { + '#withBands': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withBands(value): { stream+: { bands: value } }, + '#withNoise': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withNoise(value): { stream+: { noise: value } }, + '#withSpeed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSpeed(value): { stream+: { speed: value } }, + '#withSpread': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, + withSpread(value): { stream+: { spread: value } }, + '#withType': { 'function': { args: [{ default: null, enums: ['signal', 'logs', 'fetch'], name: 'value', type: 'string' }], help: '' } }, + withType(value): { stream+: { type: value } }, + '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withUrl(value): { stream+: { url: value } }, + }, + '#withStringInput': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withStringInput(value): { stringInput: value }, + '#withUsa': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUsa(value): { usa: value }, + '#withUsaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, + withUsaMixin(value): { usa+: value }, + usa+: + { + '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFields(value): { usa+: { fields: (if std.isArray(value) + then value + else [value]) } }, + '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withFieldsMixin(value): { usa+: { fields+: (if std.isArray(value) + then value + else [value]) } }, + '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withMode(value): { usa+: { mode: value } }, + '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, + withPeriod(value): { usa+: { period: value } }, + '#withStates': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withStates(value): { usa+: { states: (if std.isArray(value) + then value + else [value]) } }, + '#withStatesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, + withStatesMixin(value): { usa+: { states+: (if std.isArray(value) + then value + else [value]) } }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet new file mode 100644 index 0000000000..d401e96f2a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet @@ -0,0 +1,32 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.serviceaccount', name: 'serviceaccount' }, + '#withAccessControl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, + withAccessControl(value): { accessControl: value }, + '#withAccessControlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, + withAccessControlMixin(value): { accessControl+: value }, + '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front\nof the service account." } }, + withAvatarUrl(value): { avatarUrl: value }, + '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'ID is the unique identifier of the service account in the database.' } }, + withId(value): { id: value }, + '#withIsDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'IsDisabled indicates if the service account is disabled.' } }, + withIsDisabled(value=true): { isDisabled: value }, + '#withLogin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Login of the service account.' } }, + withLogin(value): { login: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the service account.' } }, + withName(value): { name: value }, + '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'OrgId is the ID of an organisation the service account belongs to.' } }, + withOrgId(value): { orgId: value }, + '#withRole': { 'function': { args: [{ default: null, enums: ['Admin', 'Editor', 'Viewer'], name: 'value', type: 'string' }], help: "OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'." } }, + withRole(value): { role: value }, + '#withTeams': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Teams is a list of teams the service account belongs to.' } }, + withTeams(value): { teams: (if std.isArray(value) + then value + else [value]) }, + '#withTeamsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Teams is a list of teams the service account belongs to.' } }, + withTeamsMixin(value): { teams+: (if std.isArray(value) + then value + else [value]) }, + '#withTokens': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Tokens is the number of active tokens for the service account.\nTokens are used to authenticate the service account against Grafana.' } }, + withTokens(value): { tokens: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet new file mode 100644 index 0000000000..c8f7ff7e28 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet @@ -0,0 +1,20 @@ +// This file is generated, do not manually edit. +{ + '#': { help: 'grafonnet.team', name: 'team' }, + '#withAccessControl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, + withAccessControl(value): { accessControl: value }, + '#withAccessControlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, + withAccessControlMixin(value): { accessControl+: value }, + '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "AvatarUrl is the team's avatar URL." } }, + withAvatarUrl(value): { avatarUrl: value }, + '#withEmail': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Email of the team.' } }, + withEmail(value): { email: value }, + '#withMemberCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'MemberCount is the number of the team members.' } }, + withMemberCount(value): { memberCount: value }, + '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the team.' } }, + withName(value): { name: value }, + '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'OrgId is the ID of an organisation the team belongs to.' } }, + withOrgId(value): { orgId: value }, + '#withPermission': { 'function': { args: [{ default: null, enums: [0, 1, 2, 4], name: 'value', type: 'integer' }], help: '' } }, + withPermission(value): { permission: value }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md new file mode 100644 index 0000000000..fb85608dd9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md @@ -0,0 +1,20 @@ + +## Panels overview + +All panels in this lib should implement one of the following methods: + +- `panel.new(title,targets,description)` - creates new panel. List of arguments could vary; +- `panel.stylize(allLayers=true)` - directly applies this panel style to existing panel. By default includes all layers of styles. To apply only top layer, set allLayers=false. This mode is useful to cherry-pick style layers to create new style combination. + +Some other methods could be found such as: +- `panel.stylizeByRegexp(regexp)` - attaches style as panel overrides (by regexp); +- `panel.stylizeByName(name)` - attaches style as panel overrides (by name). + +## Panels common groups + +This library consists of multiple common groups of panels for widely used resources such as CPU, memory, disks and so on. + +All of those groups inherit `generic` group as their base. + +All panels inherit `generic/base.libsonnet` via `generic//base.libsonnet`. + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile new file mode 100644 index 0000000000..46933e1a4c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile @@ -0,0 +1,23 @@ +JSONNET_FMT := jsonnetfmt -n 2 --max-blank-lines 1 --string-style s --comment-style s + +.PHONY: all +all: build + +vendor: jsonnetfile.json + jb install + +.PHONY: build +build: vendor + +.PHONY: fmt +fmt: + find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ + xargs -n 1 -- $(JSONNET_FMT) -i + +.PHONY: lint +lint: build + find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ + while read f; do \ + $(JSONNET_FMT) "$$f" | diff -u "$$f" -; \ + done + diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md new file mode 100644 index 0000000000..93b3563242 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md @@ -0,0 +1,33 @@ +# Grafana integrations common lib + +This common library can be used to quickly create dashboards' `panels` and `annotations`. + +By using this common library we can 'enforce' common style choices across multiple dashboards and mixins. + +## Import + +```sh +jb init +jb install https://github.com/grafana/jsonnet-libs/common-lib +``` + +## Use + +### Create new panel + +```jsonnet + +local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; +local cpuUsage = commonlib.panels.cpu.timeSeries.utilization.new(targets=[targets.cpuUsage]); + +``` + +### Mutate exisiting panel with style options + +```jsonnet + +local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; +local cpuPanel = oldPanel + commonlib.panels.cpu.timeSeries.utilization.stylize(); +``` + +See [windows-observ-lib](./windows-observ-lib) for full example. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet new file mode 100644 index 0000000000..8cb149be72 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet @@ -0,0 +1,32 @@ +local g = import '../g.libsonnet'; +local annotation = g.dashboard.annotation; +{ + new( + title, + target, + ): + annotation.withEnable(true) + + annotation.withName(title) + + annotation.withDatasourceMixin(target.datasource) + { + titleFormat: title, + expr: target.expr, + + } + + (if std.objectHas(target, 'interval') then { step: target.interval } else {}), + + withTagKeys(value): + { + tagKeys: value, + }, + withValueForTime(value=false): + { + useValueForTime: value, + }, + withTextFormat(value=''): + { + textFormat: value, + }, + + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet new file mode 100644 index 0000000000..409d62d252 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet @@ -0,0 +1,14 @@ +local g = import '../g.libsonnet'; +local annotation = g.dashboard.annotation; +local base = import './base.libsonnet'; + +// Show fatal or critical events as annotations +base { + new( + title, + target, + ): + super.new(title, target) + + annotation.withIconColor('light-purple') + + annotation.withHide(true), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet new file mode 100644 index 0000000000..a904f9f3a8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet @@ -0,0 +1,6 @@ +{ + base: import './base.libsonnet', + reboot: import './reboot.libsonnet', + serviceFailed: import './service_failed.libsonnet', + fatal: import './fatal.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet new file mode 100644 index 0000000000..a6d67e1110 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet @@ -0,0 +1,16 @@ +local g = import '../g.libsonnet'; +local annotation = g.dashboard.annotation; +local base = import './base.libsonnet'; + +base { + new( + title, + target, + instanceLabels, + ): + super.new(title, target) + + annotation.withIconColor('light-yellow') + + annotation.withHide(true) + + { useValueForTime: 'on' } + + base.withTagKeys(instanceLabels), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet new file mode 100644 index 0000000000..63f601f055 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet @@ -0,0 +1,13 @@ +local g = import '../g.libsonnet'; +local annotation = g.dashboard.annotation; +local base = import './base.libsonnet'; + +base { + new( + title, + target, + ): + super.new(title, target) + + annotation.withIconColor('light-orange') + + annotation.withHide(true), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet new file mode 100644 index 0000000000..6da9f4eef9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet @@ -0,0 +1 @@ +import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet new file mode 100644 index 0000000000..4b7c76e3b0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet @@ -0,0 +1,5 @@ +{ + annotations: import './annotations/main.libsonnet', + panels: import './panels.libsonnet', + utils: import './utils.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet new file mode 100644 index 0000000000..f054c0e316 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet @@ -0,0 +1,33 @@ +local g = import './g.libsonnet'; + +{ + generic: { + stat: import './panels/generic/stat/main.libsonnet', + timeSeries: import './panels/generic/timeSeries/main.libsonnet', + table: import './panels/generic/table/main.libsonnet', + statusHistory: import './panels/generic/statusHistory/main.libsonnet', + }, + network: { + timeSeries: import './panels/network/timeSeries/main.libsonnet', + statusHistory: import './panels/network/statusHistory/main.libsonnet', + }, + system: { + stat: import './panels/system/stat/main.libsonnet', + table: import './panels/system/table/main.libsonnet', + statusHistory: import './panels/system/statusHistory/main.libsonnet', + timeSeries: import './panels/system/timeSeries/main.libsonnet', + }, + cpu: { + stat: import './panels/cpu/stat/main.libsonnet', + timeSeries: import './panels/cpu/timeSeries/main.libsonnet', + }, + memory: { + stat: import './panels/memory/stat/main.libsonnet', + timeSeries: import './panels/memory/timeSeries/main.libsonnet', + }, + disk: { + timeSeries: import './panels/disk/timeSeries/main.libsonnet', + table: import './panels/disk/table/main.libsonnet', + stat: import './panels/disk/stat/main.libsonnet', + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet new file mode 100644 index 0000000000..587b02b91f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet @@ -0,0 +1,7 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import '../../generic/stat/base.libsonnet'; + +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet new file mode 100644 index 0000000000..915060b491 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet @@ -0,0 +1,21 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; + +base { + new( + title='CPU count', + targets, + description=||| + CPU count is the number of processor cores or central processing units (CPUs) in a computer, + determining its processing capability and ability to handle tasks concurrently. + ||| + ): + super.new(title, targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.info.stylize(allLayers=false), + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet new file mode 100644 index 0000000000..df20b658e5 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet @@ -0,0 +1,5 @@ +{ + base: import './base.libsonnet', + usage: import './usage.libsonnet', + count: import './count.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet new file mode 100644 index 0000000000..bf019157de --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet @@ -0,0 +1,22 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; + +base { + new( + title='CPU usage', + targets, + description=||| + Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system. + It represents the combined load placed on all CPU cores or processors. + + For instance, if the total CPU utilization percent is 50%, it means that, + on average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high. + ||| + ): + super.new(title, targets, description), + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.percentage.stylize(allLayers=false), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet new file mode 100644 index 0000000000..622d9bed7c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet @@ -0,0 +1,6 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/timeSeries/base.libsonnet'; + +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet new file mode 100644 index 0000000000..3e90065783 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet @@ -0,0 +1,5 @@ +{ + base: import './base.libsonnet', + utilization: import './utilization.libsonnet', + utilizationByMode: import './utilization_by_mode.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet new file mode 100644 index 0000000000..fd365ac097 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet @@ -0,0 +1,22 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +base { + new( + title='CPU usage', + targets, + description=||| + Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system. + It represents the combined load placed on all CPU cores or processors. + + For instance, if the total CPU utilization percent is 50%, it means that, + on average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high. + ||| + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.percentage.stylize(allLayers=false), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet new file mode 100644 index 0000000000..18b0e90b1b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet @@ -0,0 +1,20 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +base { + new( + title='CPU usage', + targets, + description=||| + CPU utilization percent by core is a metric that indicates level of central processing unit (CPU) usage in a computer system. + It represents the load placed on each CPU core or processors. + ||| + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.percentage.stylize(allLayers=false) + + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet new file mode 100644 index 0000000000..177c6ea496 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet @@ -0,0 +1,45 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +base { + new( + title='CPU usage by modes', + targets, + description='CPU usage by different modes.' + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + local timeSeries = g.panel.timeSeries; + local fieldOverride = g.panel.timeSeries.fieldOverride; + + (if allLayers then super.stylize() else {}) + + + timeSeries.standardOptions.withUnit('percent') + + timeSeries.fieldConfig.defaults.custom.withFillOpacity(80) + + timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }) + + timeSeries.standardOptions.withOverrides( + [ + fieldOverride.byName.new('idle') + + fieldOverride.byName.withPropertiesFromOptions( + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-blue'), + ), + fieldOverride.byName.new('interrupt') + + fieldOverride.byName.withPropertiesFromOptions( + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-purple'), + ), + fieldOverride.byName.new('user') + + fieldOverride.byName.withPropertiesFromOptions( + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-orange'), + ), + fieldOverride.byRegexp.new('system|privileged') + + fieldOverride.byRegexp.withPropertiesFromOptions( + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-red'), + ), + ] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet new file mode 100644 index 0000000000..09aef26e72 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet @@ -0,0 +1,6 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import '../../generic/stat/base.libsonnet'; + +base { +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet new file mode 100644 index 0000000000..79f34433d3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet @@ -0,0 +1,4 @@ +{ + base: import './base.libsonnet', + total: import './total.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet new file mode 100644 index 0000000000..6e81dfc059 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet @@ -0,0 +1,20 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; + +base { + new( + title, + targets, + description='' + ): + super.new(title=title, targets=targets, description=description), + + stylize(allLayers=true): + + (if allLayers then super.stylize() else {}) + + + generic.info.stylize(allLayers=false) + + stat.standardOptions.withUnit('bytes'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet new file mode 100644 index 0000000000..6caa7f945f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet @@ -0,0 +1,10 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/table/base.libsonnet'; +local table = g.panel.table; +local fieldOverride = g.panel.table.fieldOverride; +local custom = table.fieldConfig.defaults.custom; +local defaults = table.fieldConfig.defaults; +local options = table.options; +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet new file mode 100644 index 0000000000..5493c27611 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet @@ -0,0 +1,4 @@ +{ + base: import './base.libsonnet', + usage: import './usage.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet new file mode 100644 index 0000000000..9011838d55 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet @@ -0,0 +1,256 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local table = g.panel.table; +local fieldOverride = g.panel.table.fieldOverride; +local custom = table.fieldConfig.defaults.custom; +local defaults = table.fieldConfig.defaults; +local options = table.options; + +base { + new( + title='Disk space usage', + totalTarget, + usageTarget=null, + freeTarget=null, + groupLabel, + description=||| + This table provides information about total disk space, used space, available space, and usage percentages for each mounted file system on the system. + |||, + ): + // validate inputs + std.prune( + { + checks: [ + if (usageTarget == null && freeTarget == null) then error 'Must provide at leason one of "usageTarget" or "freeTraget"', + if !(std.objectHas(totalTarget, 'format') && std.assertEqual(totalTarget.format, 'table')) then error 'totalTarget format must be "table"', + if !(std.objectHas(totalTarget, 'instant') && std.assertEqual(totalTarget.instant, true)) then error 'totalTarget must have type "instant"', + if usageTarget != null && !(std.objectHas(usageTarget, 'format') && std.assertEqual(usageTarget.format, 'table')) then error 'usageTarget format must be "table"', + if usageTarget != null && !(std.objectHas(usageTarget, 'instant') && std.assertEqual(usageTarget.instant, true)) then error 'usageTarget must have type "instant"', + if freeTarget != null && !(std.objectHas(freeTarget, 'format') && std.assertEqual(freeTarget.format, 'table')) then error 'freeTarget format must be "table"', + if freeTarget != null && !(std.objectHas(freeTarget, 'instant') && std.assertEqual(freeTarget.instant, true)) then error 'freeTarget must have type "instant"', + ], + } + ) + + if usageTarget != null + then + ( + super.new( + title=title, + targets=[ + totalTarget { refId: 'TOTAL' }, + usageTarget { refId: 'USAGE' }, + ], + description=description, + ) + + $.withUsageTableCommonMixin() + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'groupBy', + options: { + fields: { + 'Value #TOTAL': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + 'Value #USAGE': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + [groupLabel]: { + aggregations: [], + operation: 'groupby', + }, + }, + }, + }, + { + id: 'merge', + options: {}, + }, + { + id: 'calculateField', + options: { + alias: 'Available', + binary: { + left: 'Value #TOTAL (lastNotNull)', + operator: '-', + reducer: 'sum', + right: 'Value #USAGE (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'calculateField', + options: { + alias: 'Used, %', + binary: { + left: 'Value #USAGE (lastNotNull)', + operator: '/', + reducer: 'sum', + right: 'Value #TOTAL (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: {}, + indexByName: { + [groupLabel]: 0, + 'Value #TOTAL (lastNotNull)': 1, + Available: 2, + 'Value #USAGE (lastNotNull)': 3, + 'Used, %': 4, + }, + renameByName: { + 'Value #TOTAL (lastNotNull)': 'Size', + 'Value #USAGE (lastNotNull)': 'Used', + [groupLabel]: 'Mounted on', + }, + }, + }, + self.transformations.sortBy('Mounted on'), + ] + ) + ) + else if freeTarget != null && usageTarget == null + then + ( + super.new( + title=title, + targets=[ + totalTarget { refId: 'TOTAL' }, + freeTarget { refId: 'FREE' }, + ], + description=description, + ) + + $.withUsageTableCommonMixin() + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'groupBy', + options: { + fields: { + 'Value #TOTAL': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + 'Value #FREE': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + [groupLabel]: { + aggregations: [], + operation: 'groupby', + }, + }, + }, + }, + { + id: 'merge', + options: {}, + }, + { + id: 'calculateField', + options: { + alias: 'Used', + binary: { + left: 'Value #TOTAL (lastNotNull)', + operator: '-', + reducer: 'sum', + right: 'Value #FREE (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'calculateField', + options: { + alias: 'Used, %', + binary: { + left: 'Used', + operator: '/', + reducer: 'sum', + right: 'Value #TOTAL (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: {}, + indexByName: { + [groupLabel]: 0, + 'Value #TOTAL (lastNotNull)': 1, + 'Value #FREE (lastNotNull)': 2, + Used: 3, + 'Used, %': 4, + }, + renameByName: { + 'Value #TOTAL (lastNotNull)': 'Size', + 'Value #FREE (lastNotNull)': 'Available', + [groupLabel]: 'Mounted on', + }, + }, + }, + self.transformations.sortBy('Mounted on'), + ] + ) + ) + else {}, + + withUsageTableCommonMixin(): + table.standardOptions.thresholds.withSteps( + [ + table.thresholdStep.withColor('light-blue') + + table.thresholdStep.withValue(null), + table.thresholdStep.withColor('light-yellow') + + table.thresholdStep.withValue(0.8), + table.thresholdStep.withColor('light-red') + + table.thresholdStep.withValue(0.9), + ] + ) + + + table.standardOptions.withOverrides([ + fieldOverride.byName.new('Mounted on') + + fieldOverride.byName.withProperty('custom.width', '260'), + fieldOverride.byName.new('Size') + + fieldOverride.byName.withProperty('custom.width', '80'), + fieldOverride.byName.new('Used') + + fieldOverride.byName.withProperty('custom.width', '80'), + fieldOverride.byName.new('Available') + + fieldOverride.byName.withProperty('custom.width', '80'), + fieldOverride.byName.new('Used, %') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withMax(1) + + table.standardOptions.withMin(0) + + table.standardOptions.withUnit('percentunit') + ), + ]) + + table.standardOptions.withUnit('bytes'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet new file mode 100644 index 0000000000..0e707c022f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet @@ -0,0 +1,23 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk space available', + targets, + description='', + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + + timeSeries.standardOptions.withUnit('bytes') + + timeSeries.standardOptions.withMin(0), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet new file mode 100644 index 0000000000..f5b09f21d6 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet @@ -0,0 +1,27 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/timeSeries/base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + // Decrease opacity (would look better with too many timeseries) + + defaults.custom.withFillOpacity(1), + + + withNegateOutPackets(regexp='/write|written/'): + defaults.custom.withAxisLabel('write(-) | read(+)') + + defaults.custom.withAxisCenteredZero(true) + + timeSeries.standardOptions.withOverrides( + fieldOverride.byRegexp.new(regexp) + + fieldOverride.byRegexp.withPropertiesFromOptions( + defaults.custom.withTransform('negative-Y') + ) + ), + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet new file mode 100644 index 0000000000..addf4f4950 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet @@ -0,0 +1,31 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk reads/writes', + targets, + description='Disk read/writes in bytes per second.', + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + + timeSeries.standardOptions.withUnit('Bps') + // move 'IO busy time' to second axis if found + + timeSeries.standardOptions.withOverrides( + fieldOverride.byRegexp.new('/time|used|busy|util/') + + fieldOverride.byRegexp.withPropertiesFromOptions( + timeSeries.standardOptions.withUnit('percent') + + timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') + + timeSeries.fieldConfig.defaults.custom.withAxisSoftMax(100) + ) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet new file mode 100644 index 0000000000..157796af63 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet @@ -0,0 +1,23 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk IO queue', + targets, + description='Disk average IO queue.', + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + + self.withNegateOutPackets(), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet new file mode 100644 index 0000000000..ae17d529e4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet @@ -0,0 +1,25 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk average wait time', + targets, + description=||| + The average time for requests issued to the device to be served. + This includes the time spent by the requests in queue and the time spent servicing them.' + ||| + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('s') + + self.withNegateOutPackets(), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet new file mode 100644 index 0000000000..fd30b051f7 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet @@ -0,0 +1,23 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk I/O', + targets, + description=||| + The number of I/O requests per second for the device/volume. + ||| + ): + super.new(title, targets, description) + + self.stylize(), + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('iops') + + self.withNegateOutPackets(), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet new file mode 100644 index 0000000000..5fc8df51dd --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet @@ -0,0 +1,10 @@ +{ + base: import './base.libsonnet', + ioBytesPerSec: import './io_bytes_persec.libsonnet', + iops: import './iops.libsonnet', + ioQueue: import './io_queue.libsonnet', + ioWaitTime: import './io_wait_time.libsonnet', + available: import './available.libsonnet', + usage: import './usage.libsonnet', + usagePercent: import './usage_percent.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet new file mode 100644 index 0000000000..84b2fab623 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet @@ -0,0 +1,23 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk space used', + targets, + description=||| + Disk space usage is the amount of storage being used on a device's hard drive or storage medium, in bytes. + |||, + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('bytes'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet new file mode 100644 index 0000000000..f5d355423d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet @@ -0,0 +1,25 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Disk space used, %', + targets, + description=||| + Disk space usage is the amount of storage being used on a device's hard drive or storage medium, in percent. + |||, + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('percent') + + generic.percentage.stylize(allLayers=false), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet new file mode 100644 index 0000000000..067cf534cb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet @@ -0,0 +1,27 @@ +local g = import '../../g.libsonnet'; + +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; + +// This is base of ALL panels in the common lib +{ + new(targets, description=''): + // hidden field to hold styles modifiers + + timeSeries.queryOptions.withTargets(targets) + + timeSeries.panelOptions.withDescription(description) + // set first target's datasource + // to panel's datasource if only single type of + // datasoures are used accross all targets: + + (if std.length(std.set(targets, function(t) t.datasource.type)) == 1 then + timeSeries.queryOptions.withDatasource( + targets[0].datasource.type, targets[0].datasource.uid + ) else {}) + + self.stylize(), + + stylize(): {}, + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet new file mode 100644 index 0000000000..8d70456ce1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet @@ -0,0 +1,12 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import '../base.libsonnet'; + +base { + new(title, targets, description=''): + stat.new(title) + + super.new(targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet new file mode 100644 index 0000000000..05fc5a7d76 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet @@ -0,0 +1,21 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; +// Simple info panel prototype with text or count of things. +base { + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + // Style choice: No color for simple text panels by default + + stat.options.withColorMode('fixed') + + stat.standardOptions.color.withFixedColor('text') + // Style choice: No graph + + stat.options.withGraphMode('none') + // Show last value by default, not mean. + + stat.options.withReduceOptions({}) + + stat.options.reduceOptions.withCalcsMixin( + [ + 'lastNotNull', + ] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet new file mode 100644 index 0000000000..93899e7461 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet @@ -0,0 +1,5 @@ +{ + base: import './base.libsonnet', + info: import './info.libsonnet', + percentage: import './percentage.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet new file mode 100644 index 0000000000..a8a8d90977 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet @@ -0,0 +1,24 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import './base.libsonnet'; +// This panel can be used to display gauge metrics with possible values range 0-100%. +// Examples: cpu utilization, memory utilization etc. +base { + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + stat.standardOptions.withDecimals(1) + + stat.standardOptions.withUnit('percent') + + stat.options.withColorMode('value') + // Change color from blue(cold) to red(hot) + + stat.standardOptions.color.withMode('continuous-BlYlRd') + + stat.standardOptions.withMax(100) + + stat.standardOptions.withMin(0) + // Show last value by default, not mean. + + stat.options.withReduceOptions({}) + + stat.options.reduceOptions.withCalcsMixin( + [ + 'lastNotNull', + ] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet new file mode 100644 index 0000000000..bbc7b02921 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet @@ -0,0 +1,18 @@ +local g = import '../../../g.libsonnet'; +local base = import '../base.libsonnet'; +local statusHistory = g.panel.statusHistory; +local fieldOverride = g.panel.statusHistory.fieldOverride; +local custom = statusHistory.fieldConfig.defaults.custom; +local defaults = statusHistory.fieldConfig.defaults; +local options = statusHistory.options; +base { + + new(title, targets, description=''): + statusHistory.new(title) + + super.new(targets, description) + // Minimize number of points to avoid 'Too many data points' error on large time intervals + + statusHistory.queryOptions.withMaxDataPoints(50), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet new file mode 100644 index 0000000000..3b77b583c8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet @@ -0,0 +1,3 @@ +{ + base: import './base.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet new file mode 100644 index 0000000000..1575b50200 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet @@ -0,0 +1,33 @@ +local g = import '../../../g.libsonnet'; + +local table = g.panel.table; +local fieldOverride = g.panel.table.fieldOverride; +local custom = table.fieldConfig.defaults.custom; +local defaults = table.fieldConfig.defaults; +local options = table.options; +local base = import '../base.libsonnet'; + +base { + new(title, targets, description=''): + table.new(title) + + super.new(targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}), + + transformations+: { + sortBy(field, desc=false): + { + id: 'sortBy', + options: { + fields: {}, + sort: [ + { + field: field, + desc: desc, + }, + ], + }, + }, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet new file mode 100644 index 0000000000..3b77b583c8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet @@ -0,0 +1,3 @@ +{ + base: import './base.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet new file mode 100644 index 0000000000..6277d2b728 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet @@ -0,0 +1,33 @@ +local g = import '../../../g.libsonnet'; + +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +local base = import '../base.libsonnet'; +base { + new(title, targets, description=''): + timeSeries.new(title) + + super.new(targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + // Style choice: Make lines more thick + + custom.withLineWidth(2) + // Style choice: Opacity level + + custom.withFillOpacity(30) + // Style choice: Don't show points on lines + + custom.withShowPoints('never') + // Style choice: Opacity gradient + + custom.withGradientMode('opacity') + // Style choice: Smoother lines + + custom.withLineInterpolation('smooth') + // Style choice: Show all values in tooltip, sorted + + options.tooltip.withMode('multi') + + options.tooltip.withSort('desc') + // Style choice: Use simple legend without any values (cleaner look) + + options.legend.withDisplayMode('list') + + options.legend.withCalcs([]), + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet new file mode 100644 index 0000000000..92804486eb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet @@ -0,0 +1,6 @@ +{ + base: import './base.libsonnet', + percentage: import './percentage.libsonnet', + threshold: import './threshold.libsonnet', + topkPercentage: import './topk_percentage.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet new file mode 100644 index 0000000000..3a538bef68 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet @@ -0,0 +1,16 @@ +local g = import '../../../g.libsonnet'; +local timeSeries = g.panel.timeSeries; +local base = import './base.libsonnet'; +// This panel can be used to display gauge metrics with possible values range 0-100%. +// Examples: cpu utilization, memory utilization etc. +base { + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + timeSeries.standardOptions.withDecimals(1) + + timeSeries.standardOptions.withUnit('percent') + // Change color from blue(cold) to red(hot) + + timeSeries.standardOptions.color.withMode('continuous-BlYlRd') + + timeSeries.fieldConfig.defaults.custom.withGradientMode('scheme') + + timeSeries.standardOptions.withMax(100) + + timeSeries.standardOptions.withMin(0), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet new file mode 100644 index 0000000000..2914965498 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet @@ -0,0 +1,25 @@ +local g = import '../../../g.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local fieldConfig = g.panel.timeSeries.fieldConfig; + +// Turns any series to threshold line: dashed red line without gradient fill +{ + local this = self, + + stylize(): + fieldConfig.defaults.custom.withLineStyleMixin( + { + fill: 'dash', + dash: [10, 10], + } + ) + + fieldConfig.defaults.custom.withFillOpacity(0) + + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-orange'), + stylizeByRegexp(regexp): + timeSeries.standardOptions.withOverrides( + fieldOverride.byRegexp.new(regexp) + + fieldOverride.byRegexp.withPropertiesFromOptions(this.stylize()) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet new file mode 100644 index 0000000000..cbd0edb85f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet @@ -0,0 +1,63 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local generic = import './main.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local fieldConfig = g.panel.timeSeries.fieldConfig; +local standardOptions = g.panel.timeSeries.standardOptions; +// Style to display Top K metrics that can go from 0 to 100%. +// It constructs mean baseline automatically. +base { + new( + title, + target, + topk=25, + instanceLabels, + drillDownDashboardUid, + description='Top %s' % topk + ): + + local topTarget = target + { expr: 'topk(' + topk + ',' + target.expr + ')' } + + g.query.prometheus.withLegendFormat( + std.join(': ', std.map(function(l) '{{' + l + '}}', instanceLabels)) + ); + local meanTarget = target + { expr: 'avg(' + target.expr + ')' } + + g.query.prometheus.withLegendFormat('Mean'); + super.new(title, targets=[topTarget, meanTarget], description=description) + + self.withDataLink(instanceLabels, drillDownDashboardUid), + withDataLink(instanceLabels, drillDownDashboardUid): + standardOptions.withLinks( + { + url: 'd/' + drillDownDashboardUid + '?' + std.join('&', std.map(function(l) 'var-%s=${__field.labels.%s}' % [l, l], instanceLabels)) + '&${__url_time_range}', + title: 'Drill down to this instance', + } + ), + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.percentage.stylize(allLayers=false) + + fieldConfig.defaults.custom.withFillOpacity(1) + + fieldConfig.defaults.custom.withLineWidth(1) + + timeSeries.options.legend.withDisplayMode('table') + + timeSeries.options.legend.withPlacement('right') + + timeSeries.options.legend.withCalcsMixin([ + 'mean', + 'max', + 'lastNotNull', + ]) + + timeSeries.standardOptions.withOverrides( + fieldOverride.byName.new('Mean') + + fieldOverride.byName.withPropertiesFromOptions( + fieldConfig.defaults.custom.withLineStyleMixin( + { + fill: 'dash', + dash: [10, 10], + } + ) + + fieldConfig.defaults.custom.withFillOpacity(0) + + timeSeries.standardOptions.color.withMode('fixed') + + timeSeries.standardOptions.color.withFixedColor('light-purple'), + ) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet new file mode 100644 index 0000000000..587b02b91f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet @@ -0,0 +1,7 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import '../../generic/stat/base.libsonnet'; + +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet new file mode 100644 index 0000000000..fe214ee12b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet @@ -0,0 +1,5 @@ +{ + base: import './base.libsonnet', + total: import './total.libsonnet', + usage: import './usage.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet new file mode 100644 index 0000000000..c230e29c25 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet @@ -0,0 +1,27 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; +local fieldOverride = g.panel.stat.fieldOverride; +local custom = stat.fieldConfig.defaults.custom; +local defaults = stat.fieldConfig.defaults; +local options = stat.options; +base { + new( + title='Memory total', + targets, + description=||| + Amount of random-access memory (RAM) installed. + It represents the system's available working memory that applications and the operating system use to perform tasks. + A higher memory total generally leads to better system performance and the ability to run more demanding applications and processes simultaneously. + ||| + ): + super.new(title=title, targets=targets, description=description), + + stylize(allLayers=true): + + (if allLayers then super.stylize() else {}) + + + generic.info.stylize(allLayers=false) + + stat.standardOptions.withUnit('bytes'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet new file mode 100644 index 0000000000..26f7fb23e8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet @@ -0,0 +1,24 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; +local fieldOverride = g.panel.stat.fieldOverride; +local custom = stat.fieldConfig.defaults.custom; +local defaults = stat.fieldConfig.defaults; +local options = stat.options; +base { + new( + title='Memory usage', + targets, + description='RAM (random-access memory) currently in use by the operating system and running applications, in percent.' + ): + super.new(title=title, targets=targets, description=description), + + stylize(allLayers=true): + + (if allLayers then super.stylize() else {}) + + + generic.percentage.stylize(allLayers=false) + + stat.standardOptions.withUnit('percent'), + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet new file mode 100644 index 0000000000..dae01c389f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet @@ -0,0 +1,10 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/timeSeries/base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet new file mode 100644 index 0000000000..8a48e365d0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet @@ -0,0 +1,5 @@ +{ + base: import './base.libsonnet', + usagePercent: import './usage_percent.libsonnet', + usageBytes: import './usage_bytes.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet new file mode 100644 index 0000000000..623f54b9a2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet @@ -0,0 +1,26 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + totalRegexp:: '.*(T|t)otal.*', + new( + title='Memory usage', + targets, + description=||| + RAM (random-access memory) currently in use by the operating system and running applications, in bytes. + |||, + totalRegexp=self.totalRegexp, + ): + super.new(title=title, targets=targets, description=description), + + stylize(allLayers=true, totalRegexp=self.totalRegexp): + (if allLayers then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('bytes') + + timeSeries.standardOptions.withMin(0) + + generic.threshold.stylizeByRegexp(totalRegexp), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet new file mode 100644 index 0000000000..4f1fa51b17 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet @@ -0,0 +1,22 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Memory usage', + targets, + description=||| + RAM (random-access memory) currently in use by the operating system and running applications, in percent. + ||| + ): + super.new(title=title, targets=targets, description=description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + generic.percentage.stylize(allLayers=false), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet new file mode 100644 index 0000000000..b3823999c0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet @@ -0,0 +1,5 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/statusHistory/base.libsonnet'; +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet new file mode 100644 index 0000000000..78ae916065 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet @@ -0,0 +1,29 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local statusHistory = g.panel.statusHistory; +base { + new(title='Interface status', targets, description='Interfaces statuses'): + super.new(title, targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + statusHistory.standardOptions.color.withMode('fixed') + + statusHistory.options.withShowValue('never') + + statusHistory.standardOptions.withMappings( + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 0, + }, + '1': { + text: 'Up', + color: 'light-green', + index: 1, + }, + }, + } + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet new file mode 100644 index 0000000000..04d137612c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet @@ -0,0 +1,3 @@ +{ + interfaceStatus: import './interface_status.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet new file mode 100644 index 0000000000..e7addef294 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet @@ -0,0 +1,26 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/timeSeries/base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + + timeSeries.standardOptions.withDecimals(1) + + timeSeries.standardOptions.withUnit('pps'), + + withNegateOutPackets(regexp='/transmit|tx|out/'): + defaults.custom.withAxisLabel('out(-) | in(+)') + + defaults.custom.withAxisCenteredZero(false) + + timeSeries.standardOptions.withOverrides( + fieldOverride.byRegexp.new(regexp) + + fieldOverride.byRegexp.withPropertiesFromOptions( + defaults.custom.withTransform('negative-Y') + ) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet new file mode 100644 index 0000000000..22700e9cc2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet @@ -0,0 +1,28 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Dropped packets', + targets, + description=||| + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + |||, + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + + timeSeries.standardOptions.withNoValue('No dropped packets'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet new file mode 100644 index 0000000000..eb7b313ef8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet @@ -0,0 +1,26 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Network errors', + targets, + description=||| + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + |||, + ): + super.new(title, targets, description) + + self.stylize(), + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withNoValue('No errors'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet new file mode 100644 index 0000000000..42ddfd2159 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet @@ -0,0 +1,8 @@ +{ + base: import './base.libsonnet', + traffic: import './traffic.libsonnet', + errors: import './errors.libsonnet', + dropped: import './dropped.libsonnet', + packets: import './packets.libsonnet', + multicast: import './multicast.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet new file mode 100644 index 0000000000..c817a463c5 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet @@ -0,0 +1,15 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Multicast packets', + targets, + description='Packets sent from one source to multiple recipients simultaneously, allowing efficient one-to-many communication in a network.', + ): + super.new(title, targets, description), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet new file mode 100644 index 0000000000..cc136107ff --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet @@ -0,0 +1,15 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Network packets', + targets, + description='Network packet count tracks the number of data packets transmitted and received over a network connection, providing insight into network activity and performance.', + ): + super.new(title, targets, description), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet new file mode 100644 index 0000000000..8f87e3d01e --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet @@ -0,0 +1,21 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + new( + title='Network traffic', + targets, + description='Network traffic (bits per sec) measures data transmitted and received.', + ): + super.new(title, targets, description) + + self.stylize(), + + stylize(allLayers=true): + + (if allLayers == true then super.stylize() else {}) + + timeSeries.standardOptions.withUnit('bps'), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet new file mode 100644 index 0000000000..587b02b91f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet @@ -0,0 +1,7 @@ +local g = import '../../../g.libsonnet'; +local stat = g.panel.stat; +local base = import '../../generic/stat/base.libsonnet'; + +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet new file mode 100644 index 0000000000..d79009cf11 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet @@ -0,0 +1,3 @@ +{ + uptime: import './uptime.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet new file mode 100644 index 0000000000..d8c45ba260 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet @@ -0,0 +1,33 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/stat/main.libsonnet'; +local base = import './base.libsonnet'; +local stat = g.panel.stat; +// Uptime panel. expects duration in seconds as input +base { + new(title='Uptime', targets, description='The duration of time that has passed since the last reboot or system start.'): + super.new(title, targets, description) + + stat.options.withReduceOptions({}) + + stat.options.reduceOptions.withCalcsMixin( + [ + 'lastNotNull', + ] + ) + + self.stylize(), + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + stat.standardOptions.withDecimals(1) + + stat.standardOptions.withUnit('dtdurations') + + stat.options.withColorMode('value') + + stat.options.withGraphMode('none') + + stat.standardOptions.thresholds.withMode('absolute') + + stat.standardOptions.thresholds.withSteps( + [ + // Warn with orange color when uptime resets: + stat.thresholdStep.withColor('orange') + + stat.thresholdStep.withValue(null), + // clear color after 10 minutes: + stat.thresholdStep.withColor('text') + + stat.thresholdStep.withValue(600), + ] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet new file mode 100644 index 0000000000..b3823999c0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet @@ -0,0 +1,5 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/statusHistory/base.libsonnet'; +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet new file mode 100644 index 0000000000..0cc0937beb --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet @@ -0,0 +1,3 @@ +{ + ntp: import './ntp.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet new file mode 100644 index 0000000000..42d1c23ba0 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet @@ -0,0 +1,28 @@ +local g = import '../../../g.libsonnet'; +local base = import './base.libsonnet'; +local statusHistory = g.panel.statusHistory; +base { + new(title='NTP status', targets, description=''): + super.new(title, targets, description), + + stylize(allLayers=true): + (if allLayers then super.stylize() else {}) + + statusHistory.standardOptions.color.withMode('fixed') + + statusHistory.standardOptions.withMappings( + { + type: 'value', + options: { + '0': { + text: 'Not in sync', + color: 'light-yellow', + index: 1, + }, + '1': { + text: 'In sync', + color: 'light-green', + index: 0, + }, + }, + } + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet new file mode 100644 index 0000000000..c120e15def --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet @@ -0,0 +1,9 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/table/base.libsonnet'; +local table = g.panel.table; +local fieldOverride = g.panel.table.fieldOverride; +local custom = table.fieldConfig.defaults.custom; +local defaults = table.fieldConfig.defaults; +local options = table.options; +base { +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet new file mode 100644 index 0000000000..aa2ce04ffc --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet @@ -0,0 +1,4 @@ +{ + base: import './base.libsonnet', + uptime: import './uptime.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet new file mode 100644 index 0000000000..31b714e07d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet @@ -0,0 +1,20 @@ +local g = import '../../../g.libsonnet'; +local uptime = import '../stat/uptime.libsonnet'; +local base = import './base.libsonnet'; +local table = g.panel.table; +local fieldOverride = table.fieldOverride; + +base { + local this = self, + + new(): error 'not supported', + stylize(): error 'not supported', + + // when attached to table, this function applies style to row named 'name="Uptime"' + stylizeByName(name='Uptime'): + table.standardOptions.withOverrides( + fieldOverride.byName.new(name) + + fieldOverride.byName.withProperty('custom.cellOptions', { type: 'color-text' }) + + fieldOverride.byName.withPropertiesFromOptions(uptime.stylize(allLayers=false),) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet new file mode 100644 index 0000000000..dae01c389f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet @@ -0,0 +1,10 @@ +local g = import '../../../g.libsonnet'; +local base = import '../../generic/timeSeries/base.libsonnet'; +local timeSeries = g.panel.timeSeries; +local fieldOverride = g.panel.timeSeries.fieldOverride; +local custom = timeSeries.fieldConfig.defaults.custom; +local defaults = timeSeries.fieldConfig.defaults; +local options = timeSeries.options; +base { + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet new file mode 100644 index 0000000000..d707a52f83 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet @@ -0,0 +1,41 @@ +local g = import '../../../g.libsonnet'; +local generic = import '../../generic/timeSeries/main.libsonnet'; +local base = import './base.libsonnet'; +base { + + new( + title='Load average', + loadTargets, + cpuCountTarget, + description=||| + System load average over the previous 1, 5, and 15 minute ranges. + + A measurement of how many processes are waiting for CPU cycles. The maximum number is the number of CPU cores for the node. + ||| + ): + // validate inputs + std.prune( + { + checks: [ + if !(std.objectHas(cpuCountTarget, 'legendFormat')) then error 'cpuCountTarget must have legendFormat"', + ], + } + ) + + + local targets = loadTargets + [cpuCountTarget]; + super.new(title, targets, description) + // call directly threshold styler (not called from super automatically) + + self.stylizeCpuCores(cpuCountTarget.legendFormat), + + stylizeCpuCores(cpuCountName): + generic.threshold.stylizeByRegexp(cpuCountName), + + stylize(allLayers=true, cpuCountName=null): + (if allLayers then super.stylize() else {}) + + + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0) + + g.panel.timeSeries.standardOptions.withMin(0) + + g.panel.timeSeries.standardOptions.withUnit('short') + // this is only called if cpuCountName provided + + (if cpuCountName != null then self.stylizeCpuCores(cpuCountName) else {}), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet new file mode 100644 index 0000000000..d3e3b69f5a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet @@ -0,0 +1,4 @@ +{ + base: import './base.libsonnet', + loadAverage: import './load_average.libsonnet', +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet new file mode 100644 index 0000000000..7c78f318ee --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet @@ -0,0 +1,41 @@ +{ + local this = self, + + labelsToURLvars(labels, prefix):: + std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), + + // For PromQL or LogQL + labelsToPromQLSelector(labels): std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), + labelsToLogQLSelector: self.labelsToPromQLSelector, + + labelsToPanelLegend(labels): std.join('/', ['{{%s}}' % [label] for label in labels]), + + toSentenceCase(string):: + std.asciiUpper(string[0]) + std.slice(string, 1, std.length(string), 1), + + // Generate a chain of labels. Useful to create chained variables: + chainLabels(labels, additionalFilters=[]): + local last(arr) = std.reverse(arr)[0]; + local chainSelector(chain) = + std.join( + ',', + additionalFilters + + (if std.length(chain) > 0 + then [this.labelsToPromQLSelector(chain)] + else []) + ); + std.foldl( + function(prev, label) + prev + + [{ + label: label, + chainSelector: chainSelector(self.chain), + chain:: + if std.length(prev) > 0 + then last(prev).chain + [last(prev).label] + else [], + }], + labels, + [] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json new file mode 100644 index 0000000000..115d14345b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v10.0.0" + } + }, + "version": "main" + } + ], + "legacyImports": true +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile new file mode 100644 index 0000000000..a5076be3f1 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile @@ -0,0 +1,31 @@ +JSONNET_FMT := jsonnetfmt -n 2 --max-blank-lines 1 --string-style s --comment-style s + +.PHONY: all +all: build dashboards_out + +vendor: jsonnetfile.json + jb install + +.PHONY: build +build: vendor + +.PHONY: fmt +fmt: + find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ + xargs -n 1 -- $(JSONNET_FMT) -i + +.PHONY: lint +lint: build + find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ + while read f; do \ + $(JSONNET_FMT) "$$f" | diff -u "$$f" -; \ + done + mixtool lint mixin.libsonnet + +dashboards_out: mixin.libsonnet $(wildcard dashboards/*) + @mkdir -p dashboards_out + mixtool generate dashboards -J lib -J vendor mixin.libsonnet -d dashboards_out + +.PHONY: clean +clean: + rm -rf dashboards_out prometheus_alerts.yaml diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md new file mode 100644 index 0000000000..fd39f200d4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md @@ -0,0 +1,126 @@ +# Logs lib + +This logs lib can be used to generate logs dashboard using [grafonnet](https://github.com/grafana/grafonnet). + +## Import + +```sh +jb init +jb install https://github.com/grafana/jsonnet-libs/logs-lib +``` + +## Examples + +### Generate kubernetes logs dashboard + +```jsonnet +local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; + +//Additional selector to add to all variable queries and alerts(if any) +local kubeFilterSelector = 'namespace!=""'; +// Array of labels to compose chained grafana variables (order matters) +local kubeLabels = ['cluster', 'namespace', 'app', 'pod', 'container']; + +// pick one of Loki's parsers to use: i.e. logfmt, json. +// | __error__=`` is appended automatically +// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression +// set null or do not provide at all if parsing is not required. +local formatParser = 'logfmt'; + +//group by 'app' label instead of 'level': +local logsVolumeGroupBy = 'app'; + +//extra filters to do advanced line_format: +local extraFilters = ||| + | label_format timestamp="{{__timestamp__}}" + | line_format `{{ if eq "[[pod]]" ".*" }}{{.pod | trunc 20}}:{{else}}{{.container}}:{{end}} {{__line__}}` +|||; + +( + logsDashboard.new('Kubernetes apps logs', + datasourceRegex='', + filterSelector=kubeFilterSelector, + labels=kubeLabels, + formatParser=formatParser, + logsVolumeGroupBy=logsVolumeGroupBy, + extraFilters=extraFilters) +).dashboards.logs +``` + +![image](https://github.com/grafana/jsonnet-libs/assets/14870891/7b246cc9-5de1-42f5-b3cd-bb9f89302405) + +### Generate systemd logs dashboard and modify panels and variables + +This lib exposes `variables`, `targets`, `panels`, and `dashboards`. + +Because of that, you can override options of those objects before exporting the dashboard. + +Again, use [Grafonnet](https://grafana.github.io/grafonnet/API/panel/index.html) for this: + +```jsonnet +local g = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet'; +local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; + + +local linuxFilterSelector = 'unit!=""'; +local linuxLabels = ['job', 'instance', 'unit', 'level']; + +// pick one of Loki's parsers to use: i.e. logfmt, json. +// | __error__=`` is appended automatically +// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression +// set null or do not provide at all if parsing is not required. +local formatParser = 'unpack'; + +// 2. create and export systemd logs dashboard +local systemdLogs = + logslib.new('Linux systemd logs', + datasourceRegex='', + filterSelector=linuxFilterSelector, + labels=linuxLabels, + formatParser=formatParser, + showLogsVolume=true) + // override panels or variables using grafonnet + { + panels+: + { + logs+: + g.panel.logs.options.withEnableLogDetails(false), + }, + variables+: + { + regex_search+: + g.dashboard.variable.textbox.new('regex_search', default='error'), + }, + }; +// export logs dashboard +systemdLogs.dashboards.logs + +``` + +![image](https://github.com/grafana/jsonnet-libs/assets/14870891/5e6313fd-9135-446a-b7bf-cf124b436970) + +### Generate docker logs dashboard + +```jsonnet + +local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; + +// Array of labels to compose chained grafana variables +local dockerFilterSelector = 'container_name!=""'; +local dockerLabels = ['job', 'instance', 'container_name']; + +// pick one of Loki's parsers to use: i.e. logfmt, json. +// | __error__=`` is appended automatically +// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression +// set null or do not provide at all if parsing is not required. +local formatParser = 'logfmt'; + +( + logslib.new('Docker logs', + datasourceRegex='', + filterSelector=dockerFilterSelector, + labels=dockerLabels, + formatParser=formatParser) +).dashboards.logs + +``` diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json new file mode 100644 index 0000000000..115d14345b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v10.0.0" + } + }, + "version": "main" + } + ], + "legacyImports": true +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet new file mode 100644 index 0000000000..f721f3a643 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet @@ -0,0 +1,30 @@ +local g = import './g.libsonnet'; + +function( + title, + showLogsVolume, + panels, + variables, +) + { + local this = self, + logs: + g.dashboard.new(title) + + g.dashboard.withUid(g.util.string.slugify(title)) + + g.dashboard.withVariables(variables.toArray) + + g.dashboard.withPanels( + ( + if showLogsVolume then + [panels.logsVolume + + g.panel.timeSeries.gridPos.withH(6) + + g.panel.timeSeries.gridPos.withW(24)] + else [] + ) + + + [ + panels.logs + + g.panel.logs.gridPos.withH(18) + + g.panel.logs.gridPos.withW(24), + ] + ), + } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet new file mode 100644 index 0000000000..6da9f4eef9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet @@ -0,0 +1 @@ +import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet new file mode 100644 index 0000000000..6b80ee4f0a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet @@ -0,0 +1,51 @@ +local dashboards = import './dashboards.libsonnet'; +local g = import './g.libsonnet'; +local panels = import './panels.libsonnet'; +local targets = import './targets.libsonnet'; +local variables = import './variables.libsonnet'; + +{ + new( + title, + filterSelector, + labels, + datasourceRegex, + datasourceName='loki_datasource', + datasourceLabel='Loki data source', + formatParser=null, + showLogsVolume=true, + logsVolumeGroupBy='level', + extraFilters='', + ): { + + local this = self, + variables: variables( + datasourceName, + datasourceLabel, + datasourceRegex, + filterSelector, + labels, + ), + + targets: targets( + this.variables, + formatParser, + logsVolumeGroupBy, + extraFilters, + ), + + panels: panels( + this.targets.logsVolumeTarget, + this.targets.logsTarget, + logsVolumeGroupBy, + ), + + dashboards: dashboards( + title, + showLogsVolume, + this.panels, + this.variables, + ), + }, + +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet new file mode 100644 index 0000000000..9f3a0b1b86 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet @@ -0,0 +1,86 @@ +local g = import './g.libsonnet'; + +local timeSeries = g.panel.timeSeries; +local logsPanel = g.panel.logs; +local defaults = timeSeries.fieldConfig.defaults; +local custom = timeSeries.fieldConfig.defaults.custom; +local options = timeSeries.options; +local fieldConfig = timeSeries.fieldConfig; +function( + logsVolumeTarget, + logsTarget, + logsVolumeGroupBy, +) + + { + local this = self, + + logsVolumeInit(targets, title='Logs volume'):: + timeSeries.new(title) + + timeSeries.queryOptions.withTargets(targets) + + timeSeries.panelOptions.withDescription('Logs volume grouped by "%s" label.' % logsVolumeGroupBy) + // set type to first target's type + + timeSeries.queryOptions.withDatasource( + logsVolumeTarget.datasource.type, logsVolumeTarget.datasource.uid + ) + + custom.withDrawStyle('bars') + + custom.stacking.withMode('normal') + + custom.withFillOpacity(50) + // should be set, otherwise interval is around 1s by default + + timeSeries.queryOptions.withInterval('30s') + + options.tooltip.withMode('multi') + + options.tooltip.withSort('desc') + + timeSeries.standardOptions.withUnit('none') + + timeSeries.queryOptions.withTransformationsMixin( + { + id: 'renameByRegex', + options: { + regex: 'Value', + renamePattern: 'logs', + }, + } + ) + + timeSeries.standardOptions.withOverridesMixin( + [ + { + matcher: { + id: 'byRegexp', + options: o.regex, + }, + properties: [ + { + id: 'color', + value: { + mode: 'fixed', + fixedColor: o.color, + }, + }, + ], + } + // https://grafana.com/docs/grafana/latest/explore/logs-integration/#log-level + for o in + [ + { regex: '(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*', color: 'purple' }, + { regex: '(E|e)(rr.*|RR.*)', color: 'red' }, + { regex: '(W|w)(arn.*|ARN.*|rn|RN)', color: 'orange' }, + { regex: '(N|n)(otice|ote)|(I|i)(nf.*|NF.*)', color: 'green' }, + { regex: 'dbg.*|DBG.*|(D|d)(EBUG|ebug)', color: 'blue' }, + { regex: '(T|t)(race|RACE)', color: 'light-blue' }, + { regex: 'logs', color: 'text' }, + ] + ] + ), + + logsInit(targets, title='Logs'):: + logsPanel.new(title) + + logsPanel.queryOptions.withTargets(targets) + + logsPanel.options.withDedupStrategy('exact') //"none", "exact", "numbers", "signature" + + logsPanel.options.withEnableLogDetails(true) + + logsPanel.options.withShowTime(true) + + logsPanel.options.withWrapLogMessage(true) + + logsPanel.options.withPrettifyLogMessage(true), + + logsVolume: self.logsVolumeInit(logsVolumeTarget), + logs: self.logsInit(logsTarget), + + } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet new file mode 100644 index 0000000000..4be78130e6 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet @@ -0,0 +1,41 @@ +local utils = import '../utils.libsonnet'; +local g = import './g.libsonnet'; +local lokiQuery = g.query.loki; +function( + variables, + formatParser, + logsVolumeGroupBy, + extraFilters, +) { + formatParser:: if formatParser != null then '| %s | __error__=``' % formatParser else '', + logsTarget:: + lokiQuery.new( + datasource='${' + variables.datasource.name + '}', + expr=||| + {%s} + |~ "$regex_search" + %s + %s + ||| % [ + variables.queriesSelector, + self.formatParser, + extraFilters, + ] + ), + + logsVolumeTarget:: + lokiQuery.new( + datasource='${' + variables.datasource.name + '}', + expr=||| + sum by (%s) (count_over_time({%s} + |~ "$regex_search" + %s + [$__interval])) + ||| % [ + logsVolumeGroupBy, + variables.queriesSelector, + self.formatParser, + ] + ) + + lokiQuery.withLegendFormat('{{ %s }}' % logsVolumeGroupBy), +} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet new file mode 100644 index 0000000000..1f362c4e17 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet @@ -0,0 +1,59 @@ +local utils = import '../utils.libsonnet'; +local g = import './g.libsonnet'; +local var = g.dashboard.variable; +function( + datasourceName, + datasourceLabel, + datasourceRegex, + filterSelector, + labels, +) + { + local this = self, + local variablesFromLabels(labels, filterSelector) = + local chainVarProto(chainVar) = + var.query.new(chainVar.label) + + var.query.withDatasourceFromVariable(this.datasource) + + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) + + var.query.queryTypes.withLabelValues( + chainVar.label, + '{%s}' % chainVar.chainSelector, + ) + + var.query.selectionOptions.withIncludeAll( + value=true, + customAllValue='.*' + ) + + var.query.selectionOptions.withMulti() + + var.query.refresh.onTime() + + var.query.withSort( + i=1, + type='alphabetical', + asc=true, + caseInsensitive=false + ) + ; + [ + chainVarProto(chainVar) + for chainVar in utils.chainLabels(labels, [filterSelector]) + ], + + datasource: + var.datasource.new(datasourceName, 'loki') + + var.datasource.withRegex(datasourceRegex) + + var.query.generalOptions.withLabel(datasourceLabel), + + regex_search: + var.textbox.new('regex_search', default='') + + var.query.generalOptions.withLabel('Regex search'), + + toArray: + [self.datasource] + + variablesFromLabels(labels, filterSelector) + + [self.regex_search], + + queriesSelector: + '%s,%s' % [ + filterSelector, + utils.labelsToPromQLSelector(labels), + ], + } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet new file mode 100644 index 0000000000..7d0a60a3a4 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet @@ -0,0 +1,41 @@ +{ + local this = self, + + labelsToURLvars(labels, prefix):: + std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), + + // For PromQL or LogQL + labelsToPromQLSelector(labels): std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), + labelsToLogQLSelector: self.labelsToPromQLSelector, + + labelsToPanelLegend(labels): std.join('/', ['{{%s}}' % [label] for label in labels]), + + toSentenceCase(string):: + std.asciiUpper(string[0]) + std.slice(string, 1, std.length(string), 1), + + // Generate a chain of labels. Useful to create chained variables + chainLabels(labels, additionalFilters=[]): + local last(arr) = std.reverse(arr)[0]; + local chainSelector(chain) = + std.join( + ',', + additionalFilters + + (if std.length(chain) > 0 + then [this.labelsToPromQLSelector(chain)] + else []) + ); + std.foldl( + function(prev, label) + prev + + [{ + label: label, + chainSelector: chainSelector(self.chain), + chain:: + if std.length(prev) > 0 + then last(prev).chain + [last(prev).label] + else [], + }], + labels, + [] + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md new file mode 100644 index 0000000000..c6777425cf --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md @@ -0,0 +1,326 @@ +# doc-util + +`doc-util` provides a Jsonnet interface for `docsonnet`, + a Jsonnet API doc generator that uses structured data instead of comments. + +## Install + +``` +jb install github.com/jsonnet-libs/docsonnet/doc-util@master +``` + +## Usage + +```jsonnet +local d = import "github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet" +``` + + +## Index + +* [`fn arg(name, type, default, enums)`](#fn-arg) +* [`fn fn(help, args)`](#fn-fn) +* [`fn obj(help, fields)`](#fn-obj) +* [`fn pkg(name, url, help, filename="", version="master")`](#fn-pkg) +* [`fn render(obj)`](#fn-render) +* [`fn val(type, help, default)`](#fn-val) +* [`obj argument`](#obj-argument) + * [`fn fromSchema(name, schema)`](#fn-argumentfromschema) + * [`fn new(name, type, default, enums)`](#fn-argumentnew) +* [`obj func`](#obj-func) + * [`fn new(help, args)`](#fn-funcnew) + * [`fn withArgs(args)`](#fn-funcwithargs) + * [`fn withHelp(help)`](#fn-funcwithhelp) +* [`obj object`](#obj-object) + * [`fn new(help, fields)`](#fn-objectnew) + * [`fn withFields(fields)`](#fn-objectwithfields) +* [`obj value`](#obj-value) + * [`fn new(type, help, default)`](#fn-valuenew) +* [`obj T`](#obj-t) +* [`obj package`](#obj-package) + * [`fn new(name, url, help, filename="", version="master")`](#fn-packagenew) + * [`fn newSub(name, help)`](#fn-packagenewsub) + +## Fields + +### fn arg + +```jsonnet +arg(name, type, default, enums) +``` + +PARAMETERS: + +* **name** (`string`) +* **type** (`string`) +* **default** (`any`) +* **enums** (`array`) + +`arg` is a shorthand for `argument.new` +### fn fn + +```jsonnet +fn(help, args) +``` + +PARAMETERS: + +* **help** (`string`) +* **args** (`array`) + +`fn` is a shorthand for `func.new` +### fn obj + +```jsonnet +obj(help, fields) +``` + +PARAMETERS: + +* **help** (`string`) +* **fields** (`object`) + +`obj` is a shorthand for `object.new` +### fn pkg + +```jsonnet +pkg(name, url, help, filename="", version="master") +``` + +PARAMETERS: + +* **name** (`string`) +* **url** (`string`) +* **help** (`string`) +* **filename** (`string`) + - default value: `""` +* **version** (`string`) + - default value: `"master"` + +`new` is a shorthand for `package.new` +### fn render + +```jsonnet +render(obj) +``` + +PARAMETERS: + +* **obj** (`object`) + +`render` converts the docstrings to human readable Markdown files. + +Usage: + +```jsonnet +// docs.jsonnet +d.render(import 'main.libsonnet') +``` + +Call with: `jsonnet -S -c -m docs/ docs.jsonnet` + +### fn val + +```jsonnet +val(type, help, default) +``` + +PARAMETERS: + +* **type** (`string`) +* **help** (`string`) +* **default** (`any`) + +`val` is a shorthand for `value.new` +### obj argument + +Utilities for creating function arguments + +#### fn argument.fromSchema + +```jsonnet +argument.fromSchema(name, schema) +``` + +PARAMETERS: + +* **name** (`string`) +* **schema** (`object`) + +`fromSchema` creates a new function argument, taking a JSON `schema` to describe the type information for this argument. + +Examples: + +```jsonnet +[ + d.argument.fromSchema('foo', { type: 'string' }), + d.argument.fromSchema('bar', { type: 'string', default='loo' }), + d.argument.fromSchema('baz', { type: 'number', enum=[1,2,3] }), +] +``` + +#### fn argument.new + +```jsonnet +argument.new(name, type, default, enums) +``` + +PARAMETERS: + +* **name** (`string`) +* **type** (`string`) +* **default** (`any`) +* **enums** (`array`) + +`new` creates a new function argument, taking the `name`, the `type`. Optionally it +can take a `default` value and `enum`-erate potential values. + +Examples: + +```jsonnet +[ + d.argument.new('foo', d.T.string), + d.argument.new('bar', d.T.string, default='loo'), + d.argument.new('baz', d.T.number, enums=[1,2,3]), +] +``` + +### obj func + +Utilities for documenting Jsonnet methods (functions of objects) + +#### fn func.new + +```jsonnet +func.new(help, args) +``` + +PARAMETERS: + +* **help** (`string`) +* **args** (`array`) + +new creates a new function, optionally with description and arguments +#### fn func.withArgs + +```jsonnet +func.withArgs(args) +``` + +PARAMETERS: + +* **args** (`array`) + +The `withArgs` modifier overrides the arguments of that function +#### fn func.withHelp + +```jsonnet +func.withHelp(help) +``` + +PARAMETERS: + +* **help** (`string`) + +The `withHelp` modifier overrides the help text of that function +### obj object + +Utilities for documenting Jsonnet objects (`{ }`). + +#### fn object.new + +```jsonnet +object.new(help, fields) +``` + +PARAMETERS: + +* **help** (`string`) +* **fields** (`object`) + +new creates a new object, optionally with description and fields +#### fn object.withFields + +```jsonnet +object.withFields(fields) +``` + +PARAMETERS: + +* **fields** (`object`) + +The `withFields` modifier overrides the fields property of an already created object +### obj value + +Utilities for documenting plain Jsonnet values (primitives) + +#### fn value.new + +```jsonnet +value.new(type, help, default) +``` + +PARAMETERS: + +* **type** (`string`) +* **help** (`string`) +* **default** (`any`) + +new creates a new object of given type, optionally with description and default value +### obj T + +* `T.any` (`string`): `"any"` - argument of type "any" +* `T.array` (`string`): `"array"` - argument of type "array" +* `T.boolean` (`string`): `"bool"` - argument of type "boolean" +* `T.func` (`string`): `"function"` - argument of type "func" +* `T.null` (`string`): `"null"` - argument of type "null" +* `T.number` (`string`): `"number"` - argument of type "number" +* `T.object` (`string`): `"object"` - argument of type "object" +* `T.string` (`string`): `"string"` - argument of type "string" + +### obj package + + +#### fn package.new + +```jsonnet +package.new(name, url, help, filename="", version="master") +``` + +PARAMETERS: + +* **name** (`string`) +* **url** (`string`) +* **help** (`string`) +* **filename** (`string`) + - default value: `""` +* **version** (`string`) + - default value: `"master"` + +`new` creates a new package + +Arguments: + +* given `name` +* source `url` for jsonnet-bundler and the import +* `help` text +* `filename` for the import, defaults to blank for backward compatibility +* `version` for jsonnet-bundler install, defaults to `master` just like jsonnet-bundler + +#### fn package.newSub + +```jsonnet +package.newSub(name, help) +``` + +PARAMETERS: + +* **name** (`string`) +* **help** (`string`) + +`newSub` creates a package without the preconfigured install/usage templates. + +Arguments: + +* given `name` +* `help` text diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet new file mode 100644 index 0000000000..f3ec298495 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet @@ -0,0 +1,263 @@ +{ + local d = self, + + '#': + d.pkg( + name='doc-util', + url='github.com/jsonnet-libs/docsonnet/doc-util', + help=||| + `doc-util` provides a Jsonnet interface for `docsonnet`, + a Jsonnet API doc generator that uses structured data instead of comments. + |||, + filename=std.thisFile, + ) + + d.package.withUsageTemplate( + 'local d = import "%(import)s"' + ), + + package:: { + '#new':: d.fn(||| + `new` creates a new package + + Arguments: + + * given `name` + * source `url` for jsonnet-bundler and the import + * `help` text + * `filename` for the import, defaults to blank for backward compatibility + * `version` for jsonnet-bundler install, defaults to `master` just like jsonnet-bundler + |||, [ + d.arg('name', d.T.string), + d.arg('url', d.T.string), + d.arg('help', d.T.string), + d.arg('filename', d.T.string, ''), + d.arg('version', d.T.string, 'master'), + ]), + new(name, url, help, filename='', version='master'):: + { + name: name, + help: + help + + std.get(self, 'installTemplate', '') % self + + std.get(self, 'usageTemplate', '') % self, + 'import': + if filename != '' + then url + '/' + filename + else url, + url: url, + filename: filename, + version: version, + + } + + self.withInstallTemplate( + 'jb install %(url)s@%(version)s' + ) + + self.withUsageTemplate( + 'local %(name)s = import "%(import)s"' + ), + + '#newSub':: d.fn(||| + `newSub` creates a package without the preconfigured install/usage templates. + + Arguments: + + * given `name` + * `help` text + |||, [ + d.arg('name', d.T.string), + d.arg('help', d.T.string), + ]), + newSub(name, help):: + { + name: name, + help: help, + }, + + withInstallTemplate(template):: { + installTemplate: + if template != null + then + ||| + + ## Install + + ``` + %s + ``` + ||| % template + else '', + }, + + withUsageTemplate(template):: { + usageTemplate: + if template != null + then + ||| + + ## Usage + + ```jsonnet + %s + ``` + ||| % template + else '', + }, + }, + + '#pkg':: self.package['#new'] + d.func.withHelp('`new` is a shorthand for `package.new`'), + pkg:: self.package.new, + + '#object': d.obj('Utilities for documenting Jsonnet objects (`{ }`).'), + object:: { + '#new': d.fn('new creates a new object, optionally with description and fields', [d.arg('help', d.T.string), d.arg('fields', d.T.object)]), + new(help='', fields={}):: { object: { + help: help, + fields: fields, + } }, + + '#withFields': d.fn('The `withFields` modifier overrides the fields property of an already created object', [d.arg('fields', d.T.object)]), + withFields(fields):: { object+: { + fields: fields, + } }, + }, + + '#obj': self.object['#new'] + d.func.withHelp('`obj` is a shorthand for `object.new`'), + obj:: self.object.new, + + '#func': d.obj('Utilities for documenting Jsonnet methods (functions of objects)'), + func:: { + '#new': d.fn('new creates a new function, optionally with description and arguments', [d.arg('help', d.T.string), d.arg('args', d.T.array)]), + new(help='', args=[]):: { 'function': { + help: help, + args: args, + } }, + + '#withHelp': d.fn('The `withHelp` modifier overrides the help text of that function', [d.arg('help', d.T.string)]), + withHelp(help):: { 'function'+: { + help: help, + } }, + + '#withArgs': d.fn('The `withArgs` modifier overrides the arguments of that function', [d.arg('args', d.T.array)]), + withArgs(args):: { 'function'+: { + args: args, + } }, + }, + + '#fn': self.func['#new'] + d.func.withHelp('`fn` is a shorthand for `func.new`'), + fn:: self.func.new, + + '#argument': d.obj('Utilities for creating function arguments'), + argument:: { + '#new': d.fn(||| + `new` creates a new function argument, taking the `name`, the `type`. Optionally it + can take a `default` value and `enum`-erate potential values. + + Examples: + + ```jsonnet + [ + d.argument.new('foo', d.T.string), + d.argument.new('bar', d.T.string, default='loo'), + d.argument.new('baz', d.T.number, enums=[1,2,3]), + ] + ``` + |||, [ + d.arg('name', d.T.string), + d.arg('type', d.T.string), + d.arg('default', d.T.any), + d.arg('enums', d.T.array), + ]), + new(name, type, default=null, enums=null): { + name: name, + type: type, + default: default, + enums: enums, + }, + '#fromSchema': d.fn(||| + `fromSchema` creates a new function argument, taking a JSON `schema` to describe the type information for this argument. + + Examples: + + ```jsonnet + [ + d.argument.fromSchema('foo', { type: 'string' }), + d.argument.fromSchema('bar', { type: 'string', default='loo' }), + d.argument.fromSchema('baz', { type: 'number', enum=[1,2,3] }), + ] + ``` + |||, [ + d.arg('name', d.T.string), + d.arg('schema', d.T.object), + ]), + fromSchema(name, schema): { + name: name, + schema: schema, + }, + }, + '#arg': self.argument['#new'] + self.func.withHelp('`arg` is a shorthand for `argument.new`'), + arg:: self.argument.new, + + '#value': d.obj('Utilities for documenting plain Jsonnet values (primitives)'), + value:: { + '#new': d.fn('new creates a new object of given type, optionally with description and default value', [d.arg('type', d.T.string), d.arg('help', d.T.string), d.arg('default', d.T.any)]), + new(type, help='', default=null): { value: { + help: help, + type: type, + default: default, + } }, + }, + '#val': self.value['#new'] + self.func.withHelp('`val` is a shorthand for `value.new`'), + val:: self.value.new, + + // T contains constants for the Jsonnet types + T:: { + '#string': d.val(d.T.string, 'argument of type "string"'), + string: 'string', + + '#number': d.val(d.T.string, 'argument of type "number"'), + number: 'number', + int: self.number, + integer: self.number, + + '#boolean': d.val(d.T.string, 'argument of type "boolean"'), + boolean: 'bool', + bool: self.boolean, + + '#object': d.val(d.T.string, 'argument of type "object"'), + object: 'object', + + '#array': d.val(d.T.string, 'argument of type "array"'), + array: 'array', + + '#any': d.val(d.T.string, 'argument of type "any"'), + any: 'any', + + '#null': d.val(d.T.string, 'argument of type "null"'), + 'null': 'null', + nil: self['null'], + + '#func': d.val(d.T.string, 'argument of type "func"'), + func: 'function', + 'function': self.func, + }, + + '#render': d.fn( + ||| + `render` converts the docstrings to human readable Markdown files. + + Usage: + + ```jsonnet + // docs.jsonnet + d.render(import 'main.libsonnet') + ``` + + Call with: `jsonnet -S -c -m docs/ docs.jsonnet` + |||, + args=[ + d.arg('obj', d.T.object), + ] + ), + render:: (import './render.libsonnet').render, + +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet new file mode 100644 index 0000000000..e02c4e9ad3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet @@ -0,0 +1,476 @@ +{ + local root = self, + + render(obj): + assert std.isObject(obj) && '#' in obj : 'error: object is not a docsonnet package'; + local package = self.package(obj); + package.toFiles(), + + findPackages(obj, path=[]): { + local find(obj, path, parentWasPackage=true) = + std.foldl( + function(acc, k) + acc + + ( + // If matches a package but warn if also has an object docstring + if '#' in obj[k] && '#' + k in obj + && !std.objectHasAll(obj[k]['#'], 'ignore') + then std.trace( + 'warning: %s both defined as object and package' % k, + [root.package(obj[k], path + [k], parentWasPackage)] + ) + // If matches a package, return it + else if '#' in obj[k] + && !std.objectHasAll(obj[k]['#'], 'ignore') + then [root.package(obj[k], path + [k], parentWasPackage)] + // If not, keep looking + else find(obj[k], path + [k], parentWasPackage=false) + ), + std.filter( + function(k) + !std.startsWith(k, '#') + && std.isObject(obj[k]), + std.objectFieldsAll(obj) + ), + [] + ), + + packages: find(obj, path), + + hasPackages(): std.length(self.packages) > 0, + + toIndex(relativeTo=[]): + if self.hasPackages() + then + std.join('\n', [ + '* ' + p.link(relativeTo) + for p in self.packages + ]) + + '\n' + else '', + + toFiles(): + std.foldl( + function(acc, p) + acc + + { [p.path]: p.toString() } + + p.packages.toFiles(), + self.packages, + {} + ), + }, + + package(obj, path=[], parentWasPackage=true): { + local this = self, + local doc = obj['#'], + + packages: root.findPackages(obj, path), + fields: root.fields(obj), + + local pathsuffix = + (if self.packages.hasPackages() + then '/index.md' + else '.md'), + + // filepath on disk + path: + std.join('/', path) + + pathsuffix, + + link(relativeTo): + local relativepath = root.util.getRelativePath(path, relativeTo); + '[%s](%s)' % [ + std.join('.', relativepath), + std.join('/', relativepath) + + pathsuffix, + ], + + toFiles(): + { 'README.md': this.toString() } + + self.packages.toFiles(), + + toString(): + std.join( + '\n', + [ + '# ' + doc.name + '\n', + std.get(doc, 'help', ''), + '', + ] + + (if self.packages.hasPackages() + then [ + '## Subpackages\n\n' + + self.packages.toIndex(path), + ] + else []) + + (if self.fields.hasFields() + then [ + '## Index\n\n' + + self.fields.toIndex() + + '\n## Fields\n' + + self.fields.toString(), + ] + else []) + ), + }, + + fields(obj, path=[]): { + values: root.findValues(obj, path), + functions: root.findFunctions(obj, path), + objects: root.findObjects(obj, path), + + hasFields(): + std.any([ + self.values.hasFields(), + self.functions.hasFields(), + self.objects.hasFields(), + ]), + + toIndex(): + std.join('', [ + self.functions.toIndex(), + self.objects.toIndex(), + ]), + + toString(): + std.join('', [ + self.values.toString(), + self.functions.toString(), + self.objects.toString(), + ]), + }, + + findObjects(obj, path=[]): { + local keys = + std.filter( + root.util.filter('object', obj), + std.objectFieldsAll(obj) + ), + + local undocumentedKeys = + std.filter( + function(k) + std.all([ + !std.startsWith(k, '#'), + std.isObject(obj[k]), + !std.objectHasAll(obj[k], 'ignore'), + !('#' + k in obj), // not documented in parent + !('#' in obj[k]), // not a sub package + ]), + std.objectFieldsAll(obj) + ), + + objects: + std.foldl( + function(acc, k) + acc + [ + root.obj( + root.util.realkey(k), + obj[k], + obj[root.util.realkey(k)], + path, + ), + ], + keys, + [] + ) + + std.foldl( + function(acc, k) + local o = root.obj( + k, + { object: { help: '' } }, + obj[k], + path, + ); + acc + + (if o.fields.hasFields() + then [o] + else []), + undocumentedKeys, + [] + ), + + hasFields(): std.length(self.objects) > 0, + + toIndex(): + if self.hasFields() + then + std.join('', [ + std.join( + '', + [' ' for d in std.range(0, (std.length(path) * 2) - 1)] + + ['* ', f.link] + + ['\n'] + + (if f.fields.hasFields() + then [f.fields.toIndex()] + else []) + ) + for f in self.objects + ]) + else '', + + toString(): + if self.hasFields() + then + std.join('', [ + o.toString() + for o in self.objects + ]) + else '', + }, + + obj(name, doc, obj, path): { + fields: root.fields(obj, path + [name]), + + path: std.join('.', path + [name]), + fragment: root.util.fragment(std.join('', path + [name])), + link: '[`obj %s`](#obj-%s)' % [name, self.fragment], + + toString(): + std.join( + '\n', + [root.util.title('obj ' + self.path, std.length(path) + 2)] + + (if std.get(doc.object, 'help', '') != '' + then [doc.object.help] + else []) + + [self.fields.toString()] + ), + }, + + findFunctions(obj, path=[]): { + local keys = + std.filter( + root.util.filter('function', obj), + std.objectFieldsAll(obj) + ), + + functions: + std.foldl( + function(acc, k) + acc + [ + root.func( + root.util.realkey(k), + obj[k], + path, + ), + ], + keys, + [] + ), + + hasFields(): std.length(self.functions) > 0, + + toIndex(): + if self.hasFields() + then + std.join('', [ + std.join( + '', + [' ' for d in std.range(0, (std.length(path) * 2) - 1)] + + ['* ', f.link] + + ['\n'] + ) + for f in self.functions + ]) + else '', + + toString(): + if self.hasFields() + then + std.join('', [ + f.toString() + for f in self.functions + ]) + else '', + }, + + func(name, doc, path): { + path: std.join('.', path + [name]), + fragment: root.util.fragment(std.join('', path + [name])), + link: '[`fn %s(%s)`](#fn-%s)' % [name, self.args, self.fragment], + + local getType(arg) = + local type = + if 'schema' in arg + then std.get(arg.schema, 'type', '') + else std.get(arg, 'type', ''); + if std.isArray(type) + then std.join(',', [t for t in type]) + else type, + + // Use BelRune as default can be 'null' as a value. Only supported for arg.schema, arg.default didn't support this, not sure how to support without breaking asssumptions downstream. + local BelRune = std.char(7), + local getDefault(arg) = + if 'schema' in arg + then std.get(arg.schema, 'default', BelRune) + else + local d = std.get(arg, 'default', BelRune); + if d == null + then BelRune + else d, + + local getEnum(arg) = + if 'schema' in arg + then std.get(arg.schema, 'enum', []) + else + local d = std.get(arg, 'enums', []); + if d == null + then [] + else d, + + args: + std.join(', ', [ + local default = getDefault(arg); + if default != BelRune + then std.join('=', [ + arg.name, + std.manifestJson(default), + ]) + else arg.name + for arg in doc['function'].args + ]), + + + args_list: + if std.length(doc['function'].args) > 0 + then + '\nPARAMETERS:\n\n' + + std.join('\n', [ + '* **%s** (`%s`)' % [arg.name, getType(arg)] + + ( + local default = getDefault(arg); + if default != BelRune + then '\n - default value: `%s`' % std.manifestJson(default) + else '' + ) + + ( + local enum = getEnum(arg); + if enum != [] + then + '\n - valid values: %s' % + std.join(', ', [ + '`%s`' % std.manifestJson(item) + for item in enum + ]) + else '' + ) + for arg in doc['function'].args + ]) + else '', + + toString(): + std.join('\n', [ + root.util.title('fn ' + self.path, std.length(path) + 2), + ||| + ```jsonnet + %s(%s) + ``` + %s + ||| % [self.path, self.args, self.args_list], + std.get(doc['function'], 'help', ''), + ]), + }, + + findValues(obj, path=[]): { + local keys = + std.filter( + root.util.filter('value', obj), + std.objectFieldsAll(obj) + ), + + values: + std.foldl( + function(acc, k) + acc + [ + root.val( + root.util.realkey(k), + obj[k], + obj[root.util.realkey(k)], + path, + ), + ], + keys, + [] + ), + + hasFields(): std.length(self.values) > 0, + + toString(): + if self.hasFields() + then + std.join('\n', [ + '* ' + f.toString() + for f in self.values + ]) + '\n' + else '', + }, + + val(name, doc, obj, path): { + toString(): + std.join(' ', [ + '`%s`' % std.join('.', path + [name]), + '(`%s`):' % doc.value.type, + '`"%s"`' % obj, + '-', + std.get(doc.value, 'help', ''), + ]), + }, + + util: { + realkey(key): + assert std.startsWith(key, '#') : 'Key %s not a docstring key' % key; + key[1:], + title(title, depth=0): + std.join( + '', + ['\n'] + + ['#' for i in std.range(0, depth)] + + [' ', title, '\n'] + ), + fragment(title): + std.asciiLower( + std.strReplace( + std.strReplace(title, '.', '') + , ' ', '-' + ) + ), + filter(type, obj): + function(k) + std.all([ + std.startsWith(k, '#'), + std.isObject(obj[k]), + !std.objectHasAll(obj[k], 'ignore'), + type in obj[k], + root.util.realkey(k) in obj, + ]), + + getRelativePath(path, relativeTo): + local shortest = std.min(std.length(relativeTo), std.length(path)); + + local commonIndex = + std.foldl( + function(acc, i) ( + if acc.stop + then acc + else + acc + { + // stop count if path diverges + local stop = relativeTo[i] != path[i], + stop: stop, + count+: if stop then 0 else 1, + } + ), + std.range(0, shortest - 1), + { stop: false, count: 0 } + ).count; + + local _relativeTo = relativeTo[commonIndex:]; + local _path = path[commonIndex:]; + + // prefix for relative difference + local prefix = ['..' for i in std.range(0, std.length(_relativeTo) - 1)]; + + // return path with prefix + prefix + _path, + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml new file mode 100644 index 0000000000..bfe3f82712 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml @@ -0,0 +1,32 @@ +name: tests +on: + pull_request: {} + push: + branches: + - main + - master + +jobs: + test: + name: test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + - name: make test + run: | + go install github.com/google/go-jsonnet/cmd/jsonnet@latest + go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest + make test + docs: + name: docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + - name: make docs + run: | + go install github.com/jsonnet-libs/docsonnet@master + make docs + git diff --exit-code + \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore new file mode 100644 index 0000000000..bb476a1189 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore @@ -0,0 +1,3 @@ +.jekyll-cache +jsonnetfile.lock.json +vendor diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE new file mode 100644 index 0000000000..0a39b255a2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 grafana, sh0rez + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile new file mode 100644 index 0000000000..7ffe3aa9e2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile @@ -0,0 +1,16 @@ +.PHONY: test +test: + @cd test/; \ + jb install; \ + RESULT=0; \ + for f in $$(find . -path './.git' -prune -o -name 'vendor' -prune -o -name '*_test.jsonnet' -print); do \ + echo "$$f"; \ + jsonnet -J vendor -J lib "$$f"; \ + RESULT=$$(($$RESULT + $$?)); \ + done; \ + exit $$RESULT + + +.PHONY: docs +docs: + docsonnet main.libsonnet diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md new file mode 100644 index 0000000000..a060428ed2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md @@ -0,0 +1,19 @@ +# `xtd` + +`xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). + +## Install + +```console +jb install github.com/jsonnet-libs/xtd +``` + +## Usage + +```jsonnet +local xtd = import "github.com/jsonnet-libs/xtd/main.libsonnet" +``` + +## Docs + +[docs](docs/README.md) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet new file mode 100644 index 0000000000..78d3c1cac2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet @@ -0,0 +1,104 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + local this = self, + + '#': d.pkg( + name='aggregate', + url='github.com/jsonnet-libs/xtd/aggregate.libsonnet', + help=||| + `aggregate` implements helper functions to aggregate arrays of objects into objects with arrays. + + Example: + + ```jsonnet + local apps = [ + { + appid: 'id1', + name: 'yo', + id: i, + } + for i in std.range(0, 10) + ]; + + aggregate.byKeys(apps, ['appid', 'name']); + ``` + + Output: + + ```json + { + "id1": { + "yo": [ + { + "appid": "id1", + "id": 0, + "name": "yo" + }, + { + "appid": "id1", + "id": 1, + "name": "yo" + }, + ... + ] + } + } + ``` + |||, + ), + + '#byKey':: d.fn( + ||| + `byKey` aggregates an array by the value of `key` + |||, + [ + d.arg('arr', d.T.array), + d.arg('key', d.T.string), + ] + ), + byKey(arr, key): + // find all values of key + local values = std.set([ + item[key] + for item in arr + ]); + + // create the aggregate for the value of each key + { + [value]: [ + item + for item in std.filter( + function(x) + x[key] == value, + arr + ) + ] + for value in values + }, + + '#byKeys':: d.fn( + ||| + `byKey` aggregates an array by iterating over `keys`, each item in `keys` nests the + aggregate one layer deeper. + |||, + [ + d.arg('arr', d.T.array), + d.arg('keys', d.T.array), + ] + ), + byKeys(arr, keys): + local aggregate = self.byKey(arr, keys[0]); + // if last key in keys + if std.length(keys) == 1 + + // then return aggregate + then aggregate + + // else aggregate with remaining keys + else { + [k]: this.byKeys(aggregate[k], keys[1:]) + for k in std.objectFields(aggregate) + }, + +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet new file mode 100644 index 0000000000..f000c87871 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet @@ -0,0 +1,37 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='array', + url='github.com/jsonnet-libs/xtd/array.libsonnet', + help='`array` implements helper functions for processing arrays.', + ), + + '#slice':: d.fn( + '`slice` works the same as `std.slice` but with support for negative index/end.', + [ + d.arg('indexable', d.T.array), + d.arg('index', d.T.number), + d.arg('end', d.T.number, default='null'), + d.arg('step', d.T.number, default=1), + ] + ), + slice(indexable, index, end=null, step=1): + local invar = { + index: + if index != null + then + if index < 0 + then std.length(indexable) + index + else index + else 0, + end: + if end != null + then + if end < 0 + then std.length(indexable) + end + else end + else std.length(indexable), + }; + indexable[invar.index:invar.end:step], +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet new file mode 100644 index 0000000000..28571ac6f8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet @@ -0,0 +1,39 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='ascii', + url='github.com/jsonnet-libs/xtd/ascii.libsonnet', + help='`ascii` implements helper functions for ascii characters', + ), + + local cp(c) = std.codepoint(c), + + '#isLower':: d.fn( + '`isLower` reports whether ASCII character `c` is a lower case letter', + [d.arg('c', d.T.string)] + ), + isLower(c): + if cp(c) >= 97 && cp(c) < 123 + then true + else false, + + '#isUpper':: d.fn( + '`isUpper` reports whether ASCII character `c` is a upper case letter', + [d.arg('c', d.T.string)] + ), + isUpper(c): + if cp(c) >= 65 && cp(c) < 91 + then true + else false, + + '#isNumber':: d.fn( + '`isNumber` reports whether character `c` is a number.', + [d.arg('c', d.T.string)] + ), + isNumber(c): + if std.isNumber(c) || (cp(c) >= 48 && cp(c) < 58) + then true + else false, + +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet new file mode 100644 index 0000000000..9f26ef3f61 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet @@ -0,0 +1,100 @@ +local xtd = import './main.libsonnet'; +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='camelcase', + url='github.com/jsonnet-libs/xtd/camelcase.libsonnet', + help='`camelcase` can split camelCase words into an array of words.', + ), + + '#split':: d.fn( + ||| + `split` splits a camelcase word and returns an array of words. It also supports + digits. Both lower camel case and upper camel case are supported. It only supports + ASCII characters. + For more info please check: http://en.wikipedia.org/wiki/CamelCase + Based on https://github.com/fatih/camelcase/ + |||, + [d.arg('src', d.T.string)] + ), + split(src): + if src == '' + then [''] + else + local runes = std.foldl( + function(acc, r) + acc { + local class = + if xtd.ascii.isNumber(r) + then 1 + else if xtd.ascii.isLower(r) + then 2 + else if xtd.ascii.isUpper(r) + then 3 + else 4, + + lastClass:: class, + + runes: + if class == super.lastClass + then super.runes[:std.length(super.runes) - 1] + + [super.runes[std.length(super.runes) - 1] + r] + else super.runes + [r], + }, + [src[i] for i in std.range(0, std.length(src) - 1)], + { lastClass:: 0, runes: [] } + ).runes; + + local fixRunes = + std.foldl( + function(runes, i) + if xtd.ascii.isUpper(runes[i][0]) + && xtd.ascii.isLower(runes[i + 1][0]) + && !xtd.ascii.isNumber(runes[i + 1][0]) + && runes[i][0] != ' ' + && runes[i + 1][0] != ' ' + then + std.mapWithIndex( + function(index, r) + if index == i + 1 + then runes[i][std.length(runes[i]) - 1:] + r + else + if index == i + then r[:std.length(r) - 1] + else r + , runes + ) + else runes + , + [i for i in std.range(0, std.length(runes) - 2)], + runes + ); + + [ + r + for r in fixRunes + if r != '' + ], + + '#toCamelCase':: d.fn( + ||| + `toCamelCase` transforms a string to camelCase format, splitting words by the `-`, `_` or spaces. + For example: `hello_world` becomes `helloWorld`. + For more info please check: http://en.wikipedia.org/wiki/CamelCase + |||, + [d.arg('str', d.T.string)] + ), + toCamelCase(str):: + local separators = std.set(std.findSubstr('_', str) + std.findSubstr('-', str) + std.findSubstr(' ', str)); + local n = std.join('', [ + if std.setMember(i - 1, separators) + then std.asciiUpper(str[i]) + else str[i] + for i in std.range(0, std.length(str) - 1) + if !std.setMember(i, separators) + ]); + if std.length(n) == 0 + then n + else std.asciiLower(n[0]) + n[1:], +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet new file mode 100644 index 0000000000..4842f98bb3 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet @@ -0,0 +1,185 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='date', + url='github.com/jsonnet-libs/xtd/date.libsonnet', + help='`time` provides various date related functions.', + ), + + // Lookup tables for calendar calculations + local commonYearMonthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + local commonYearMonthOffset = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5], + local leapYearMonthOffset = [0, 3, 4, 0, 2, 5, 0, 3, 6, 1, 4, 6], + + // monthOffset looks up the offset to apply in day of week calculations based on the year and month + local monthOffset(year, month) = + if self.isLeapYear(year) + then leapYearMonthOffset[month - 1] + else commonYearMonthOffset[month - 1], + + '#isLeapYear': d.fn( + '`isLeapYear` returns true if the given year is a leap year.', + [d.arg('year', d.T.number)], + ), + isLeapYear(year):: year % 4 == 0 && (year % 100 != 0 || year % 400 == 0), + + '#dayOfWeek': d.fn( + '`dayOfWeek` returns the day of the week for the given date. 0=Sunday, 1=Monday, etc.', + [ + d.arg('year', d.T.number), + d.arg('month', d.T.number), + d.arg('day', d.T.number), + ], + ), + dayOfWeek(year, month, day):: + (day + monthOffset(year, month) + 5 * ((year - 1) % 4) + 4 * ((year - 1) % 100) + 6 * ((year - 1) % 400)) % 7, + + '#dayOfYear': d.fn( + ||| + `dayOfYear` calculates the ordinal day of the year based on the given date. The range of outputs is 1-365 + for common years, and 1-366 for leap years. + |||, + [ + d.arg('year', d.T.number), + d.arg('month', d.T.number), + d.arg('day', d.T.number), + ], + ), + dayOfYear(year, month, day):: + std.foldl( + function(a, b) a + b, + std.slice(commonYearMonthLength, 0, month - 1, 1), + 0 + ) + day + + if month > 2 && self.isLeapYear(year) + then 1 + else 0, + + // yearSeconds returns the number of seconds in the given year. + local yearSeconds(year) = ( + if $.isLeapYear(year) + then 366 * 24 * 3600 + else 365 * 24 * 3600 + ), + + // monthSeconds returns the number of seconds in the given month of a given year. + local monthSeconds(year, month) = ( + commonYearMonthLength[month - 1] * 24 * 3600 + + if month == 2 && $.isLeapYear(year) then 86400 else 0 + ), + + // sumYearsSeconds returns the number of seconds in all years since 1970 up to year-1. + local sumYearsSeconds(year) = std.foldl( + function(acc, y) acc + yearSeconds(y), + std.range(1970, year - 1), + 0, + ), + + // sumMonthsSeconds returns the number of seconds in all months up to month-1 of the given year. + local sumMonthsSeconds(year, month) = std.foldl( + function(acc, m) acc + monthSeconds(year, m), + std.range(1, month - 1), + 0, + ), + + // sumDaysSeconds returns the number of seconds in all days up to day-1. + local sumDaysSeconds(day) = (day - 1) * 24 * 3600, + + '#toUnixTimestamp': d.fn( + ||| + `toUnixTimestamp` calculates the unix timestamp of a given date. + |||, + [ + d.arg('year', d.T.number), + d.arg('month', d.T.number), + d.arg('day', d.T.number), + d.arg('hour', d.T.number), + d.arg('minute', d.T.number), + d.arg('second', d.T.number), + ], + ), + toUnixTimestamp(year, month, day, hour, minute, second):: + sumYearsSeconds(year) + sumMonthsSeconds(year, month) + sumDaysSeconds(day) + hour * 3600 + minute * 60 + second, + + // isNumeric checks that the input is a non-empty string containing only digit characters. + local isNumeric(input) = + assert std.type(input) == 'string' : 'isNumeric() only operates on string inputs, got %s' % std.type(input); + std.foldl( + function(acc, char) acc && std.codepoint('0') <= std.codepoint(char) && std.codepoint(char) <= std.codepoint('9'), + std.stringChars(input), + std.length(input) > 0, + ), + + // parseSeparatedNumbers parses input which has part `names` separated by `sep`. + // Returns an object which has one field for each name in `names` with its integer value. + local parseSeparatedNumbers(input, sep, names) = ( + assert std.type(input) == 'string' : 'parseSeparatedNumbers() only operates on string inputs, got %s' % std.type(input); + assert std.type(sep) == 'string' : 'parseSeparatedNumbers() only operates on string separators, got %s' % std.type(sep); + assert std.type(names) == 'array' : 'parseSeparatedNumbers() only operates on arrays of names, got input %s' % std.type(names); + + local parts = std.split(input, sep); + assert std.length(parts) == std.length(names) : 'expected %(expected)d parts separated by %(sep)s in %(format)s formatted input "%(input)s", but got %(got)d' % { + expected: std.length(names), + sep: sep, + format: std.join(sep, names), + input: input, + got: std.length(parts), + }; + + { + [names[i]]: + // Fail with meaningful message if not numeric, otherwise it will be a hell to debug. + assert isNumeric(parts[i]) : '%(name)%s part "%(part)s" of %(format)s of input "%(input)s" is not numeric' % { + name: names[i], + part: parts[i], + format: std.join(sep, names), + input: input, + }; + std.parseInt(parts[i]) + for i in std.range(0, std.length(parts) - 1) + } + ), + + // stringContains is a helper function to check whether a string contains a given substring. + local stringContains(haystack, needle) = std.length(std.findSubstr(needle, haystack)) > 0, + + '#parseRFC3339': d.fn( + ||| + `parseRFC3339` parses an RFC3339-formatted date & time string (like `2020-01-02T03:04:05Z`) into an object containing the 'year', 'month', 'day', 'hour', 'minute' and 'second fields. + This is a limited implementation that does not support timezones (so it requires an UTC input ending in 'Z' or 'z') nor sub-second precision. + The returned object has a `toUnixTimestamp()` method that can be used to obtain the unix timestamp of the parsed date. + |||, + [ + d.arg('input', d.T.string), + ], + ), + parseRFC3339(input):: + // Basic input type check. + assert std.type(input) == 'string' : 'parseRFC3339() only operates on string inputs, got %s' % std.type(input); + + // Sub-second precision isn't implemented yet, warn the user about that instead of returning wrong results. + assert !stringContains(input, '.') : 'the provided RFC3339 input "%s" has a dot, most likely representing a sub-second precision, but this function does not support that' % input; + + // We don't support timezones, so string should end with 'Z' or 'z'. + assert std.endsWith(input, 'Z') || std.endsWith(input, 'z') : 'the provided RFC3339 "%s" should end with "Z" or "z". This implementation does not currently support timezones' % input; + + // RFC3339 can separate date and time using 'T', 't' or ' '. + // Find out which one it is and use it. + local sep = + if stringContains(input, 'T') then 'T' + else if stringContains(input, 't') then 't' + else if stringContains(input, ' ') then ' ' + else error 'the provided RFC3339 input "%s" should contain either a "T", or a "t" or space " " as a separator for date and time parts' % input; + + // Split date and time using the selected separator. + // Remove the last character as we know it's 'Z' or 'z' and it's not useful to us. + local datetime = std.split(std.substr(input, 0, std.length(input) - 1), sep); + assert std.length(datetime) == 2 : 'the provided RFC3339 timestamp "%(input)s" does not have date and time parts separated by the character "%(sep)s"' % { input: input, sep: sep }; + + local date = parseSeparatedNumbers(datetime[0], '-', ['year', 'month', 'day']); + local time = parseSeparatedNumbers(datetime[1], ':', ['hour', 'minute', 'second']); + date + time + { + toUnixTimestamp():: $.toUnixTimestamp(self.year, self.month, self.day, self.hour, self.minute, self.second), + }, +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore new file mode 100644 index 0000000000..d7951d909b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore @@ -0,0 +1,2 @@ +Gemfile.lock +_site diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile new file mode 100644 index 0000000000..75d9835fa2 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile @@ -0,0 +1,2 @@ +source "https://rubygems.org" +gem "github-pages", group: :jekyll_plugins diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md new file mode 100644 index 0000000000..fbd33a5f0c --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md @@ -0,0 +1,25 @@ +--- +permalink: / +--- + +# xtd + +```jsonnet +local xtd = import "github.com/jsonnet-libs/xtd/main.libsonnet" +``` + +`xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). + +This package serves as a test field for functions intended to be contributed to `std` +in the future, but also provides a place for less general, yet useful utilities. + + +* [aggregate](aggregate.md) +* [array](array.md) +* [ascii](ascii.md) +* [camelcase](camelcase.md) +* [date](date.md) +* [inspect](inspect.md) +* [jsonpath](jsonpath.md) +* [string](string.md) +* [url](url.md) \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml new file mode 100644 index 0000000000..d18a288c42 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml @@ -0,0 +1,2 @@ +theme: jekyll-theme-cayman +baseurl: /xtd diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md new file mode 100644 index 0000000000..a877ddf24a --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md @@ -0,0 +1,74 @@ +--- +permalink: /aggregate/ +--- + +# aggregate + +```jsonnet +local aggregate = import "github.com/jsonnet-libs/xtd/aggregate.libsonnet" +``` + +`aggregate` implements helper functions to aggregate arrays of objects into objects with arrays. + +Example: + +```jsonnet +local apps = [ + { + appid: 'id1', + name: 'yo', + id: i, + } + for i in std.range(0, 10) +]; + +aggregate.byKeys(apps, ['appid', 'name']); +``` + +Output: + +```json +{ + "id1": { + "yo": [ + { + "appid": "id1", + "id": 0, + "name": "yo" + }, + { + "appid": "id1", + "id": 1, + "name": "yo" + }, + ... + ] + } +} +``` + + +## Index + +* [`fn byKey(arr, key)`](#fn-bykey) +* [`fn byKeys(arr, keys)`](#fn-bykeys) + +## Fields + +### fn byKey + +```ts +byKey(arr, key) +``` + +`byKey` aggregates an array by the value of `key` + + +### fn byKeys + +```ts +byKeys(arr, keys) +``` + +`byKey` aggregates an array by iterating over `keys`, each item in `keys` nests the +aggregate one layer deeper. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md new file mode 100644 index 0000000000..f273293a61 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md @@ -0,0 +1,25 @@ +--- +permalink: /array/ +--- + +# array + +```jsonnet +local array = import "github.com/jsonnet-libs/xtd/array.libsonnet" +``` + +`array` implements helper functions for processing arrays. + +## Index + +* [`fn slice(indexable, index, end='null', step=1)`](#fn-slice) + +## Fields + +### fn slice + +```ts +slice(indexable, index, end='null', step=1) +``` + +`slice` works the same as `std.slice` but with support for negative index/end. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md new file mode 100644 index 0000000000..9a85053806 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md @@ -0,0 +1,43 @@ +--- +permalink: /ascii/ +--- + +# ascii + +```jsonnet +local ascii = import "github.com/jsonnet-libs/xtd/ascii.libsonnet" +``` + +`ascii` implements helper functions for ascii characters + +## Index + +* [`fn isLower(c)`](#fn-islower) +* [`fn isNumber(c)`](#fn-isnumber) +* [`fn isUpper(c)`](#fn-isupper) + +## Fields + +### fn isLower + +```ts +isLower(c) +``` + +`isLower` reports whether ASCII character `c` is a lower case letter + +### fn isNumber + +```ts +isNumber(c) +``` + +`isNumber` reports whether character `c` is a number. + +### fn isUpper + +```ts +isUpper(c) +``` + +`isUpper` reports whether ASCII character `c` is a upper case letter \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md new file mode 100644 index 0000000000..6c521473cd --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md @@ -0,0 +1,41 @@ +--- +permalink: /camelcase/ +--- + +# camelcase + +```jsonnet +local camelcase = import "github.com/jsonnet-libs/xtd/camelcase.libsonnet" +``` + +`camelcase` can split camelCase words into an array of words. + +## Index + +* [`fn split(src)`](#fn-split) +* [`fn toCamelCase(str)`](#fn-tocamelcase) + +## Fields + +### fn split + +```ts +split(src) +``` + +`split` splits a camelcase word and returns an array of words. It also supports +digits. Both lower camel case and upper camel case are supported. It only supports +ASCII characters. +For more info please check: http://en.wikipedia.org/wiki/CamelCase +Based on https://github.com/fatih/camelcase/ + + +### fn toCamelCase + +```ts +toCamelCase(str) +``` + +`toCamelCase` transforms a string to camelCase format, splitting words by the `-`, `_` or spaces. +For example: `hello_world` becomes `helloWorld`. +For more info please check: http://en.wikipedia.org/wiki/CamelCase diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md new file mode 100644 index 0000000000..1fcb9eb43f --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md @@ -0,0 +1,66 @@ +--- +permalink: /date/ +--- + +# date + +```jsonnet +local date = import "github.com/jsonnet-libs/xtd/date.libsonnet" +``` + +`time` provides various date related functions. + +## Index + +* [`fn dayOfWeek(year, month, day)`](#fn-dayofweek) +* [`fn dayOfYear(year, month, day)`](#fn-dayofyear) +* [`fn isLeapYear(year)`](#fn-isleapyear) +* [`fn parseRFC3339(input)`](#fn-parserfc3339) +* [`fn toUnixTimestamp(year, month, day, hour, minute, second)`](#fn-tounixtimestamp) + +## Fields + +### fn dayOfWeek + +```ts +dayOfWeek(year, month, day) +``` + +`dayOfWeek` returns the day of the week for the given date. 0=Sunday, 1=Monday, etc. + +### fn dayOfYear + +```ts +dayOfYear(year, month, day) +``` + +`dayOfYear` calculates the ordinal day of the year based on the given date. The range of outputs is 1-365 +for common years, and 1-366 for leap years. + + +### fn isLeapYear + +```ts +isLeapYear(year) +``` + +`isLeapYear` returns true if the given year is a leap year. + +### fn parseRFC3339 + +```ts +parseRFC3339(input) +``` + +`parseRFC3339` parses an RFC3339-formatted date & time string (like `2020-01-02T03:04:05Z`) into an object containing the 'year', 'month', 'day', 'hour', 'minute' and 'second fields. +This is a limited implementation that does not support timezones (so it requires an UTC input ending in 'Z' or 'z') nor sub-second precision. +The returned object has a `toUnixTimestamp()` method that can be used to obtain the unix timestamp of the parsed date. + + +### fn toUnixTimestamp + +```ts +toUnixTimestamp(year, month, day, hour, minute, second) +``` + +`toUnixTimestamp` calculates the unix timestamp of a given date. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md new file mode 100644 index 0000000000..94575ca627 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md @@ -0,0 +1,93 @@ +--- +permalink: /inspect/ +--- + +# inspect + +```jsonnet +local inspect = import "github.com/jsonnet-libs/xtd/inspect.libsonnet" +``` + +`inspect` implements helper functions for inspecting Jsonnet + +## Index + +* [`fn diff(input1, input2)`](#fn-diff) +* [`fn filterKubernetesObjects(object, kind='')`](#fn-filterkubernetesobjects) +* [`fn filterObjects(filter_func, x)`](#fn-filterobjects) +* [`fn inspect(object, maxDepth)`](#fn-inspect) + +## Fields + +### fn diff + +```ts +diff(input1, input2) +``` + +`diff` returns a JSON object describing the differences between two inputs. It +attemps to show diffs in nested objects and arrays too. + +Simple example: + +```jsonnet +local input1 = { + same: 'same', + change: 'this', + remove: 'removed', +}; + +local input2 = { + same: 'same', + change: 'changed', + add: 'added', +}; + +diff(input1, input2), +``` + +Output: +```json +{ + "add +": "added", + "change ~": "~[ this , changed ]", + "remove -": "removed" +} +``` + + +### fn filterKubernetesObjects + +```ts +filterKubernetesObjects(object, kind='') +``` + +`filterKubernetesObjects` implements `filterObjects` to return all Kubernetes objects in +an array, assuming that Kubernetes object are characterized by having an +`apiVersion` and `kind` field. + +The `object` argument can either be an object or an array, other types will be +ignored. The `kind` allows to filter out a specific kind, if unset all kinds will +be returned. + + +### fn filterObjects + +```ts +filterObjects(filter_func, x) +``` + +`filterObjects` walks a JSON tree returning all matching objects in an array. + +The `x` argument can either be an object or an array, other types will be +ignored. + + +### fn inspect + +```ts +inspect(object, maxDepth) +``` + +`inspect` reports the structure of a Jsonnet object with a recursion depth of +`maxDepth` (default maxDepth=10). diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md new file mode 100644 index 0000000000..94a4a4be64 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md @@ -0,0 +1,53 @@ +--- +permalink: /jsonpath/ +--- + +# jsonpath + +```jsonnet +local jsonpath = import "github.com/jsonnet-libs/xtd/jsonpath.libsonnet" +``` + +`jsonpath` implements helper functions to use JSONPath expressions. + +## Index + +* [`fn convertBracketToDot(path)`](#fn-convertbrackettodot) +* [`fn getJSONPath(source, path, default='null')`](#fn-getjsonpath) +* [`fn parseFilterExpr(path)`](#fn-parsefilterexpr) + +## Fields + +### fn convertBracketToDot + +```ts +convertBracketToDot(path) +``` + +`convertBracketToDot` converts the bracket notation to dot notation. + +This function does not support escaping brackets/quotes in path keys. + + +### fn getJSONPath + +```ts +getJSONPath(source, path, default='null') +``` + +`getJSONPath` gets the value at `path` from `source` where path is a JSONPath. + +This is a rudimentary implementation supporting the slice operator `[0:3:2]` and +partially supporting filter expressions `?(@.attr==value)`. + + +### fn parseFilterExpr + +```ts +parseFilterExpr(path) +``` + +`parseFilterExpr` returns a filter function `f(x)` for a filter expression `expr`. + + It supports comparisons (<, <=, >, >=) and equality checks (==, !=). If it doesn't + have an operator, it will check if the `expr` value exists. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md new file mode 100644 index 0000000000..62873e57f9 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md @@ -0,0 +1,26 @@ +--- +permalink: /string/ +--- + +# string + +```jsonnet +local string = import "github.com/jsonnet-libs/xtd/string.libsonnet" +``` + +`string` implements helper functions for processing strings. + +## Index + +* [`fn splitEscape(str, c, escape='\\')`](#fn-splitescape) + +## Fields + +### fn splitEscape + +```ts +splitEscape(str, c, escape='\\') +``` + +`split` works the same as `std.split` but with support for escaping the dividing +string `c`. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md new file mode 100644 index 0000000000..db898bcc8b --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md @@ -0,0 +1,56 @@ +--- +permalink: /url/ +--- + +# url + +```jsonnet +local url = import "github.com/jsonnet-libs/xtd/url.libsonnet" +``` + +`url` provides functions to deal with URLs + +## Index + +* [`fn encodeQuery(params)`](#fn-encodequery) +* [`fn escapeString(str, excludedChars=[])`](#fn-escapestring) +* [`fn join(splitObj)`](#fn-join) +* [`fn parse(url)`](#fn-parse) + +## Fields + +### fn encodeQuery + +```ts +encodeQuery(params) +``` + +`encodeQuery` takes an object of query parameters and returns them as an escaped `key=value` string + +### fn escapeString + +```ts +escapeString(str, excludedChars=[]) +``` + +`escapeString` escapes the given string so it can be safely placed inside an URL, replacing special characters with `%XX` sequences + +### fn join + +```ts +join(splitObj) +``` + +`join` joins URLs from the object generated from `parse` + +### fn parse + +```ts +parse(url) +``` + +`parse` parses absolute and relative URLs. + +:///;parameters?# + +Inspired by Python's urllib.urlparse, following several RFC specifications. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet new file mode 100644 index 0000000000..8ac9bf0182 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet @@ -0,0 +1,209 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + local this = self, + + '#': d.pkg( + name='inspect', + url='github.com/jsonnet-libs/xtd/inspect.libsonnet', + help='`inspect` implements helper functions for inspecting Jsonnet', + ), + + '#inspect':: d.fn( + ||| + `inspect` reports the structure of a Jsonnet object with a recursion depth of + `maxDepth` (default maxDepth=10). + |||, + [ + d.arg('object', d.T.object), + d.arg('maxDepth', d.T.number), + //d.arg('depth', d.T.number), // used for recursion, not exposing in docs + ] + ), + inspect(object, maxDepth=10, depth=0): + std.foldl( + function(acc, p) + acc + ( + if std.isObject(object[p]) + && depth != maxDepth + then { [p]+: + this.inspect( + object[p], + maxDepth, + depth + 1 + ) } + else { + [ + (if !std.objectHas(object, p) + then 'hidden_' + else '') + + (if std.isFunction(object[p]) + then 'functions' + else 'fields') + ]+: [p], + } + ), + std.objectFieldsAll(object), + {} + ), + + '#diff':: d.fn( + ||| + `diff` returns a JSON object describing the differences between two inputs. It + attemps to show diffs in nested objects and arrays too. + + Simple example: + + ```jsonnet + local input1 = { + same: 'same', + change: 'this', + remove: 'removed', + }; + + local input2 = { + same: 'same', + change: 'changed', + add: 'added', + }; + + diff(input1, input2), + ``` + + Output: + ```json + { + "add +": "added", + "change ~": "~[ this , changed ]", + "remove -": "removed" + } + ``` + |||, + [ + d.arg('input1', d.T.any), + d.arg('input2', d.T.any), + ] + ), + diff(input1, input2):: + if input1 == input2 + then '' + else if std.isArray(input1) && std.isArray(input2) + then + [ + if input1[i] != input2[i] + then + this.diff( + input1[i], + input2[i] + ) + else input2[i] + for i in std.range(0, std.length(input2) - 1) + if std.length(input1) > i + ] + + (if std.length(input1) < std.length(input2) + then [ + '+ ' + input2[i] + for i in std.range(std.length(input1), std.length(input2) - 1) + ] + else []) + + (if std.length(input1) > std.length(input2) + then [ + '- ' + input1[i] + for i in std.range(std.length(input2), std.length(input1) - 1) + ] + else []) + + else if std.isObject(input1) && std.isObject(input2) + then std.foldl( + function(acc, k) + acc + ( + if k in input1 && input1[k] != input2[k] + then { + [k + ' ~']: + this.diff( + input1[k], + input2[k] + ), + } + else if !(k in input1) + then { + [k + ' +']: input2[k], + } + else {} + ), + std.objectFields(input2), + {}, + ) + + { + [l + ' -']: input1[l] + for l in std.objectFields(input1) + if !(l in input2) + } + + else '~[ %s ]' % std.join(' , ', [std.toString(input1), std.toString(input2)]), + + '#filterObjects':: d.fn( + ||| + `filterObjects` walks a JSON tree returning all matching objects in an array. + + The `x` argument can either be an object or an array, other types will be + ignored. + |||, + args=[ + d.arg('filter_func', d.T.func), + d.arg('x', d.T.any), + ] + ), + filterObjects(filter_func, x): + if std.isObject(x) + then + if filter_func(x) + then [x] + else + std.foldl( + function(acc, o) + acc + self.filterObjects(filter_func, x[o]), + std.objectFields(x), + [] + ) + else if std.isArray(x) + then + std.flattenArrays( + std.map( + function(obj) + self.filterObjects(filter_func, obj), + x + ) + ) + else [], + + '#filterKubernetesObjects':: d.fn( + ||| + `filterKubernetesObjects` implements `filterObjects` to return all Kubernetes objects in + an array, assuming that Kubernetes object are characterized by having an + `apiVersion` and `kind` field. + + The `object` argument can either be an object or an array, other types will be + ignored. The `kind` allows to filter out a specific kind, if unset all kinds will + be returned. + |||, + args=[ + d.arg('object', d.T.any), + d.arg('kind', d.T.string, default=''), + ] + ), + filterKubernetesObjects(object, kind=''): + local objects = self.filterObjects( + function(object) + std.objectHas(object, 'apiVersion') + && std.objectHas(object, 'kind'), + object, + ); + if kind == '' + then objects + else + std.filter( + function(o) o.kind == kind, + objects + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet new file mode 100644 index 0000000000..7722d640bd --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet @@ -0,0 +1,142 @@ +local xtd = import './main.libsonnet'; +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='jsonpath', + url='github.com/jsonnet-libs/xtd/jsonpath.libsonnet', + help='`jsonpath` implements helper functions to use JSONPath expressions.', + ), + + + '#getJSONPath':: d.fn( + ||| + `getJSONPath` gets the value at `path` from `source` where path is a JSONPath. + + This is a rudimentary implementation supporting the slice operator `[0:3:2]` and + partially supporting filter expressions `?(@.attr==value)`. + |||, + [ + d.arg('source', d.T.any), + d.arg('path', d.T.string,), + d.arg('default', d.T.any, default='null'), + ] + ), + getJSONPath(source, path, default=null): + local _path = self.convertBracketToDot(path); + std.foldl( + function(acc, key) + if acc == null + then acc + else get(acc, key, default), + xtd.string.splitEscape(_path, '.'), + source, + ), + + '#convertBracketToDot':: d.fn( + ||| + `convertBracketToDot` converts the bracket notation to dot notation. + + This function does not support escaping brackets/quotes in path keys. + |||, + [ + d.arg('path', d.T.string,), + ] + ), + convertBracketToDot(path): + if std.length(std.findSubstr('[', path)) > 0 + then + local split = std.split(path, '['); + std.join('.', [ + local a = std.stripChars(i, "[]'"); + std.strReplace(a, '@.', '@\\.') + for i in split + ]) + else path, + + local get(source, key, default) = + if key == '' + || key == '$' + || key == '*' + then source + else if std.isArray(source) + then getFromArray(source, key) + else std.get(source, key, default), + + local getFromArray(arr, key) = + if std.startsWith(key, '?(@\\.') + then + std.filter( + self.parseFilterExpr(std.stripChars(key, '?(@\\.)')), + arr + ) + else if std.length(std.findSubstr(':', key)) >= 1 + then + local split = std.splitLimit(key, ':', 2); + local step = + if std.length(split) < 3 + then 1 + else parseIntOrNull(split[2]); + xtd.array.slice( + arr, + parseIntOrNull(split[0]), + parseIntOrNull(split[1]), + step, + ) + else + arr[std.parseInt(key)], + + local parseIntOrNull(str) = + if str == '' + then null + else std.parseInt(str), + + '#parseFilterExpr':: d.fn( + ||| + `parseFilterExpr` returns a filter function `f(x)` for a filter expression `expr`. + + It supports comparisons (<, <=, >, >=) and equality checks (==, !=). If it doesn't + have an operator, it will check if the `expr` value exists. + |||, + [ + d.arg('path', d.T.string,), + ] + ), + parseFilterExpr(expr): + local operandFunctions = { + '=='(a, b): a == b, + '!='(a, b): a != b, + '<='(a, b): a <= b, + '>='(a, b): a >= b, + '<'(a, b): a < b, + '>'(a, b): a > b, + }; + + local findOperands = std.filter( + function(op) std.length(std.findSubstr(op, expr)) > 0, + std.reverse( // reverse to match '<=' before '<' + std.objectFields(operandFunctions) + ) + ); + + if std.length(findOperands) > 0 + then + local op = findOperands[0]; + local s = [ + std.stripChars(i, ' ') + for i in std.splitLimit(expr, op, 1) + ]; + function(x) + if s[0] in x + then + local left = x[s[0]]; + local right = + if std.isNumber(left) + then std.parseInt(s[1]) // Only parse if comparing numbers + else s[1]; + operandFunctions[op](left, right) + else false + else + // Default to key matching + function(x) (expr in x), +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet new file mode 100644 index 0000000000..59c4034028 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet @@ -0,0 +1,24 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='xtd', + url='github.com/jsonnet-libs/xtd/main.libsonnet', + help=||| + `xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). + + This package serves as a test field for functions intended to be contributed to `std` + in the future, but also provides a place for less general, yet useful utilities. + |||, + ), + + aggregate: (import './aggregate.libsonnet'), + array: (import './array.libsonnet'), + ascii: (import './ascii.libsonnet'), + camelcase: (import './camelcase.libsonnet'), + date: (import './date.libsonnet'), + inspect: (import './inspect.libsonnet'), + jsonpath: (import './jsonpath.libsonnet'), + string: (import './string.libsonnet'), + url: (import './url.libsonnet'), +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet new file mode 100644 index 0000000000..5514cdeee8 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet @@ -0,0 +1,35 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='string', + url='github.com/jsonnet-libs/xtd/string.libsonnet', + help='`string` implements helper functions for processing strings.', + ), + + // BelRune is a string of the Ascii character BEL which made computers ring in ancient times. + // We use it as "magic" char to temporarily replace an escaped string as it is a non printable + // character and thereby will unlikely be in a valid key by accident. Only when we include it. + local BelRune = std.char(7), + + '#splitEscape':: d.fn( + ||| + `split` works the same as `std.split` but with support for escaping the dividing + string `c`. + |||, + [ + d.arg('str', d.T.string), + d.arg('c', d.T.string), + d.arg('escape', d.T.string, default='\\'), + ] + ), + splitEscape(str, c, escape='\\'): + std.map( + function(i) + std.strReplace(i, BelRune, escape + c), + std.split( + std.strReplace(str, escape + c, BelRune), + c, + ) + ), +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet new file mode 100644 index 0000000000..65aef8a210 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet @@ -0,0 +1,83 @@ +local array = import '../array.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +local arr = std.range(0, 10); + +test.new(std.thisFile) + ++ test.case.new( + name='first two', + test=test.expect.eq( + actual=array.slice( + arr, + index=0, + end=2, + ), + expected=[0, 1], + ) +) ++ test.case.new( + name='last two', + test=test.expect.eq( + actual=array.slice( + arr, + index=1, + end=3, + ), + expected=[1, 2], + ) +) ++ test.case.new( + name='until end', + test=test.expect.eq( + actual=array.slice( + arr, + index=1 + ), + expected=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + ) +) ++ test.case.new( + name='from beginning', + test=test.expect.eq( + actual=array.slice( + arr, + index=0, + end=2 + ), + expected=[0, 1], + ) +) ++ test.case.new( + name='negative start', + test=test.expect.eq( + actual=array.slice( + arr, + index=-2 + ), + expected=[9, 10], + ) +) ++ test.case.new( + name='negative end', + test=test.expect.eq( + actual=array.slice( + arr, + index=0, + end=-1 + ), + expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + ) +) ++ test.case.new( + name='step', + test=test.expect.eq( + actual=array.slice( + arr, + index=0, + end=5, + step=2 + ), + expected=[0, 2, 4], + ) +) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet new file mode 100644 index 0000000000..2dcadc018d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet @@ -0,0 +1,193 @@ +local xtd = import '../main.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +test.new(std.thisFile) + ++ test.case.new( + name='split: nostring', + test=test.expect.eq( + actual=xtd.camelcase.split(''), + expected=[''], + ) +) ++ test.case.new( + name='split: lowercase', + test=test.expect.eq( + actual=xtd.camelcase.split('lowercase'), + expected=['lowercase'], + ) +) ++ test.case.new( + name='split: Class', + test=test.expect.eq( + actual=xtd.camelcase.split('Class'), + expected=['Class'], + ) +) ++ test.case.new( + name='split: MyClass', + test=test.expect.eq( + actual=xtd.camelcase.split('MyClass'), + expected=['My', 'Class'], + ) +) ++ test.case.new( + name='split: MyC', + test=test.expect.eq( + actual=xtd.camelcase.split('MyC'), + expected=['My', 'C'], + ) +) ++ test.case.new( + name='split: HTML', + test=test.expect.eq( + actual=xtd.camelcase.split('HTML'), + expected=['HTML'], + ) +) ++ test.case.new( + name='split: PDFLoader', + test=test.expect.eq( + actual=xtd.camelcase.split('PDFLoader'), + expected=['PDF', 'Loader'], + ) +) ++ test.case.new( + name='split: AString', + test=test.expect.eq( + actual=xtd.camelcase.split('AString'), + expected=['A', 'String'], + ) +) ++ test.case.new( + name='split: SimpleXMLParser', + test=test.expect.eq( + actual=xtd.camelcase.split('SimpleXMLParser'), + expected=['Simple', 'XML', 'Parser'], + ) +) ++ test.case.new( + name='split: vimRPCPlugin', + test=test.expect.eq( + actual=xtd.camelcase.split('vimRPCPlugin'), + expected=['vim', 'RPC', 'Plugin'], + ) +) ++ test.case.new( + name='split: GL11Version', + test=test.expect.eq( + actual=xtd.camelcase.split('GL11Version'), + expected=['GL', '11', 'Version'], + ) +) ++ test.case.new( + name='split: 99Bottles', + test=test.expect.eq( + actual=xtd.camelcase.split('99Bottles'), + expected=['99', 'Bottles'], + ) +) ++ test.case.new( + name='split: May5', + test=test.expect.eq( + actual=xtd.camelcase.split('May5'), + expected=['May', '5'], + ) +) ++ test.case.new( + name='split: BFG9000', + test=test.expect.eq( + actual=xtd.camelcase.split('BFG9000'), + expected=['BFG', '9000'], + ) +) ++ test.case.new( + name='split: Two spaces', + test=test.expect.eq( + actual=xtd.camelcase.split('Two spaces'), + expected=['Two', ' ', 'spaces'], + ) +) ++ test.case.new( + name='split: Multiple Random spaces', + test=test.expect.eq( + actual=xtd.camelcase.split('Multiple Random spaces'), + expected=['Multiple', ' ', 'Random', ' ', 'spaces'], + ) +) ++ test.case.new( + name='toCamelCase: empty string', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase(''), + expected='', + ) +) ++ test.case.new( + name='toCamelCase: lowercase', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lowercase'), + expected='lowercase', + ) +) ++ test.case.new( + name='toCamelCase: underscores', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lower_case'), + expected='lowerCase', + ) +) ++ test.case.new( + name='toCamelCase: dashes', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lower-case'), + expected='lowerCase', + ) +) ++ test.case.new( + name='toCamelCase: spaces', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lower case'), + expected='lowerCase', + ) +) ++ test.case.new( + name='toCamelCase: mixed', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lower_case-mixed'), + expected='lowerCaseMixed', + ) +) ++ test.case.new( + name='toCamelCase: multiple spaces', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('lower case'), + expected='lowerCase', + ) +) ++ test.case.new( + name='toCamelCase: PascalCase', + test=test.expect.eq( + actual=xtd.camelcase.toCamelCase('PascalCase'), + expected='pascalCase', + ) +) + +// TODO: find or create is(Upper|Lower) for non-ascii characters +// Something like this for Jsonnet: +// https://cs.opensource.google/go/go/+/refs/tags/go1.17.3:src/unicode/tables.go +//+ test.case.new( +// name='BöseÜberraschung', +// test=test.expect.eq( +// actual=xtd.camelcase.split('BöseÜberraschung'), +// expected=['Böse', 'Überraschung'], +// ) +//) + +// This doesn't even render in Jsonnet +//+ test.case.new( +// name="BadUTF8\xe2\xe2\xa1", +// test=test.expect.eq( +// actual=xtd.camelcase.split("BadUTF8\xe2\xe2\xa1"), +// expected=["BadUTF8\xe2\xe2\xa1"], +// ) +//) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet new file mode 100644 index 0000000000..974642883d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet @@ -0,0 +1,219 @@ +local xtd = import '../main.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +test.new(std.thisFile) + ++ test.case.new( + name='Leap Year commonYear', + test=test.expect.eq( + actual=xtd.date.isLeapYear(1995), + expected=false, + ) +) + ++ test.case.new( + name='Leap Year fourYearCycle', + test=test.expect.eq( + actual=xtd.date.isLeapYear(1996), + expected=true, + ) +) + ++ test.case.new( + name='Leap Year fourHundredYearCycle', + test=test.expect.eq( + actual=xtd.date.isLeapYear(2000), + expected=true, + ) +) + ++ test.case.new( + name='Leap Year hundredYearCycle', + test=test.expect.eq( + actual=xtd.date.isLeapYear(2100), + expected=false, + ) +) + ++ test.case.new( + name='Day Of Week leapYearStart', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(2000, 1, 1), + expected=6, + ) +) + ++ test.case.new( + name='Day Of Week leapYearEnd', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(2000, 12, 31), + expected=0, + ) +) + ++ test.case.new( + name='Day Of Week commonYearStart', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(1995, 1, 1), + expected=0, + ) +) + ++ test.case.new( + name='Day Of Week commonYearEnd', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(2003, 12, 31), + expected=3, + ) +) + ++ test.case.new( + name='Day Of Week leapYearMid', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(2024, 7, 19), + expected=5, + ) +) + ++ test.case.new( + name='Day Of Week commonYearMid', + test=test.expect.eq( + actual=xtd.date.dayOfWeek(2023, 6, 15), + expected=4, + ) +) ++ test.case.new( + name='Day Of Year leapYearStart', + test=test.expect.eq( + actual=xtd.date.dayOfYear(2000, 1, 1), + expected=1, + ) +) + ++ test.case.new( + name='Day Of Year leapYearEnd', + test=test.expect.eq( + actual=xtd.date.dayOfYear(2000, 12, 31), + expected=366, + ) +) + ++ test.case.new( + name='Day Of Year commonYearStart', + test=test.expect.eq( + actual=xtd.date.dayOfYear(1995, 1, 1), + expected=1, + ) +) + ++ test.case.new( + name='Day Of Year commonYearEnd', + test=test.expect.eq( + actual=xtd.date.dayOfYear(2003, 12, 31), + expected=365, + ) +) + ++ test.case.new( + name='Day Of Year leapYearMid', + test=test.expect.eq( + actual=xtd.date.dayOfYear(2024, 7, 19), + expected=201, + ) +) + ++ test.case.new( + name='Day Of Year commonYearMid', + test=test.expect.eq( + actual=xtd.date.dayOfYear(2023, 6, 15), + expected=166, + ) +) + ++ test.case.new( + name='toUnixTimestamp of 1970-01-01 00:00:00 (zero)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(1970, 1, 1, 0, 0, 0), + expected=0, + ), +) + ++ test.case.new( + name='toUnixTimestamp of 1970-01-02 00:00:00 (one day)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(1970, 1, 2, 0, 0, 0), + expected=86400, + ), +) + ++ test.case.new( + name='toUnixTimestamp of 1971-01-01 00:00:00 (one year)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(1971, 1, 1, 0, 0, 0), + expected=365 * 24 * 3600, + ), +) + ++ test.case.new( + name='toUnixTimestamp of 1972-03-01 00:00:00 (month of leap year)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(1972, 3, 1, 0, 0, 0), + expected=2 * 365 * 24 * 3600 + 31 * 24 * 3600 + 29 * 24 * 3600, + ), +) + ++ test.case.new( + name='toUnixTimestamp of 1974-01-01 00:00:00 (incl leap year)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(1974, 1, 1, 0, 0, 0), + expected=(4 * 365 + 1) * 24 * 3600, + ), +) + ++ test.case.new( + name='toUnixTimestamp of 2020-01-02 03:04:05 (full date)', + test=test.expect.eq( + actual=xtd.date.toUnixTimestamp(2020, 1, 2, 3, 4, 5), + expected=1577934245, + ), +) + ++ test.case.new( + name='parseRFC3339 of 1970-01-01T00:00:00Z (standard unix zero)', + test=test.expect.eq( + actual=xtd.date.parseRFC3339('1970-01-01T00:00:00Z'), + expected={ year: 1970, month: 1, day: 1, hour: 0, minute: 0, second: 0 }, + ), +) + ++ test.case.new( + name='parseRFC3339 of 2020-01-02T03:04:05Z (non-zero date)', + test=test.expect.eq( + actual=xtd.date.parseRFC3339('2020-01-02T03:04:05Z'), + expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, + ), +) + ++ test.case.new( + name='parseRFC3339 of 2020-01-02 03:04:05Z (space separator)', + test=test.expect.eq( + actual=xtd.date.parseRFC3339('2020-01-02 03:04:05Z'), + expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, + ), +) + ++ test.case.new( + name='parseRFC3339 of 2020-01-02t03:04:05Z (lowercase t separator and lowercase z)', + test=test.expect.eq( + actual=xtd.date.parseRFC3339('2020-01-02t03:04:05z'), + expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, + ), +) + ++ test.case.new( + name='parseRFC3339(..).toUnixTimestamp()', + test=test.expect.eq( + actual=xtd.date.parseRFC3339('2020-01-02T03:04:05Z').toUnixTimestamp(), + expected=1577934245, + ), +) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet new file mode 100644 index 0000000000..54510ea05d --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet @@ -0,0 +1,152 @@ +local xtd = import '../main.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +test.new(std.thisFile) + ++ test.case.new( + name='emptyobject', + test=test.expect.eq( + actual=xtd.inspect.inspect({}), + expected={} + ) +) + ++ test.case.new( + name='flatObject', + test=test.expect.eq( + actual=xtd.inspect.inspect({ + key: 'value', + hidden_key:: 'value', + func(value): value, + hidden_func(value):: value, + }), + expected={ + fields: ['key'], + hidden_fields: ['hidden_key'], + functions: ['func'], + hidden_functions: ['hidden_func'], + } + ) +) + ++ test.case.new( + name='nestedObject', + test=test.expect.eq( + actual=xtd.inspect.inspect({ + nested: { + key: 'value', + hidden_key:: 'value', + func(value): value, + hidden_func(value):: value, + }, + key: 'value', + hidden_func(value):: value, + }), + expected={ + nested: { + fields: ['key'], + hidden_fields: ['hidden_key'], + functions: ['func'], + hidden_functions: ['hidden_func'], + }, + fields: ['key'], + hidden_functions: ['hidden_func'], + } + ) +) + ++ test.case.new( + name='maxRecursionDepth', + test=test.expect.eq( + actual=xtd.inspect.inspect({ + key: 'value', + nested: { + key: 'value', + nested: { + key: 'value', + }, + }, + }, maxDepth=1), + expected={ + fields: ['key'], + nested: { + fields: ['key', 'nested'], + }, + } + ) +) + ++ test.case.new( + name='noDiff', + test=test.expect.eq( + actual=xtd.inspect.diff('', ''), + expected='' + ) +) ++ test.case.new( + name='typeDiff', + test=test.expect.eq( + actual=xtd.inspect.diff('string', true), + expected='~[ string , true ]' + ) +) ++ ( + local input1 = { + same: 'same', + change: 'this', + remove: 'removed', + }; + local input2 = { + same: 'same', + change: 'changed', + add: 'added', + }; + test.case.new( + name='objectDiff', + test=test.expect.eq( + actual=xtd.inspect.diff(input1, input2), + expected={ + 'add +': 'added', + 'change ~': '~[ this , changed ]', + 'remove -': 'removed', + } + ) + ) +) + ++ ( + local input1 = [ + 'same', + 'this', + [ + 'same', + 'this', + ], + 'remove', + ]; + local input2 = [ + 'same', + 'changed', + [ + 'same', + 'changed', + 'added', + ], + ]; + test.case.new( + name='arrayDiff', + test=test.expect.eq( + actual=xtd.inspect.diff(input1, input2), + expected=[ + 'same', + '~[ this , changed ]', + [ + 'same', + '~[ this , changed ]', + '+ added', + ], + '- remove', + ] + ) + ) +) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json new file mode 100644 index 0000000000..ce9ad4d5ac --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "dependencies": [ + { + "source": { + "git": { + "remote": "https://github.com/jsonnet-libs/testonnet.git", + "subdir": "" + } + }, + "version": "master" + } + ], + "legacyImports": true +} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet new file mode 100644 index 0000000000..8c1106b1df --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet @@ -0,0 +1,305 @@ +local jsonpath = import '../jsonpath.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +test.new(std.thisFile) + +// Root ++ test.case.new( + name='root $', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, '$'), + expected={ key: 'content' }, + ) +) ++ test.case.new( + name='root (empty path)', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, ''), + expected={ key: 'content' }, + ) +) ++ test.case.new( + name='root .', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, '.'), + expected={ key: 'content' }, + ) +) + +// Single key ++ test.case.new( + name='path without dot prefix', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, 'key'), + expected='content', + ) +) ++ test.case.new( + name='single key', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, '.key'), + expected='content', + ) +) ++ test.case.new( + name='single bracket key', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, '[key]'), + expected='content', + ) +) ++ test.case.new( + name='single bracket key with $', + test=test.expect.eq( + actual=jsonpath.getJSONPath({ key: 'content' }, '$[key]'), + expected='content', + ) +) ++ test.case.new( + name='single array index', + test=test.expect.eq( + actual=jsonpath.getJSONPath(['content'], '.[0]'), + expected='content', + ) +) ++ test.case.new( + name='single array index without dot prefix', + test=test.expect.eq( + actual=jsonpath.getJSONPath(['content'], '[0]'), + expected='content', + ) +) + +// Nested ++ test.case.new( + name='nested key', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: { key3: 'content' } } }, + '.key1.key2.key3' + ), + expected='content', + ) +) ++ test.case.new( + name='nested bracket key', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: { key3: 'content' } } }, + '.key1.key2[key3]' + ), + expected='content', + ) +) ++ test.case.new( + name='nested bracket key (quoted)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: { key3: 'content' } } }, + ".key1.key2['key3']" + ), + expected='content', + ) +) ++ test.case.new( + name='nested bracket star key', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: { key3: 'content' } } }, + '.key1.key2[*]' + ), + expected={ key3: 'content' }, + ) +) ++ test.case.new( + name='nested array index', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + '.key1.key2[1]' + ), + expected='content2', + ) +) ++ test.case.new( + name='nested array index with $', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + '$.key1.key2[1]' + ), + expected='content2', + ) +) ++ test.case.new( + name='nested array index without brackets', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + '.key1.key2.1' + ), + expected='content2', + ) +) ++ test.case.new( + name='nested array star index', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + '.key1.key2[*]' + ), + expected=['content1', 'content2'], + ) +) ++ test.case.new( + name='nested bracket keys and array index combo', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + '$.[key1][key2][1]' + ), + expected='content2', + ) +) ++ test.case.new( + name='all keys in bracket and quoted', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key1: { key2: ['content1', 'content2'] } }, + "$['key1']['key2']" + ), + expected=['content1', 'content2'], + ) +) + +// index range/slice ++ test.case.new( + name='array with index range (first two)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[0:2]' + ), + expected=['content1', 'content2'], + ) +) ++ test.case.new( + name='array with index range (last two)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[1:3]' + ), + expected=['content2', 'content3'], + ) +) ++ test.case.new( + name='array with index range (until end)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[1:]' + ), + expected=['content2', 'content3'], + ) +) ++ test.case.new( + name='array with index range (from beginning)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[:2]' + ), + expected=['content1', 'content2'], + ) +) ++ test.case.new( + name='array with index range (negative start)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[-2:]' + ), + expected=['content2', 'content3'], + ) +) ++ test.case.new( + name='array with index range (negative end)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: ['content1', 'content2', 'content3'] }, + 'key[:-1]' + ), + expected=['content1', 'content2'], + ) +) ++ test.case.new( + name='array with index range (step)', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: [ + 'content%s' % i + for i in std.range(1, 10) + ] }, + 'key[:5:2]' + ), + expected=['content1', 'content3', 'content5'], + ) +) + +// filter expr ++ test.case.new( + name='array with filter expression - string', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: [ + { + key: 'content%s' % i, + } + for i in std.range(1, 10) + ] }, + '.key[?(@.key==content2)]' + ), + expected=[{ + key: 'content2', + }], + ) +) ++ test.case.new( + name='array with filter expression - number', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: [ + { + count: i, + } + for i in std.range(1, 10) + ] }, + '.key[?(@.count<=2)]' + ), + expected=[{ + count: 1, + }, { + count: 2, + }], + ) +) ++ test.case.new( + name='array with filter expression - has key', + test=test.expect.eq( + actual=jsonpath.getJSONPath( + { key: [ + { + key1: 'value', + }, + { + key2: 'value', + }, + ] }, + '.key[?(@.key1)]' + ), + expected=[{ + key1: 'value', + }], + ) +) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet new file mode 100644 index 0000000000..b2393a27e7 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet @@ -0,0 +1,209 @@ +local xtd = import '../main.libsonnet'; +local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; + +test.new(std.thisFile) ++ test.case.new( + name='empty', + test=test.expect.eq( + actual=xtd.url.escapeString(''), + expected='', + ) +) + ++ test.case.new( + name='abc', + test=test.expect.eq( + actual=xtd.url.escapeString('abc'), + expected='abc', + ) +) + ++ test.case.new( + name='space', + test=test.expect.eq( + actual=xtd.url.escapeString('one two'), + expected='one%20two', + ) +) + ++ test.case.new( + name='percent', + test=test.expect.eq( + actual=xtd.url.escapeString('10%'), + expected='10%25', + ) +) + ++ test.case.new( + name='complex', + test=test.expect.eq( + actual=xtd.url.escapeString(" ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;"), + expected='%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B', + ) +) + ++ test.case.new( + name='exclusions', + test=test.expect.eq( + actual=xtd.url.escapeString('hello, world', [',']), + expected='hello,%20world', + ) +) + ++ test.case.new( + name='multiple exclusions', + test=test.expect.eq( + actual=xtd.url.escapeString('hello, world,&', [',', '&']), + expected='hello,%20world,&', + ) +) + ++ test.case.new( + name='empty', + test=test.expect.eq( + actual=xtd.url.encodeQuery({}), + expected='', + ) +) + ++ test.case.new( + name='simple', + test=test.expect.eq( + actual=xtd.url.encodeQuery({ q: 'puppies', oe: 'utf8' }), + expected='oe=utf8&q=puppies', + ) +) + +// url.parse ++ test.case.new( + name='Full absolute URL', + test=test.expect.eqJson( + actual=xtd.url.parse('https://example.com/path/to/location;type=person?name=john#address'), + expected={ + scheme: 'https', + netloc: 'example.com', + hostname: 'example.com', + path: '/path/to/location', + params: 'type=person', + query: 'name=john', + fragment: 'address', + }, + ) +) + ++ test.case.new( + name='URL with fragment before params and query', + test=test.expect.eqJson( + actual=xtd.url.parse('https://example.com/path/to/location#address;type=person?name=john'), + expected={ + scheme: 'https', + netloc: 'example.com', + hostname: 'example.com', + path: '/path/to/location', + fragment: 'address;type=person?name=john', + }, + ) +) + ++ test.case.new( + name='URL without query', + test=test.expect.eqJson( + actual=xtd.url.parse('https://example.com/path/to/location;type=person#address'), + expected={ + scheme: 'https', + netloc: 'example.com', + hostname: 'example.com', + path: '/path/to/location', + params: 'type=person', + fragment: 'address', + }, + ) +) + ++ test.case.new( + name='URL without params', + test=test.expect.eqJson( + actual=xtd.url.parse('https://example.com/path/to/location?name=john#address'), + expected={ + scheme: 'https', + netloc: 'example.com', + hostname: 'example.com', + path: '/path/to/location', + query: 'name=john', + fragment: 'address', + }, + ) +) + ++ test.case.new( + name='URL with empty fragment', + test=test.expect.eqJson( + actual=xtd.url.parse('https://example.com/path/to/location#'), + expected={ + scheme: 'https', + netloc: 'example.com', + hostname: 'example.com', + path: '/path/to/location', + fragment: '', + }, + ) +) + ++ test.case.new( + name='host with port', + test=test.expect.eqJson( + actual=xtd.url.parse('//example.com:80'), + expected={ + netloc: 'example.com:80', + hostname: 'example.com', + port: '80', + }, + ) +) + ++ test.case.new( + name='mailto', + test=test.expect.eqJson( + actual=xtd.url.parse('mailto:john@example.com'), + expected={ + scheme: 'mailto', + path: 'john@example.com', + }, + ) +) + ++ test.case.new( + name='UserInfo', + test=test.expect.eqJson( + actual=xtd.url.parse('ftp://admin:password@example.com'), + + expected={ + hostname: 'example.com', + netloc: 'admin:password@example.com', + scheme: 'ftp', + username: 'admin', + password: 'password', + } + , + ) +) + ++ test.case.new( + name='Relative URL only', + test=test.expect.eqJson( + actual=xtd.url.parse('/path/to/location'), + expected={ + path: '/path/to/location', + }, + ) +) + ++ test.case.new( + name='URL fragment only', + test=test.expect.eqJson( + actual=xtd.url.parse('#fragment_only'), + expected={ + fragment: 'fragment_only', + }, + ) +) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet new file mode 100644 index 0000000000..32d1a30255 --- /dev/null +++ b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet @@ -0,0 +1,111 @@ +local d = import 'doc-util/main.libsonnet'; + +{ + '#': d.pkg( + name='url', + url='github.com/jsonnet-libs/xtd/url.libsonnet', + help='`url` provides functions to deal with URLs', + ), + + '#escapeString': d.fn( + '`escapeString` escapes the given string so it can be safely placed inside an URL, replacing special characters with `%XX` sequences', + args=[ + d.arg('str', d.T.string), + d.arg('excludedChars', d.T.array, default=[]), + ], + ), + escapeString(str, excludedChars=[]):: + local allowedChars = '0123456789abcdefghijklmnopqrstuvwqxyzABCDEFGHIJKLMNOPQRSTUVWQXYZ'; + local utf8(char) = std.foldl(function(a, b) a + '%%%02X' % b, std.encodeUTF8(char), ''); + local escapeChar(char) = if std.member(excludedChars, char) || std.member(allowedChars, char) then char else utf8(char); + std.join('', std.map(escapeChar, std.stringChars(str))), + + '#encodeQuery': d.fn( + '`encodeQuery` takes an object of query parameters and returns them as an escaped `key=value` string', + args=[d.arg('params', d.T.object)], + ), + encodeQuery(params):: + local fmtParam(p) = '%s=%s' % [self.escapeString(p), self.escapeString(params[p])]; + std.join('&', std.map(fmtParam, std.objectFields(params))), + + '#parse': d.fn( + ||| + `parse` parses absolute and relative URLs. + + :///;parameters?# + + Inspired by Python's urllib.urlparse, following several RFC specifications. + |||, + args=[d.arg('url', d.T.string)], + ), + parse(url): + local hasFragment = std.member(url, '#'); + local fragmentSplit = std.splitLimit(url, '#', 1); + local fragment = fragmentSplit[1]; + + local hasQuery = std.member(fragmentSplit[0], '?'); + local querySplit = std.splitLimit(fragmentSplit[0], '?', 1); + local query = querySplit[1]; + + local hasParams = std.member(querySplit[0], ';'); + local paramsSplit = std.splitLimit(querySplit[0], ';', 1); + local params = paramsSplit[1]; + + local hasNetLoc = std.member(paramsSplit[0], '//'); + local netLocSplit = std.splitLimit(paramsSplit[0], '//', 1); + local netLoc = std.splitLimit(netLocSplit[1], '/', 1)[0]; + + local hasScheme = std.member(netLocSplit[0], ':'); + local schemeSplit = std.splitLimit(netLocSplit[0], ':', 1); + local scheme = schemeSplit[0]; + + local path = + if hasNetLoc && std.member(netLocSplit[1], '/') + then '/' + std.splitLimit(netLocSplit[1], '/', 1)[1] + else if hasScheme + then schemeSplit[1] + else netLocSplit[0]; + local hasPath = (path != ''); + + local hasUserInfo = hasNetLoc && std.member(netLoc, '@'); + local userInfoSplit = std.reverse(std.splitLimitR(netLoc, '@', 1)); + local userInfo = userInfoSplit[1]; + + local hasPassword = hasUserInfo && std.member(userInfo, ':'); + local passwordSplit = std.splitLimitR(userInfo, ':', 1); + local username = passwordSplit[0]; + local password = passwordSplit[1]; + + local hasPort = hasNetLoc && std.length(std.findSubstr(':', userInfoSplit[0])) > 0; + local portSplit = std.splitLimitR(userInfoSplit[0], ':', 1); + local host = portSplit[0]; + local port = portSplit[1]; + + { + [if hasScheme then 'scheme']: scheme, + [if hasNetLoc then 'netloc']: netLoc, + [if hasPath then 'path']: path, + [if hasParams then 'params']: params, + [if hasQuery then 'query']: query, + [if hasFragment then 'fragment']: fragment, + + [if hasUserInfo then 'username']: username, + [if hasPassword then 'password']: password, + [if hasNetLoc then 'hostname']: host, + [if hasPort then 'port']: port, + }, + + '#join': d.fn( + '`join` joins URLs from the object generated from `parse`', + args=[d.arg('splitObj', d.T.object)], + ), + join(splitObj): + std.join('', [ + if 'scheme' in splitObj then splitObj.scheme + ':' else '', + if 'netloc' in splitObj then '//' + splitObj.netloc else '', + if 'path' in splitObj then splitObj.path else '', + if 'params' in splitObj then ';' + splitObj.params else '', + if 'query' in splitObj then '?' + splitObj.query else '', + if 'fragment' in splitObj then '#' + splitObj.fragment else '', + ]), +} diff --git a/docs/node-observ-lib/vendor/grafonnet-v10.0.0 b/docs/node-observ-lib/vendor/grafonnet-v10.0.0 new file mode 120000 index 0000000000..3749c7b1cd --- /dev/null +++ b/docs/node-observ-lib/vendor/grafonnet-v10.0.0 @@ -0,0 +1 @@ +github.com/grafana/grafonnet/gen/grafonnet-v10.0.0 \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/logs-lib b/docs/node-observ-lib/vendor/logs-lib new file mode 120000 index 0000000000..1cb359d54d --- /dev/null +++ b/docs/node-observ-lib/vendor/logs-lib @@ -0,0 +1 @@ +github.com/grafana/jsonnet-libs/logs-lib \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/xtd b/docs/node-observ-lib/vendor/xtd new file mode 120000 index 0000000000..68b106aa33 --- /dev/null +++ b/docs/node-observ-lib/vendor/xtd @@ -0,0 +1 @@ +github.com/jsonnet-libs/xtd \ No newline at end of file From 1fe62bec91b5e6eff1ae51308762ea5bc5e511ce Mon Sep 17 00:00:00 2001 From: Vitaly Date: Tue, 14 Nov 2023 22:41:25 +0800 Subject: [PATCH 002/151] Add missing metrics (#27) Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/panels.libsonnet | 9 +++++++-- docs/node-observ-lib/targets.libsonnet | 20 +++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/node-observ-lib/panels.libsonnet b/docs/node-observ-lib/panels.libsonnet index aa0269d34f..ddee5a910f 100644 --- a/docs/node-observ-lib/panels.libsonnet +++ b/docs/node-observ-lib/panels.libsonnet @@ -441,7 +441,7 @@ local utils = commonlib.utils; memorySharedAndMapped: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory shared and mapped', - targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemBytes, t.memoryShmemHugePagesBytes], + targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], description=||| - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. @@ -1073,7 +1073,12 @@ local utils = commonlib.utils; local override = g.panel.timeSeries.standardOptions.override; commonlib.panels.network.timeSeries.packets.new( 'UDP datagrams', - targets=[t.networkNetstatIPInUDPPerSec, t.networkNetstatIPOutUDPPerSec], + targets=[ + t.networkNetstatIPInUDPPerSec, + t.networkNetstatIPOutUDPPerSec, + t.networkNetstatIPInUDP6PerSec, + t.networkNetstatIPOutUDP6PerSec, + ], description='Rate of UDP datagrams received and transmitted.' ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() diff --git a/docs/node-observ-lib/targets.libsonnet b/docs/node-observ-lib/targets.libsonnet index 34629934ac..142526155c 100644 --- a/docs/node-observ-lib/targets.libsonnet +++ b/docs/node-observ-lib/targets.libsonnet @@ -491,13 +491,13 @@ local lokiQuery = g.query.loki; diskIOreadBytesPerSec: prometheusQuery.new( prometheusDatasource, - 'irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + 'irate(node_disk_read_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, ) + prometheusQuery.withLegendFormat('{{ device }} read'), diskIOwriteBytesPerSec: prometheusQuery.new( prometheusDatasource, - 'irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + 'irate(node_disk_written_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, ) + prometheusQuery.withLegendFormat('{{ device }} written'), diskIOutilization: @@ -661,7 +661,7 @@ local lokiQuery = g.query.loki; networkArpEntries: prometheusQuery.new( prometheusDatasource, - 'node_network_arp{%(queriesSelector)s}' % variables, + 'node_arp_entries{%(queriesSelector)s}' % variables, ), networkMtuBytes: prometheusQuery.new( @@ -998,6 +998,20 @@ local lokiQuery = g.query.loki; ) + prometheusQuery.withLegendFormat('UDP transmitted'), + networkNetstatIPInUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 received'), + + networkNetstatIPOutUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmitted'), + //UDP errors networkNetstatUDPLiteInErrorsPerSec: prometheusQuery.new( From 4573125645f5c1896d1c53a6ba09997cfac28775 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 29 Nov 2023 18:14:39 +0000 Subject: [PATCH 003/151] Ignore vendor Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/.gitignore | 1 + docs/node-observ-lib/vendor/common-lib | 1 - docs/node-observ-lib/vendor/doc-util | 1 - .../gen/grafonnet-v10.0.0/alerting.libsonnet | 9 - .../clean/alerting/contactPoint.libsonnet | 19 - .../clean/alerting/messageTemplate.libsonnet | 8 - .../clean/alerting/muteTiming.libsonnet | 69 - .../alerting/notificationPolicy.libsonnet | 57 - .../clean/alerting/ruleGroup.libsonnet | 75 - .../clean/dashboard.libsonnet | 268 -- .../grafonnet-v10.0.0/clean/panel.libsonnet | 354 --- .../clean/panel/alertGroups.libsonnet | 20 - .../clean/panel/alertList.libsonnet | 125 - .../clean/panel/annotationsList.libsonnet | 40 - .../clean/panel/barChart.libsonnet | 157 - .../clean/panel/barGauge.libsonnet | 58 - .../clean/panel/candlestick.libsonnet | 11 - .../clean/panel/canvas.libsonnet | 11 - .../clean/panel/dashboardList.libsonnet | 40 - .../clean/panel/datagrid.libsonnet | 16 - .../clean/panel/debug.libsonnet | 29 - .../clean/panel/gauge.libsonnet | 52 - .../clean/panel/geomap.libsonnet | 156 - .../clean/panel/heatmap.libsonnet | 266 -- .../clean/panel/histogram.libsonnet | 119 - .../clean/panel/logs.libsonnet | 30 - .../clean/panel/news.libsonnet | 18 - .../clean/panel/nodeGraph.libsonnet | 52 - .../clean/panel/pieChart.libsonnet | 130 - .../clean/panel/stat.libsonnet | 56 - .../clean/panel/stateTimeline.libsonnet | 98 - .../clean/panel/statusHistory.libsonnet | 96 - .../clean/panel/table.libsonnet | 288 -- .../clean/panel/text.libsonnet | 31 - .../clean/panel/timeSeries.libsonnet | 188 -- .../clean/panel/trend.libsonnet | 182 -- .../clean/panel/xyChart.libsonnet | 212 -- .../clean/query/loki.libsonnet | 27 - .../clean/query/prometheus.libsonnet | 29 - .../clean/query/tempo.libsonnet | 55 - .../custom/alerting/contactPoint.libsonnet | 12 - .../custom/alerting/muteTiming.libsonnet | 8 - .../alerting/notificationPolicy.libsonnet | 12 - .../custom/alerting/ruleGroup.libsonnet | 13 - .../custom/dashboard.libsonnet | 44 - .../custom/dashboard/annotation.libsonnet | 36 - .../custom/dashboard/link.libsonnet | 90 - .../custom/dashboard/variable.libsonnet | 516 ---- .../grafonnet-v10.0.0/custom/panel.libsonnet | 171 -- .../custom/query/loki.libsonnet | 27 - .../custom/query/prometheus.libsonnet | 47 - .../custom/query/tempo.libsonnet | 29 - .../grafonnet-v10.0.0/custom/row.libsonnet | 11 - .../custom/util/dashboard.libsonnet | 55 - .../custom/util/grid.libsonnet | 231 -- .../custom/util/main.libsonnet | 9 - .../custom/util/panel.libsonnet | 51 - .../custom/util/string.libsonnet | 27 - .../gen/grafonnet-v10.0.0/docs/README.md | 29 - .../docs/alerting/contactPoint.md | 100 - .../grafonnet-v10.0.0/docs/alerting/index.md | 11 - .../docs/alerting/messageTemplate.md | 32 - .../docs/alerting/muteTiming/index.md | 48 - .../alerting/muteTiming/interval/index.md | 144 - .../alerting/muteTiming/interval/times.md | 32 - .../docs/alerting/notificationPolicy/index.md | 173 -- .../alerting/notificationPolicy/matcher.md | 45 - .../docs/alerting/ruleGroup/index.md | 72 - .../docs/alerting/ruleGroup/rule/data.md | 128 - .../docs/alerting/ruleGroup/rule/index.md | 161 - .../docs/dashboard/annotation.md | 285 -- .../grafonnet-v10.0.0/docs/dashboard/index.md | 517 ---- .../grafonnet-v10.0.0/docs/dashboard/link.md | 195 -- .../docs/dashboard/variable.md | 1042 ------- .../grafonnet-v10.0.0/docs/librarypanel.md | 334 --- .../docs/panel/alertGroups/index.md | 605 ---- .../panel/alertGroups/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../alertGroups/standardOptions/mapping.md | 469 --- .../alertGroups/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/alertList/index.md | 1136 ------- .../docs/panel/alertList/panelOptions/link.md | 145 - .../alertList/queryOptions/transformation.md | 99 - .../alertList/standardOptions/mapping.md | 469 --- .../alertList/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/annotationsList/index.md | 709 ----- .../annotationsList/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../standardOptions/mapping.md | 469 --- .../standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/barChart/index.md | 1305 -------- .../docs/panel/barChart/panelOptions/link.md | 145 - .../barChart/queryOptions/transformation.md | 99 - .../panel/barChart/standardOptions/mapping.md | 469 --- .../barChart/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/barGauge/index.md | 788 ----- .../docs/panel/barGauge/panelOptions/link.md | 145 - .../barGauge/queryOptions/transformation.md | 99 - .../panel/barGauge/standardOptions/mapping.md | 469 --- .../barGauge/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/candlestick/index.md | 564 ---- .../panel/candlestick/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../candlestick/standardOptions/mapping.md | 469 --- .../candlestick/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/canvas/index.md | 564 ---- .../docs/panel/canvas/panelOptions/link.md | 145 - .../canvas/queryOptions/transformation.md | 99 - .../panel/canvas/standardOptions/mapping.md | 469 --- .../panel/canvas/standardOptions/override.md | 244 -- .../canvas/standardOptions/threshold/step.md | 60 - .../docs/panel/dashboardList/index.md | 708 ----- .../panel/dashboardList/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../dashboardList/standardOptions/mapping.md | 469 --- .../dashboardList/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/datagrid/index.md | 581 ---- .../docs/panel/datagrid/panelOptions/link.md | 145 - .../datagrid/queryOptions/transformation.md | 99 - .../panel/datagrid/standardOptions/mapping.md | 469 --- .../datagrid/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/debug/index.md | 648 ---- .../docs/panel/debug/panelOptions/link.md | 145 - .../debug/queryOptions/transformation.md | 99 - .../panel/debug/standardOptions/mapping.md | 469 --- .../panel/debug/standardOptions/override.md | 244 -- .../debug/standardOptions/threshold/step.md | 60 - .../docs/panel/gauge/index.md | 748 ----- .../docs/panel/gauge/panelOptions/link.md | 145 - .../gauge/queryOptions/transformation.md | 99 - .../panel/gauge/standardOptions/mapping.md | 469 --- .../panel/gauge/standardOptions/override.md | 244 -- .../gauge/standardOptions/threshold/step.md | 60 - .../docs/panel/geomap/index.md | 1123 ------- .../docs/panel/geomap/options/layers.md | 196 -- .../docs/panel/geomap/panelOptions/link.md | 145 - .../geomap/queryOptions/transformation.md | 99 - .../panel/geomap/standardOptions/mapping.md | 469 --- .../panel/geomap/standardOptions/override.md | 244 -- .../geomap/standardOptions/threshold/step.md | 60 - .../docs/panel/heatmap/index.md | 1804 ------------ .../docs/panel/heatmap/panelOptions/link.md | 145 - .../heatmap/queryOptions/transformation.md | 99 - .../panel/heatmap/standardOptions/mapping.md | 469 --- .../panel/heatmap/standardOptions/override.md | 244 -- .../heatmap/standardOptions/threshold/step.md | 60 - .../docs/panel/histogram/index.md | 1098 ------- .../docs/panel/histogram/panelOptions/link.md | 145 - .../histogram/queryOptions/transformation.md | 99 - .../histogram/standardOptions/mapping.md | 469 --- .../histogram/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../gen/grafonnet-v10.0.0/docs/panel/index.md | 33 - .../docs/panel/logs/index.md | 672 ----- .../docs/panel/logs/panelOptions/link.md | 145 - .../panel/logs/queryOptions/transformation.md | 99 - .../panel/logs/standardOptions/mapping.md | 469 --- .../panel/logs/standardOptions/override.md | 244 -- .../logs/standardOptions/threshold/step.md | 60 - .../docs/panel/news/index.md | 593 ---- .../docs/panel/news/panelOptions/link.md | 145 - .../panel/news/queryOptions/transformation.md | 99 - .../panel/news/standardOptions/mapping.md | 469 --- .../panel/news/standardOptions/override.md | 244 -- .../news/standardOptions/threshold/step.md | 60 - .../docs/panel/nodeGraph/index.md | 697 ----- .../panel/nodeGraph/options/nodes/arcs.md | 33 - .../docs/panel/nodeGraph/panelOptions/link.md | 145 - .../nodeGraph/queryOptions/transformation.md | 99 - .../nodeGraph/standardOptions/mapping.md | 469 --- .../nodeGraph/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/pieChart/index.md | 1071 ------- .../docs/panel/pieChart/panelOptions/link.md | 145 - .../pieChart/queryOptions/transformation.md | 99 - .../panel/pieChart/standardOptions/mapping.md | 469 --- .../pieChart/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../gen/grafonnet-v10.0.0/docs/panel/row.md | 248 -- .../docs/panel/stat/index.md | 774 ----- .../docs/panel/stat/panelOptions/link.md | 145 - .../panel/stat/queryOptions/transformation.md | 99 - .../panel/stat/standardOptions/mapping.md | 469 --- .../panel/stat/standardOptions/override.md | 244 -- .../stat/standardOptions/threshold/step.md | 60 - .../docs/panel/stateTimeline/index.md | 956 ------ .../panel/stateTimeline/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../stateTimeline/standardOptions/mapping.md | 469 --- .../stateTimeline/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/statusHistory/index.md | 944 ------ .../panel/statusHistory/panelOptions/link.md | 145 - .../queryOptions/transformation.md | 99 - .../statusHistory/standardOptions/mapping.md | 469 --- .../statusHistory/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/table/index.md | 1830 ------------ .../docs/panel/table/options/sortBy.md | 34 - .../docs/panel/table/panelOptions/link.md | 145 - .../table/queryOptions/transformation.md | 99 - .../panel/table/standardOptions/mapping.md | 469 --- .../panel/table/standardOptions/override.md | 244 -- .../table/standardOptions/threshold/step.md | 60 - .../docs/panel/text/index.md | 662 ----- .../docs/panel/text/panelOptions/link.md | 145 - .../panel/text/queryOptions/transformation.md | 99 - .../panel/text/standardOptions/mapping.md | 469 --- .../panel/text/standardOptions/override.md | 244 -- .../text/standardOptions/threshold/step.md | 60 - .../docs/panel/timeSeries/index.md | 1430 --------- .../panel/timeSeries/panelOptions/link.md | 145 - .../timeSeries/queryOptions/transformation.md | 99 - .../timeSeries/standardOptions/mapping.md | 469 --- .../timeSeries/standardOptions/override.md | 244 -- .../standardOptions/threshold/step.md | 60 - .../docs/panel/trend/index.md | 1418 --------- .../docs/panel/trend/panelOptions/link.md | 145 - .../trend/queryOptions/transformation.md | 99 - .../panel/trend/standardOptions/mapping.md | 469 --- .../panel/trend/standardOptions/override.md | 244 -- .../trend/standardOptions/threshold/step.md | 60 - .../docs/panel/xyChart/index.md | 891 ------ .../docs/panel/xyChart/options/series.md | 638 ---- .../docs/panel/xyChart/panelOptions/link.md | 145 - .../xyChart/queryOptions/transformation.md | 99 - .../panel/xyChart/standardOptions/mapping.md | 469 --- .../panel/xyChart/standardOptions/override.md | 244 -- .../xyChart/standardOptions/threshold/step.md | 60 - .../grafonnet-v10.0.0/docs/playlist/index.md | 78 - .../grafonnet-v10.0.0/docs/playlist/items.md | 53 - .../gen/grafonnet-v10.0.0/docs/preferences.md | 110 - .../grafonnet-v10.0.0/docs/publicdashboard.md | 84 - .../azureMonitor/dimensionFilters.md | 69 - .../azureMonitor/azureMonitor/resources.md | 68 - .../query/azureMonitor/azureTraces/filters.md | 57 - .../docs/query/azureMonitor/index.md | 1502 ---------- .../CloudWatchLogsQuery/logGroups.md | 57 - .../parameters.md | 32 - .../sql/orderBy/parameters.md | 32 - .../sql/select/parameters.md | 32 - .../docs/query/cloudWatch/index.md | 1272 -------- .../bucketAggs/Filters/settings/filters.md | 32 - .../query/elasticsearch/bucketAggs/index.md | 585 ---- .../docs/query/elasticsearch/index.md | 155 - .../BucketScript/pipelineVariables.md | 32 - .../BucketScript/pipelineVariables.md | 32 - .../docs/query/elasticsearch/metrics/index.md | 2616 ----------------- .../docs/query/grafanaPyroscope.md | 127 - .../gen/grafonnet-v10.0.0/docs/query/index.md | 15 - .../gen/grafonnet-v10.0.0/docs/query/loki.md | 163 - .../gen/grafonnet-v10.0.0/docs/query/parca.md | 91 - .../docs/query/prometheus.md | 177 -- .../docs/query/tempo/filters.md | 94 - .../docs/query/tempo/index.md | 201 -- .../docs/query/testData/csvWave.md | 56 - .../docs/query/testData/index.md | 760 ----- .../grafonnet-v10.0.0/docs/serviceaccount.md | 157 - .../gen/grafonnet-v10.0.0/docs/team.md | 105 - .../gen/grafonnet-v10.0.0/docs/util.md | 115 - .../gen/grafonnet-v10.0.0/jsonnetfile.json | 24 - .../gen/grafonnet-v10.0.0/main.libsonnet | 24 - .../gen/grafonnet-v10.0.0/panel.libsonnet | 31 - .../gen/grafonnet-v10.0.0/query.libsonnet | 13 - .../raw/alerting/contactPoint.libsonnet | 18 - .../raw/alerting/messageTemplate.libsonnet | 10 - .../raw/alerting/muteTiming.libsonnet | 68 - .../raw/alerting/notificationPolicy.libsonnet | 84 - .../raw/alerting/ruleGroup.libsonnet | 89 - .../grafonnet-v10.0.0/raw/dashboard.libsonnet | 299 -- .../raw/librarypanel.libsonnet | 65 - .../gen/grafonnet-v10.0.0/raw/panel.libsonnet | 413 --- .../raw/panel/alertGroups.libsonnet | 19 - .../raw/panel/alertList.libsonnet | 124 - .../raw/panel/annotationsList.libsonnet | 39 - .../raw/panel/barChart.libsonnet | 168 -- .../raw/panel/barGauge.libsonnet | 57 - .../raw/panel/candlestick.libsonnet | 6 - .../raw/panel/canvas.libsonnet | 6 - .../raw/panel/dashboardList.libsonnet | 39 - .../raw/panel/datagrid.libsonnet | 15 - .../raw/panel/debug.libsonnet | 43 - .../raw/panel/gauge.libsonnet | 51 - .../raw/panel/geomap.libsonnet | 216 -- .../raw/panel/heatmap.libsonnet | 414 --- .../raw/panel/histogram.libsonnet | 130 - .../raw/panel/logs.libsonnet | 29 - .../raw/panel/news.libsonnet | 17 - .../raw/panel/nodeGraph.libsonnet | 100 - .../raw/panel/pieChart.libsonnet | 186 -- .../grafonnet-v10.0.0/raw/panel/row.libsonnet | 51 - .../raw/panel/stat.libsonnet | 55 - .../raw/panel/stateTimeline.libsonnet | 109 - .../raw/panel/statusHistory.libsonnet | 107 - .../raw/panel/table.libsonnet | 299 -- .../raw/panel/text.libsonnet | 47 - .../raw/panel/timeSeries.libsonnet | 199 -- .../raw/panel/trend.libsonnet | 193 -- .../raw/panel/xyChart.libsonnet | 488 --- .../grafonnet-v10.0.0/raw/playlist.libsonnet | 28 - .../raw/preferences.libsonnet | 23 - .../raw/publicdashboard.libsonnet | 16 - .../raw/query/azureMonitor.libsonnet | 363 --- .../raw/query/cloudWatch.libsonnet | 310 -- .../raw/query/elasticsearch.libsonnet | 763 ----- .../raw/query/grafanaPyroscope.libsonnet | 26 - .../raw/query/loki.libsonnet | 26 - .../raw/query/parca.libsonnet | 16 - .../raw/query/prometheus.libsonnet | 28 - .../raw/query/tempo.libsonnet | 54 - .../raw/query/testData.libsonnet | 168 -- .../raw/serviceaccount.libsonnet | 32 - .../gen/grafonnet-v10.0.0/raw/team.libsonnet | 20 - .../jsonnet-libs/common-lib/CONTRIB.md | 20 - .../grafana/jsonnet-libs/common-lib/Makefile | 23 - .../grafana/jsonnet-libs/common-lib/README.md | 33 - .../common/annotations/base.libsonnet | 32 - .../common/annotations/fatal.libsonnet | 14 - .../common/annotations/main.libsonnet | 6 - .../common/annotations/reboot.libsonnet | 16 - .../annotations/service_failed.libsonnet | 13 - .../common-lib/common/g.libsonnet | 1 - .../common-lib/common/main.libsonnet | 5 - .../common-lib/common/panels.libsonnet | 33 - .../common/panels/cpu/stat/base.libsonnet | 7 - .../common/panels/cpu/stat/count.libsonnet | 21 - .../common/panels/cpu/stat/main.libsonnet | 5 - .../common/panels/cpu/stat/usage.libsonnet | 22 - .../panels/cpu/timeSeries/base.libsonnet | 6 - .../panels/cpu/timeSeries/main.libsonnet | 5 - .../cpu/timeSeries/utilization.libsonnet | 22 - .../timeSeries/utilization_by_core.libsonnet | 20 - .../timeSeries/utilization_by_mode.libsonnet | 45 - .../common/panels/disk/stat/base.libsonnet | 6 - .../common/panels/disk/stat/main.libsonnet | 4 - .../common/panels/disk/stat/total.libsonnet | 20 - .../common/panels/disk/table/base.libsonnet | 10 - .../common/panels/disk/table/main.libsonnet | 4 - .../common/panels/disk/table/usage.libsonnet | 256 -- .../disk/timeSeries/available.libsonnet | 23 - .../panels/disk/timeSeries/base.libsonnet | 27 - .../disk/timeSeries/io_bytes_persec.libsonnet | 31 - .../panels/disk/timeSeries/io_queue.libsonnet | 23 - .../disk/timeSeries/io_wait_time.libsonnet | 25 - .../panels/disk/timeSeries/iops.libsonnet | 23 - .../panels/disk/timeSeries/main.libsonnet | 10 - .../panels/disk/timeSeries/usage.libsonnet | 23 - .../disk/timeSeries/usage_percent.libsonnet | 25 - .../common/panels/generic/base.libsonnet | 27 - .../common/panels/generic/stat/base.libsonnet | 12 - .../common/panels/generic/stat/info.libsonnet | 21 - .../common/panels/generic/stat/main.libsonnet | 5 - .../panels/generic/stat/percentage.libsonnet | 24 - .../generic/statusHistory/base.libsonnet | 18 - .../generic/statusHistory/main.libsonnet | 3 - .../panels/generic/table/base.libsonnet | 33 - .../panels/generic/table/main.libsonnet | 3 - .../panels/generic/timeSeries/base.libsonnet | 33 - .../panels/generic/timeSeries/main.libsonnet | 6 - .../generic/timeSeries/percentage.libsonnet | 16 - .../generic/timeSeries/threshold.libsonnet | 25 - .../timeSeries/topk_percentage.libsonnet | 63 - .../common/panels/memory/stat/base.libsonnet | 7 - .../common/panels/memory/stat/main.libsonnet | 5 - .../common/panels/memory/stat/total.libsonnet | 27 - .../common/panels/memory/stat/usage.libsonnet | 24 - .../panels/memory/timeSeries/base.libsonnet | 10 - .../panels/memory/timeSeries/main.libsonnet | 5 - .../memory/timeSeries/usage_bytes.libsonnet | 26 - .../memory/timeSeries/usage_percent.libsonnet | 22 - .../network/statusHistory/base.libsonnet | 5 - .../statusHistory/interface_status.libsonnet | 29 - .../network/statusHistory/main.libsonnet | 3 - .../panels/network/timeSeries/base.libsonnet | 26 - .../network/timeSeries/dropped.libsonnet | 28 - .../network/timeSeries/errors.libsonnet | 26 - .../panels/network/timeSeries/main.libsonnet | 8 - .../network/timeSeries/multicast.libsonnet | 15 - .../network/timeSeries/packets.libsonnet | 15 - .../network/timeSeries/traffic.libsonnet | 21 - .../common/panels/system/stat/base.libsonnet | 7 - .../common/panels/system/stat/main.libsonnet | 3 - .../panels/system/stat/uptime.libsonnet | 33 - .../system/statusHistory/base.libsonnet | 5 - .../system/statusHistory/main.libsonnet | 3 - .../panels/system/statusHistory/ntp.libsonnet | 28 - .../common/panels/system/table/base.libsonnet | 9 - .../common/panels/system/table/main.libsonnet | 4 - .../panels/system/table/uptime.libsonnet | 20 - .../panels/system/timeSeries/base.libsonnet | 10 - .../system/timeSeries/load_average.libsonnet | 41 - .../panels/system/timeSeries/main.libsonnet | 4 - .../common-lib/common/utils.libsonnet | 41 - .../jsonnet-libs/common-lib/jsonnetfile.json | 15 - .../grafana/jsonnet-libs/logs-lib/Makefile | 31 - .../grafana/jsonnet-libs/logs-lib/README.md | 126 - .../jsonnet-libs/logs-lib/jsonnetfile.json | 15 - .../logs-lib/logs/dashboards.libsonnet | 30 - .../jsonnet-libs/logs-lib/logs/g.libsonnet | 1 - .../jsonnet-libs/logs-lib/logs/main.libsonnet | 51 - .../logs-lib/logs/panels.libsonnet | 86 - .../logs-lib/logs/targets.libsonnet | 41 - .../logs-lib/logs/variables.libsonnet | 59 - .../jsonnet-libs/logs-lib/utils.libsonnet | 41 - .../jsonnet-libs/docsonnet/doc-util/README.md | 326 -- .../docsonnet/doc-util/main.libsonnet | 263 -- .../docsonnet/doc-util/render.libsonnet | 476 --- .../xtd/.github/workflows/tests.yml | 32 - .../github.com/jsonnet-libs/xtd/.gitignore | 3 - .../github.com/jsonnet-libs/xtd/LICENSE | 201 -- .../github.com/jsonnet-libs/xtd/Makefile | 16 - .../github.com/jsonnet-libs/xtd/README.md | 19 - .../jsonnet-libs/xtd/aggregate.libsonnet | 104 - .../jsonnet-libs/xtd/array.libsonnet | 37 - .../jsonnet-libs/xtd/ascii.libsonnet | 39 - .../jsonnet-libs/xtd/camelcase.libsonnet | 100 - .../jsonnet-libs/xtd/date.libsonnet | 185 -- .../jsonnet-libs/xtd/docs/.gitignore | 2 - .../github.com/jsonnet-libs/xtd/docs/Gemfile | 2 - .../jsonnet-libs/xtd/docs/README.md | 25 - .../jsonnet-libs/xtd/docs/_config.yml | 2 - .../jsonnet-libs/xtd/docs/aggregate.md | 74 - .../github.com/jsonnet-libs/xtd/docs/array.md | 25 - .../github.com/jsonnet-libs/xtd/docs/ascii.md | 43 - .../jsonnet-libs/xtd/docs/camelcase.md | 41 - .../github.com/jsonnet-libs/xtd/docs/date.md | 66 - .../jsonnet-libs/xtd/docs/inspect.md | 93 - .../jsonnet-libs/xtd/docs/jsonpath.md | 53 - .../jsonnet-libs/xtd/docs/string.md | 26 - .../github.com/jsonnet-libs/xtd/docs/url.md | 56 - .../jsonnet-libs/xtd/inspect.libsonnet | 209 -- .../jsonnet-libs/xtd/jsonpath.libsonnet | 142 - .../jsonnet-libs/xtd/main.libsonnet | 24 - .../jsonnet-libs/xtd/string.libsonnet | 35 - .../jsonnet-libs/xtd/test/array_test.jsonnet | 83 - .../xtd/test/camelcase_test.jsonnet | 193 -- .../jsonnet-libs/xtd/test/date_test.jsonnet | 219 -- .../xtd/test/inspect_test.jsonnet | 152 - .../jsonnet-libs/xtd/test/jsonnetfile.json | 15 - .../xtd/test/jsonpath_test.jsonnet | 305 -- .../jsonnet-libs/xtd/test/url_test.jsonnet | 209 -- .../github.com/jsonnet-libs/xtd/url.libsonnet | 111 - docs/node-observ-lib/vendor/grafonnet-v10.0.0 | 1 - docs/node-observ-lib/vendor/logs-lib | 1 - docs/node-observ-lib/vendor/xtd | 1 - 453 files changed, 1 insertion(+), 81473 deletions(-) create mode 100644 docs/node-observ-lib/.gitignore delete mode 120000 docs/node-observ-lib/vendor/common-lib delete mode 120000 docs/node-observ-lib/vendor/doc-util delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet delete mode 100644 docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet delete mode 120000 docs/node-observ-lib/vendor/grafonnet-v10.0.0 delete mode 120000 docs/node-observ-lib/vendor/logs-lib delete mode 120000 docs/node-observ-lib/vendor/xtd diff --git a/docs/node-observ-lib/.gitignore b/docs/node-observ-lib/.gitignore new file mode 100644 index 0000000000..5657f6ea7d --- /dev/null +++ b/docs/node-observ-lib/.gitignore @@ -0,0 +1 @@ +vendor \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/common-lib b/docs/node-observ-lib/vendor/common-lib deleted file mode 120000 index 5d4320e59f..0000000000 --- a/docs/node-observ-lib/vendor/common-lib +++ /dev/null @@ -1 +0,0 @@ -github.com/grafana/jsonnet-libs/common-lib \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/doc-util b/docs/node-observ-lib/vendor/doc-util deleted file mode 120000 index dcfde67cf6..0000000000 --- a/docs/node-observ-lib/vendor/doc-util +++ /dev/null @@ -1 +0,0 @@ -github.com/jsonnet-libs/docsonnet/doc-util \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet deleted file mode 100644 index 621020b723..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/alerting.libsonnet +++ /dev/null @@ -1,9 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting', name: 'alerting' }, - contactPoint: import 'clean/alerting/contactPoint.libsonnet', - notificationPolicy: import 'clean/alerting/notificationPolicy.libsonnet', - muteTiming: import 'clean/alerting/muteTiming.libsonnet', - ruleGroup: import 'clean/alerting/ruleGroup.libsonnet', - messageTemplate: import 'clean/alerting/messageTemplate.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet deleted file mode 100644 index a984205e75..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/contactPoint.libsonnet +++ /dev/null @@ -1,19 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.contactPoint', name: 'contactPoint' }, - '#withDisableResolveMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDisableResolveMessage(value=true): { disableResolveMessage: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name is used as grouping key in the UI. Contact points with the\nsame name will be grouped in the UI.' } }, - withName(value): { name: value }, - '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withProvenance(value): { provenance: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['alertmanager', ' dingding', ' discord', ' email', ' googlechat', ' kafka', ' line', ' opsgenie', ' pagerduty', ' pushover', ' sensugo', ' slack', ' teams', ' telegram', ' threema', ' victorops', ' webhook', ' wecom'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID is the unique identifier of the contact point. The UID can be\nset by the user.' } }, - withUid(value): { uid: value }, -} -+ (import '../../custom/alerting/contactPoint.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet deleted file mode 100644 index 92c0a424db..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/messageTemplate.libsonnet +++ /dev/null @@ -1,8 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.messageTemplate', name: 'messageTemplate' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withTemplate': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTemplate(value): { template: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet deleted file mode 100644 index d59987d2fb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/muteTiming.libsonnet +++ /dev/null @@ -1,69 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.muteTiming', name: 'muteTiming' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimeIntervals(value): { time_intervals: (if std.isArray(value) - then value - else [value]) }, - '#withTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimeIntervalsMixin(value): { time_intervals+: (if std.isArray(value) - then value - else [value]) }, - interval+: - { - '#': { help: '', name: 'interval' }, - '#withDaysOfMonth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDaysOfMonth(value): { days_of_month: (if std.isArray(value) - then value - else [value]) }, - '#withDaysOfMonthMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDaysOfMonthMixin(value): { days_of_month+: (if std.isArray(value) - then value - else [value]) }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLocation(value): { location: value }, - '#withMonths': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMonths(value): { months: (if std.isArray(value) - then value - else [value]) }, - '#withMonthsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMonthsMixin(value): { months+: (if std.isArray(value) - then value - else [value]) }, - '#withTimes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimes(value): { times: (if std.isArray(value) - then value - else [value]) }, - '#withTimesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimesMixin(value): { times+: (if std.isArray(value) - then value - else [value]) }, - times+: - { - '#': { help: '', name: 'times' }, - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFrom(value): { from: value }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTo(value): { to: value }, - }, - '#withWeekdays': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withWeekdays(value): { weekdays: (if std.isArray(value) - then value - else [value]) }, - '#withWeekdaysMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withWeekdaysMixin(value): { weekdays+: (if std.isArray(value) - then value - else [value]) }, - '#withYears': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withYears(value): { years: (if std.isArray(value) - then value - else [value]) }, - '#withYearsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withYearsMixin(value): { years+: (if std.isArray(value) - then value - else [value]) }, - }, -} -+ (import '../../custom/alerting/muteTiming.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet deleted file mode 100644 index f2c8c79dc7..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/notificationPolicy.libsonnet +++ /dev/null @@ -1,57 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.notificationPolicy', name: 'notificationPolicy' }, - '#withContinue': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withContinue(value=true): { continue: value }, - '#withGroupInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroupInterval(value): { group_interval: value }, - '#withGroupWait': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroupWait(value): { group_wait: value }, - '#withRepeatInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRepeatInterval(value): { repeat_interval: value }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupBy(value): { group_by: (if std.isArray(value) - then value - else [value]) }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupByMixin(value): { group_by+: (if std.isArray(value) - then value - else [value]) }, - '#withMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withMatchers(value): { matchers: (if std.isArray(value) - then value - else [value]) }, - '#withMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withMatchersMixin(value): { matchers+: (if std.isArray(value) - then value - else [value]) }, - '#withMuteTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMuteTimeIntervals(value): { mute_time_intervals: (if std.isArray(value) - then value - else [value]) }, - '#withMuteTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMuteTimeIntervalsMixin(value): { mute_time_intervals+: (if std.isArray(value) - then value - else [value]) }, - '#withReceiver': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withReceiver(value): { receiver: value }, - '#withRoutes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRoutes(value): { routes: (if std.isArray(value) - then value - else [value]) }, - '#withRoutesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRoutesMixin(value): { routes+: (if std.isArray(value) - then value - else [value]) }, - matcher+: - { - '#': { help: '', name: 'matcher' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { Name: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, - withType(value): { Type: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValue(value): { Value: value }, - }, -} -+ (import '../../custom/alerting/notificationPolicy.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet deleted file mode 100644 index 2f31e7b0e1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/alerting/ruleGroup.libsonnet +++ /dev/null @@ -1,75 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.ruleGroup', name: 'ruleGroup' }, - '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFolderUid(value): { folderUid: value }, - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withInterval(value): { interval: value }, - '#withRules': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRules(value): { rules: (if std.isArray(value) - then value - else [value]) }, - '#withRulesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRulesMixin(value): { rules+: (if std.isArray(value) - then value - else [value]) }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - rule+: - { - '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAnnotations(value): { annotations: value }, - '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAnnotationsMixin(value): { annotations+: value }, - '#withCondition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withCondition(value): { condition: value }, - '#withData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withData(value): { data: (if std.isArray(value) - then value - else [value]) }, - '#withDataMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDataMixin(value): { data+: (if std.isArray(value) - then value - else [value]) }, - '#withExecErrState': { 'function': { args: [{ default: null, enums: ['OK', 'Alerting', 'Error'], name: 'value', type: 'string' }], help: '' } }, - withExecErrState(value): { execErrState: value }, - '#withFor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withFor(value): { 'for': value }, - '#withIsPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsPaused(value=true): { isPaused: value }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabels(value): { labels: value }, - '#withLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelsMixin(value): { labels+: value }, - '#withNoDataState': { 'function': { args: [{ default: null, enums: ['Alerting', 'NoData', 'OK'], name: 'value', type: 'string' }], help: '' } }, - withNoDataState(value): { noDataState: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - data+: - { - '#': { help: '', name: 'data' }, - '#withDatasourceUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation." } }, - withDatasourceUid(value): { datasourceUid: value }, - '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, - withModel(value): { model: value }, - '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, - withModelMixin(value): { model+: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'RefID is the unique identifier of the query, set by the frontend call.' } }, - withRefId(value): { refId: value }, - '#withRelativeTimeRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, - withRelativeTimeRange(value): { relativeTimeRange: value }, - '#withRelativeTimeRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, - withRelativeTimeRangeMixin(value): { relativeTimeRange+: value }, - relativeTimeRange+: - { - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withFrom(value): { relativeTimeRange+: { from: value } }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withTo(value): { relativeTimeRange+: { to: value } }, - }, - }, - }, -} -+ (import '../../custom/alerting/ruleGroup.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet deleted file mode 100644 index 4ab41af824..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/dashboard.libsonnet +++ /dev/null @@ -1,268 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.dashboard', name: 'dashboard' }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description of dashboard.' } }, - withDescription(value): { description: value }, - '#withEditable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether a dashboard is editable or not.' } }, - withEditable(value=true): { editable: value }, - '#withFiscalYearStartMonth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'The month that the fiscal year starts on. 0 = January, 11 = December' } }, - withFiscalYearStartMonth(value=0): { fiscalYearStartMonth: value }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withLinks(value): { links: (if std.isArray(value) - then value - else [value]) }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withLinksMixin(value): { links+: (if std.isArray(value) - then value - else [value]) }, - '#withLiveNow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When set to true, the dashboard will redraw panels at an interval matching the pixel width.\nThis will keep data "moving left" regardless of the query refresh rate. This setting helps\navoid dashboards presenting stale live data' } }, - withLiveNow(value=true): { liveNow: value }, - '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanels(value): { panels: (if std.isArray(value) - then value - else [value]) }, - '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanelsMixin(value): { panels+: (if std.isArray(value) - then value - else [value]) }, - '#withRefresh': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, - withRefresh(value): { refresh: value }, - '#withRefreshMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, - withRefreshMixin(value): { refresh+: value }, - '#withSchemaVersion': { 'function': { args: [{ default: 36, enums: null, name: 'value', type: 'integer' }], help: "Version of the JSON schema, incremented each time a Grafana update brings\nchanges to said schema.\nTODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion" } }, - withSchemaVersion(value=36): { schemaVersion: value }, - '#withStyle': { 'function': { args: [{ default: 'dark', enums: ['dark', 'light'], name: 'value', type: 'string' }], help: 'Theme of dashboard.' } }, - withStyle(value='dark'): { style: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTemplating': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTemplating(value): { templating: value }, - '#withTemplatingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTemplatingMixin(value): { templating+: value }, - '#withTimezone': { 'function': { args: [{ default: 'browser', enums: null, name: 'value', type: 'string' }], help: 'Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".' } }, - withTimezone(value='browser'): { timezone: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title of dashboard.' } }, - withTitle(value): { title: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique dashboard identifier that can be generated by anyone. string (8-40)' } }, - withUid(value): { uid: value }, - '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withWeekStart(value): { weekStart: value }, - time+: - { - '#withFrom': { 'function': { args: [{ default: 'now-6h', enums: null, name: 'value', type: 'string' }], help: '' } }, - withFrom(value='now-6h'): { time+: { from: value } }, - '#withTo': { 'function': { args: [{ default: 'now', enums: null, name: 'value', type: 'string' }], help: '' } }, - withTo(value='now'): { time+: { to: value } }, - }, - timepicker+: - { - '#withCollapse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is collapsed or not.' } }, - withCollapse(value=true): { timepicker+: { collapse: value } }, - '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is enabled or not.' } }, - withEnable(value=true): { timepicker+: { enable: value } }, - '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is visible or not.' } }, - withHidden(value=true): { timepicker+: { hidden: value } }, - '#withRefreshIntervals': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, - withRefreshIntervals(value): { timepicker+: { refresh_intervals: (if std.isArray(value) - then value - else [value]) } }, - '#withRefreshIntervalsMixin': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, - withRefreshIntervalsMixin(value): { timepicker+: { refresh_intervals+: (if std.isArray(value) - then value - else [value]) } }, - '#withTimeOptions': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeOptions(value): { timepicker+: { time_options: (if std.isArray(value) - then value - else [value]) } }, - '#withTimeOptionsMixin': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeOptionsMixin(value): { timepicker+: { time_options+: (if std.isArray(value) - then value - else [value]) } }, - }, - link+: - { - dashboards+: - { - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { type: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - options+: - { - '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsDropdown(value=true): { asDropdown: value }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { keepTime: value }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { includeVars: value }, - '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTargetBlank(value=true): { targetBlank: value }, - }, - }, - link+: - { - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { type: value }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUrl(value): { url: value }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTooltip(value): { tooltip: value }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { icon: value }, - options+: - { - '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsDropdown(value=true): { asDropdown: value }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { keepTime: value }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { includeVars: value }, - '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTargetBlank(value=true): { targetBlank: value }, - }, - }, - }, - annotation+: - { - '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withList(value): { annotations+: { list: (if std.isArray(value) - then value - else [value]) } }, - '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withListMixin(value): { annotations+: { list+: (if std.isArray(value) - then value - else [value]) } }, - list+: - { - '#': { help: '', name: 'list' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When enabled the annotation query is issued with every dashboard refresh' } }, - withEnable(value=true): { enable: value }, - '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilter(value): { filter: value }, - '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilterMixin(value): { filter+: value }, - filter+: - { - '#withExclude': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Should the specified panels be included or excluded' } }, - withExclude(value=true): { filter+: { exclude: value } }, - '#withIds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, - withIds(value): { filter+: { ids: (if std.isArray(value) - then value - else [value]) } }, - '#withIdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, - withIdsMixin(value): { filter+: { ids+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Annotation queries can be toggled on or off at the top of the dashboard.\nWhen hide is true, the toggle is not shown in the dashboard.' } }, - withHide(value=true): { hide: value }, - '#withIconColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Color to use for the annotation event markers' } }, - withIconColor(value): { iconColor: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of annotation.' } }, - withName(value): { name: value }, - '#withTarget': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, - withTarget(value): { target: value }, - '#withTargetMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, - withTargetMixin(value): { target+: value }, - target+: - { - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withLimit(value): { target+: { limit: value } }, - '#withMatchAny': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withMatchAny(value=true): { target+: { matchAny: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withTags(value): { target+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withTagsMixin(value): { target+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withType(value): { target+: { type: value } }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO -- this should not exist here, it is based on the --grafana-- datasource' } }, - withType(value): { type: value }, - }, - }, - variable+: - { - '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withList(value): { templating+: { list: (if std.isArray(value) - then value - else [value]) } }, - '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withListMixin(value): { templating+: { list+: (if std.isArray(value) - then value - else [value]) } }, - list+: - { - '#': { help: '', name: 'list' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The plugin type-id' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specific datasource instance' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDescription(value): { description: value }, - '#withError': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withError(value): { 'error': value }, - '#withErrorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withErrorMixin(value): { 'error'+: value }, - '#withGlobal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withGlobal(value=true): { global: value }, - '#withHide': { 'function': { args: [{ default: null, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '' } }, - withHide(value): { hide: value }, - '#withId': { 'function': { args: [{ default: '00000000-0000-0000-0000-000000000000', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value='00000000-0000-0000-0000-000000000000'): { id: value }, - '#withIndex': { 'function': { args: [{ default: -1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value=-1): { index: value }, - '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLabel(value): { label: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, - withQuery(value): { query: value }, - '#withQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, - withQueryMixin(value): { query+: value }, - '#withRootStateKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRootStateKey(value): { rootStateKey: value }, - '#withSkipUrlSync': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSkipUrlSync(value=true): { skipUrlSync: value }, - '#withState': { 'function': { args: [{ default: null, enums: ['NotStarted', 'Loading', 'Streaming', 'Done', 'Error'], name: 'value', type: 'string' }], help: '' } }, - withState(value): { state: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['query', 'adhoc', 'constant', 'datasource', 'interval', 'textbox', 'custom', 'system'], name: 'value', type: 'string' }], help: 'FROM: packages/grafana-data/src/types/templateVars.ts\nTODO docs\nTODO this implies some wider pattern/discriminated union, probably?' } }, - withType(value): { type: value }, - }, - }, -} -+ (import '../custom/dashboard.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet deleted file mode 100644 index 0c7b7c95c1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel.libsonnet +++ /dev/null @@ -1,354 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel', name: 'panel' }, - panelOptions+: - { - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel title.' } }, - withTitle(value): { title: value }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description.' } }, - withDescription(value): { description: value }, - '#withTransparent': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether to display the panel without a background.' } }, - withTransparent(value=true): { transparent: value }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, - withLinks(value): { links: (if std.isArray(value) - then value - else [value]) }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, - withLinksMixin(value): { links+: (if std.isArray(value) - then value - else [value]) }, - '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, - withRepeat(value): { repeat: value }, - '#withRepeatDirection': { 'function': { args: [{ default: 'h', enums: ['h', 'v'], name: 'value', type: 'string' }], help: "Direction to repeat in if 'repeat' is set.\n\"h\" for horizontal, \"v\" for vertical.\nTODO this is probably optional" } }, - withRepeatDirection(value='h'): { repeatDirection: value }, - '#withPluginVersion': { 'function': { args: [], help: '' } }, - withPluginVersion(): { pluginVersion: 'v10.0.0' }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel plugin type id. May not be empty.' } }, - withType(value): { type: value }, - link+: - { - '#': { help: '', name: 'link' }, - '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsDropdown(value=true): { asDropdown: value }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { icon: value }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { includeVars: value }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { keepTime: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTargetBlank(value=true): { targetBlank: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTooltip(value): { tooltip: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { type: value }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUrl(value): { url: value }, - }, - }, - queryOptions+: - { - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, - withDatasourceMixin(value): { datasource+: value }, - '#withMaxDataPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs' } }, - withMaxDataPoints(value): { maxDataPoints: value }, - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withInterval(value): { interval: value }, - '#withTimeFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withTimeFrom(value): { timeFrom: value }, - '#withTimeShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withTimeShift(value): { timeShift: value }, - '#withTargets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTargets(value): { targets: (if std.isArray(value) - then value - else [value]) }, - '#withTargetsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTargetsMixin(value): { targets+: (if std.isArray(value) - then value - else [value]) }, - '#withTransformations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTransformations(value): { transformations: (if std.isArray(value) - then value - else [value]) }, - '#withTransformationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTransformationsMixin(value): { transformations+: (if std.isArray(value) - then value - else [value]) }, - transformation+: - { - '#': { help: '', name: 'transformation' }, - '#withDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Disabled transformations are skipped' } }, - withDisabled(value=true): { disabled: value }, - '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilter(value): { filter: value }, - '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilterMixin(value): { filter+: value }, - filter+: - { - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { filter+: { id: value } }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptions(value): { filter+: { options: value } }, - }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique identifier of transformer' } }, - withId(value): { id: value }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Options to be passed to the transformer\nValid options depend on the transformer id' } }, - withOptions(value): { options: value }, - }, - }, - standardOptions+: - { - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Numeric Options' } }, - withUnit(value): { fieldConfig+: { defaults+: { unit: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { fieldConfig+: { defaults+: { min: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { fieldConfig+: { defaults+: { max: value } } }, - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Significant digits (for display)' } }, - withDecimals(value): { fieldConfig+: { defaults+: { decimals: value } } }, - '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The display value for this field. This supports template variables blank is auto' } }, - withDisplayName(value): { fieldConfig+: { defaults+: { displayName: value } } }, - color+: - { - '#withFixedColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Stores the fixed color value if mode is fixed' } }, - withFixedColor(value): { fieldConfig+: { defaults+: { color+: { fixedColor: value } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The main color scheme mode' } }, - withMode(value): { fieldConfig+: { defaults+: { color+: { mode: value } } } }, - '#withSeriesBy': { 'function': { args: [{ default: null, enums: ['min', 'max', 'last'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSeriesBy(value): { fieldConfig+: { defaults+: { color+: { seriesBy: value } } } }, - }, - '#withNoValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alternative to empty string' } }, - withNoValue(value): { fieldConfig+: { defaults+: { noValue: value } } }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, - withLinks(value): { fieldConfig+: { defaults+: { links: (if std.isArray(value) - then value - else [value]) } } }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, - withLinksMixin(value): { fieldConfig+: { defaults+: { links+: (if std.isArray(value) - then value - else [value]) } } }, - '#withMappings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, - withMappings(value): { fieldConfig+: { defaults+: { mappings: (if std.isArray(value) - then value - else [value]) } } }, - '#withMappingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, - withMappingsMixin(value): { fieldConfig+: { defaults+: { mappings+: (if std.isArray(value) - then value - else [value]) } } }, - '#withOverrides': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withOverrides(value): { fieldConfig+: { overrides: (if std.isArray(value) - then value - else [value]) } }, - '#withOverridesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withOverridesMixin(value): { fieldConfig+: { overrides+: (if std.isArray(value) - then value - else [value]) } }, - '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source field supports ad-hoc filters' } }, - withFilterable(value=true): { fieldConfig+: { defaults+: { filterable: value } } }, - '#withPath': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An explicit path to the field in the datasource. When the frame meta includes a path,\nThis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used to update the results' } }, - withPath(value): { fieldConfig+: { defaults+: { path: value } } }, - thresholds+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['absolute', 'percentage'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { fieldConfig+: { defaults+: { thresholds+: { mode: value } } } }, - '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, - withSteps(value): { fieldConfig+: { defaults+: { thresholds+: { steps: (if std.isArray(value) - then value - else [value]) } } } }, - '#withStepsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, - withStepsMixin(value): { fieldConfig+: { defaults+: { thresholds+: { steps+: (if std.isArray(value) - then value - else [value]) } } } }, - }, - mapping+: - { - '#': { help: '', name: 'mapping' }, - ValueMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - RangeMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'to and from are `number | null` in current ts, really not sure what to do' } }, - withFrom(value): { options+: { from: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withTo(value): { options+: { to: value } }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - RegexMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPattern(value): { options+: { pattern: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - SpecialValueMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withMatch': { 'function': { args: [{ default: null, enums: ['true', 'false'], name: 'value', type: 'string' }], help: '' } }, - withMatch(value): { options+: { match: value } }, - '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPattern(value): { options+: { pattern: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - }, - threshold+: - { - step+: - { - '#': { help: '', name: 'step' }, - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withColor(value): { color: value }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Threshold index, an old property that is not needed an should only appear in older dashboards' } }, - withIndex(value): { index: value }, - '#withState': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO are the values here enumerable into a disjunction?\nSome seem to be listed in typescript comment' } }, - withState(value): { state: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs\nFIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON' } }, - withValue(value): { value: value }, - }, - }, - override+: - { - '#': { help: '', name: 'override' }, - '#withMatcher': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMatcher(value): { matcher: value }, - '#withMatcherMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMatcherMixin(value): { matcher+: value }, - matcher+: - { - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { matcher+: { id: value } }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptions(value): { matcher+: { options: value } }, - }, - '#withProperties': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withProperties(value): { properties: (if std.isArray(value) - then value - else [value]) }, - '#withPropertiesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPropertiesMixin(value): { properties+: (if std.isArray(value) - then value - else [value]) }, - properties+: - { - '#': { help: '', name: 'properties' }, - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { id: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValue(value): { value: value }, - }, - }, - }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { datasource+: { uid: value } }, - }, - libraryPanel+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { libraryPanel+: { name: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { libraryPanel+: { uid: value } }, - }, - gridPos+: - { - '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withH(value=9): { gridPos+: { h: value } }, - '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, - withStatic(value=true): { gridPos+: { static: value } }, - '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withW(value=12): { gridPos+: { w: value } }, - '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, - withX(value=0): { gridPos+: { x: value } }, - '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, - withY(value=0): { gridPos+: { y: value } }, - }, -} -+ (import '../custom/panel.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet deleted file mode 100644 index 09fe4624e1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertGroups.libsonnet +++ /dev/null @@ -1,20 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.alertGroups', name: 'alertGroups' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'alertGroups' }, - }, - options+: - { - '#withAlertmanager': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the alertmanager used as a source for alerts' } }, - withAlertmanager(value): { options+: { alertmanager: value } }, - '#withExpandAll': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Expand all alert groups by default' } }, - withExpandAll(value=true): { options+: { expandAll: value } }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comma-separated list of values used to filter alert results' } }, - withLabels(value): { options+: { labels: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet deleted file mode 100644 index d719bd4a36..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/alertList.libsonnet +++ /dev/null @@ -1,125 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.alertList', name: 'alertList' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'alertlist' }, - }, - options+: - { - '#withAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAlertListOptions(value): { options+: { AlertListOptions: value } }, - '#withAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAlertListOptionsMixin(value): { options+: { AlertListOptions+: value } }, - AlertListOptions+: - { - '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertName(value): { options+: { alertName: value } }, - '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, - '#withDashboardTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDashboardTitle(value): { options+: { dashboardTitle: value } }, - '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFolderId(value): { options+: { folderId: value } }, - '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMaxItems(value): { options+: { maxItems: value } }, - '#withShowOptions': { 'function': { args: [{ default: null, enums: ['current', 'changes'], name: 'value', type: 'string' }], help: '' } }, - withShowOptions(value): { options+: { showOptions: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilter(value): { options+: { stateFilter: value } }, - '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilterMixin(value): { options+: { stateFilter+: value } }, - stateFilter+: - { - '#withAlerting': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAlerting(value=true): { options+: { stateFilter+: { alerting: value } } }, - '#withExecutionError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withExecutionError(value=true): { options+: { stateFilter+: { execution_error: value } } }, - '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNoData(value=true): { options+: { stateFilter+: { no_data: value } } }, - '#withOk': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOk(value=true): { options+: { stateFilter+: { ok: value } } }, - '#withPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPaused(value=true): { options+: { stateFilter+: { paused: value } } }, - '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPending(value=true): { options+: { stateFilter+: { pending: value } } }, - }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withUnifiedAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnifiedAlertListOptions(value): { options+: { UnifiedAlertListOptions: value } }, - '#withUnifiedAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnifiedAlertListOptionsMixin(value): { options+: { UnifiedAlertListOptions+: value } }, - UnifiedAlertListOptions+: - { - '#withAlertInstanceLabelFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertInstanceLabelFilter(value): { options+: { alertInstanceLabelFilter: value } }, - '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertName(value): { options+: { alertName: value } }, - '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDatasource(value): { options+: { datasource: value } }, - '#withFolder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFolder(value): { options+: { folder: value } }, - '#withFolderMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFolderMixin(value): { options+: { folder+: value } }, - folder+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withId(value): { options+: { folder+: { id: value } } }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { options+: { folder+: { title: value } } }, - }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupBy(value): { options+: { groupBy: (if std.isArray(value) - then value - else [value]) } }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupByMixin(value): { options+: { groupBy+: (if std.isArray(value) - then value - else [value]) } }, - '#withGroupMode': { 'function': { args: [{ default: null, enums: ['default', 'custom'], name: 'value', type: 'string' }], help: '' } }, - withGroupMode(value): { options+: { groupMode: value } }, - '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMaxItems(value): { options+: { maxItems: value } }, - '#withShowInstances': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowInstances(value=true): { options+: { showInstances: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilter(value): { options+: { stateFilter: value } }, - '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilterMixin(value): { options+: { stateFilter+: value } }, - stateFilter+: - { - '#withError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withError(value=true): { options+: { stateFilter+: { 'error': value } } }, - '#withFiring': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withFiring(value=true): { options+: { stateFilter+: { firing: value } } }, - '#withInactive': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withInactive(value=true): { options+: { stateFilter+: { inactive: value } } }, - '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNoData(value=true): { options+: { stateFilter+: { noData: value } } }, - '#withNormal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNormal(value=true): { options+: { stateFilter+: { normal: value } } }, - '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPending(value=true): { options+: { stateFilter+: { pending: value } } }, - }, - '#withViewMode': { 'function': { args: [{ default: null, enums: ['list', 'stat'], name: 'value', type: 'string' }], help: '' } }, - withViewMode(value): { options+: { viewMode: value } }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet deleted file mode 100644 index f434c32f0b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/annotationsList.libsonnet +++ /dev/null @@ -1,40 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.annotationsList', name: 'annotationsList' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'annolist' }, - }, - options+: - { - '#withLimit': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLimit(value=10): { options+: { limit: value } }, - '#withNavigateAfter': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, - withNavigateAfter(value='10m'): { options+: { navigateAfter: value } }, - '#withNavigateBefore': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, - withNavigateBefore(value='10m'): { options+: { navigateBefore: value } }, - '#withNavigateToPanel': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNavigateToPanel(value=true): { options+: { navigateToPanel: value } }, - '#withOnlyFromThisDashboard': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOnlyFromThisDashboard(value=true): { options+: { onlyFromThisDashboard: value } }, - '#withOnlyInTimeRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOnlyInTimeRange(value=true): { options+: { onlyInTimeRange: value } }, - '#withShowTags': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTags(value=true): { options+: { showTags: value } }, - '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTime(value=true): { options+: { showTime: value } }, - '#withShowUser': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowUser(value=true): { options+: { showUser: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet deleted file mode 100644 index ceef0efe2b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barChart.libsonnet +++ /dev/null @@ -1,157 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.barChart', name: 'barChart' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'barchart' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, - withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - }, - }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withBarRadius': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Controls the radius of each bar.' } }, - withBarRadius(value=0): { options+: { barRadius: value } }, - '#withBarWidth': { 'function': { args: [{ default: 0.96999999999999997, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of bars. 1 = Max width, 0 = Min width.' } }, - withBarWidth(value=0.96999999999999997): { options+: { barWidth: value } }, - '#withColorByField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use the color value for a sibling field to color each bar value.' } }, - withColorByField(value): { options+: { colorByField: value } }, - '#withFullHighlight': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enables mode which highlights the entire bar area and shows tooltip when cursor\nhovers over highlighted area' } }, - withFullHighlight(value=true): { options+: { fullHighlight: value } }, - '#withGroupWidth': { 'function': { args: [{ default: 0.69999999999999996, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of groups. 1 = max with, 0 = min width.' } }, - withGroupWidth(value=0.69999999999999996): { options+: { groupWidth: value } }, - '#withOrientation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the orientation of the bar chart, either vertical or horizontal.' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This controls whether values are shown on top or to the left of bars.' } }, - withShowValue(value): { options+: { showValue: value } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls whether bars are stacked or not, either normally or in percent mode.' } }, - withStacking(value): { options+: { stacking: value } }, - '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Manually select which field from the dataset to represent the x field.' } }, - withXField(value): { options+: { xField: value } }, - '#withXTickLabelMaxLength': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the max length that a label can have before it is truncated.' } }, - withXTickLabelMaxLength(value): { options+: { xTickLabelMaxLength: value } }, - '#withXTickLabelRotation': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the rotation of the x axis labels.' } }, - withXTickLabelRotation(value=0): { options+: { xTickLabelRotation: value } }, - '#withXTickLabelSpacing': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the spacing between x axis labels.\nnegative values indicate backwards skipping behavior' } }, - withXTickLabelSpacing(value=0): { options+: { xTickLabelSpacing: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet deleted file mode 100644 index 1596a280c3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/barGauge.libsonnet +++ /dev/null @@ -1,58 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.barGauge', name: 'barGauge' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'bargauge' }, - }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['basic', 'lcd', 'gradient'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes\nfor the bar gauge component of Grafana UI' } }, - withDisplayMode(value): { options+: { displayMode: value } }, - '#withMinVizHeight': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinVizHeight(value=10): { options+: { minVizHeight: value } }, - '#withMinVizWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinVizWidth(value=0): { options+: { minVizWidth: value } }, - '#withShowUnfilled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowUnfilled(value=true): { options+: { showUnfilled: value } }, - '#withValueMode': { 'function': { args: [{ default: null, enums: ['color', 'text', 'hidden'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, - withValueMode(value): { options+: { valueMode: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet deleted file mode 100644 index 8d9e6ef1e1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/candlestick.libsonnet +++ /dev/null @@ -1,11 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.candlestick', name: 'candlestick' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'candlestick' }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet deleted file mode 100644 index 4814e32c2e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/canvas.libsonnet +++ /dev/null @@ -1,11 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.canvas', name: 'canvas' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'canvas' }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet deleted file mode 100644 index 9c981c2973..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/dashboardList.libsonnet +++ /dev/null @@ -1,40 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.dashboardList', name: 'dashboardList' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'dashlist' }, - }, - options+: - { - '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFolderId(value): { options+: { folderId: value } }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { options+: { includeVars: value } }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { options+: { keepTime: value } }, - '#withMaxItems': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMaxItems(value=10): { options+: { maxItems: value } }, - '#withQuery': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withQuery(value=''): { options+: { query: value } }, - '#withShowHeadings': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowHeadings(value=true): { options+: { showHeadings: value } }, - '#withShowRecentlyViewed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowRecentlyViewed(value=true): { options+: { showRecentlyViewed: value } }, - '#withShowSearch': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowSearch(value=true): { options+: { showSearch: value } }, - '#withShowStarred': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowStarred(value=true): { options+: { showStarred: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet deleted file mode 100644 index e8d7558928..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/datagrid.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.datagrid', name: 'datagrid' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'datagrid' }, - }, - options+: - { - '#withSelectedSeries': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSelectedSeries(value=0): { options+: { selectedSeries: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet deleted file mode 100644 index da8c70ed10..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/debug.libsonnet +++ /dev/null @@ -1,29 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.debug', name: 'debug' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'debug' }, - }, - options+: - { - '#withCounters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCounters(value): { options+: { counters: value } }, - '#withCountersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCountersMixin(value): { options+: { counters+: value } }, - counters+: - { - '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDataChanged(value=true): { options+: { counters+: { dataChanged: value } } }, - '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withRender(value=true): { options+: { counters+: { render: value } } }, - '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSchemaChanged(value=true): { options+: { counters+: { schemaChanged: value } } }, - }, - '#withMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { mode: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet deleted file mode 100644 index a45c39cbfc..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/gauge.libsonnet +++ /dev/null @@ -1,52 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.gauge', name: 'gauge' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'gauge' }, - }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withShowThresholdLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowThresholdLabels(value=true): { options+: { showThresholdLabels: value } }, - '#withShowThresholdMarkers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowThresholdMarkers(value=true): { options+: { showThresholdMarkers: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet deleted file mode 100644 index 70c8eb7e74..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/geomap.libsonnet +++ /dev/null @@ -1,156 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.geomap', name: 'geomap' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'geomap' }, - }, - options+: - { - '#withBasemap': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withBasemap(value): { options+: { basemap: value } }, - '#withBasemapMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withBasemapMixin(value): { options+: { basemap+: value } }, - basemap+: - { - '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, - withConfig(value): { options+: { basemap+: { config: value } } }, - '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, - withFilterData(value): { options+: { basemap+: { filterData: value } } }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocation(value): { options+: { basemap+: { location: value } } }, - '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocationMixin(value): { options+: { basemap+: { location+: value } } }, - location+: - { - '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, - withGazetteer(value): { options+: { basemap+: { location+: { gazetteer: value } } } }, - '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, - withGeohash(value): { options+: { basemap+: { location+: { geohash: value } } } }, - '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLatitude(value): { options+: { basemap+: { location+: { latitude: value } } } }, - '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLongitude(value): { options+: { basemap+: { location+: { longitude: value } } } }, - '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLookup(value): { options+: { basemap+: { location+: { lookup: value } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { basemap+: { location+: { mode: value } } } }, - '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withWkt(value): { options+: { basemap+: { location+: { wkt: value } } } }, - }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, - withName(value): { options+: { basemap+: { name: value } } }, - '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, - withOpacity(value): { options+: { basemap+: { opacity: value } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, - withTooltip(value=true): { options+: { basemap+: { tooltip: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { options+: { basemap+: { type: value } } }, - }, - '#withControls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControls(value): { options+: { controls: value } }, - '#withControlsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControlsMixin(value): { options+: { controls+: value } }, - controls+: - { - '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, - withMouseWheelZoom(value=true): { options+: { controls+: { mouseWheelZoom: value } } }, - '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, - withShowAttribution(value=true): { options+: { controls+: { showAttribution: value } } }, - '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, - withShowDebug(value=true): { options+: { controls+: { showDebug: value } } }, - '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, - withShowMeasure(value=true): { options+: { controls+: { showMeasure: value } } }, - '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, - withShowScale(value=true): { options+: { controls+: { showScale: value } } }, - '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, - withShowZoom(value=true): { options+: { controls+: { showZoom: value } } }, - }, - '#withLayers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withLayers(value): { options+: { layers: (if std.isArray(value) - then value - else [value]) } }, - '#withLayersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withLayersMixin(value): { options+: { layers+: (if std.isArray(value) - then value - else [value]) } }, - layers+: - { - '#': { help: '', name: 'layers' }, - '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, - withConfig(value): { config: value }, - '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, - withFilterData(value): { filterData: value }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocation(value): { location: value }, - '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocationMixin(value): { location+: value }, - location+: - { - '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, - withGazetteer(value): { location+: { gazetteer: value } }, - '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, - withGeohash(value): { location+: { geohash: value } }, - '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLatitude(value): { location+: { latitude: value } }, - '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLongitude(value): { location+: { longitude: value } }, - '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLookup(value): { location+: { lookup: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { location+: { mode: value } }, - '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withWkt(value): { location+: { wkt: value } }, - }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, - withName(value): { name: value }, - '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, - withOpacity(value): { opacity: value }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, - withTooltip(value=true): { tooltip: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - }, - '#withView': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withView(value): { options+: { view: value } }, - '#withViewMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withViewMixin(value): { options+: { view+: value } }, - view+: - { - '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAllLayers(value=true): { options+: { view+: { allLayers: value } } }, - '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value='zero'): { options+: { view+: { id: value } } }, - '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLastOnly(value=true): { options+: { view+: { lastOnly: value } } }, - '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLat(value=0): { options+: { view+: { lat: value } } }, - '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLayer(value): { options+: { view+: { layer: value } } }, - '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLon(value=0): { options+: { view+: { lon: value } } }, - '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMaxZoom(value): { options+: { view+: { maxZoom: value } } }, - '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinZoom(value): { options+: { view+: { minZoom: value } } }, - '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withPadding(value): { options+: { view+: { padding: value } } }, - '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShared(value=true): { options+: { view+: { shared: value } } }, - '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withZoom(value=1): { options+: { view+: { zoom: value } } }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet deleted file mode 100644 index 24b141c9d9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/heatmap.libsonnet +++ /dev/null @@ -1,266 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.heatmap', name: 'heatmap' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'heatmap' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - }, - }, - }, - options+: - { - '#withCalculate': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the heatmap should be calculated from data' } }, - withCalculate(value=true): { options+: { calculate: value } }, - '#withCalculation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCalculation(value): { options+: { calculation: value } }, - '#withCalculationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCalculationMixin(value): { options+: { calculation+: value } }, - calculation+: - { - '#withXBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXBuckets(value): { options+: { calculation+: { xBuckets: value } } }, - '#withXBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXBucketsMixin(value): { options+: { calculation+: { xBuckets+: value } } }, - xBuckets+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { calculation+: { xBuckets+: { mode: value } } } }, - '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScale(value): { options+: { calculation+: { xBuckets+: { scale: value } } } }, - '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleMixin(value): { options+: { calculation+: { xBuckets+: { scale+: value } } } }, - scale+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { calculation+: { xBuckets+: { scale+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { calculation+: { xBuckets+: { scale+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { calculation+: { xBuckets+: { scale+: { type: value } } } } }, - }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, - withValue(value): { options+: { calculation+: { xBuckets+: { value: value } } } }, - }, - '#withYBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withYBuckets(value): { options+: { calculation+: { yBuckets: value } } }, - '#withYBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withYBucketsMixin(value): { options+: { calculation+: { yBuckets+: value } } }, - yBuckets+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { calculation+: { yBuckets+: { mode: value } } } }, - '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScale(value): { options+: { calculation+: { yBuckets+: { scale: value } } } }, - '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleMixin(value): { options+: { calculation+: { yBuckets+: { scale+: value } } } }, - scale+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { calculation+: { yBuckets+: { scale+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { calculation+: { yBuckets+: { scale+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { calculation+: { yBuckets+: { scale+: { type: value } } } } }, - }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, - withValue(value): { options+: { calculation+: { yBuckets+: { value: value } } } }, - }, - }, - '#withCellGap': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls gap between cells' } }, - withCellGap(value=1): { options+: { cellGap: value } }, - '#withCellRadius': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls cell radius' } }, - withCellRadius(value): { options+: { cellRadius: value } }, - '#withCellValues': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, - withCellValues(value={}): { options+: { cellValues: value } }, - '#withCellValuesMixin': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, - withCellValuesMixin(value): { options+: { cellValues+: value } }, - cellValues+: - { - '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValues(value): { options+: { cellValues+: { CellValues: value } } }, - '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValuesMixin(value): { options+: { cellValues+: { CellValues+: value } } }, - CellValues+: - { - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, - withDecimals(value): { options+: { cellValues+: { decimals: value } } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, - withUnit(value): { options+: { cellValues+: { unit: value } } }, - }, - }, - '#withColor': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, - withColor(value={ exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }): { options+: { color: value } }, - '#withColorMixin': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, - withColorMixin(value): { options+: { color+: value } }, - color+: - { - '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptions(value): { options+: { color+: { HeatmapColorOptions: value } } }, - '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptionsMixin(value): { options+: { color+: { HeatmapColorOptions+: value } } }, - HeatmapColorOptions+: - { - '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, - withExponent(value): { options+: { color+: { exponent: value } } }, - '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, - withFill(value): { options+: { color+: { fill: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, - withMax(value): { options+: { color+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, - withMin(value): { options+: { color+: { min: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, - withMode(value): { options+: { color+: { mode: value } } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, - withReverse(value=true): { options+: { color+: { reverse: value } } }, - '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, - withScale(value): { options+: { color+: { scale: value } } }, - '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, - withScheme(value): { options+: { color+: { scheme: value } } }, - '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, - withSteps(value): { options+: { color+: { steps: value } } }, - }, - }, - '#withExemplars': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplars(value): { options+: { exemplars: value } }, - '#withExemplarsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplarsMixin(value): { options+: { exemplars+: value } }, - exemplars+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, - withColor(value): { options+: { exemplars+: { color: value } } }, - }, - '#withFilterValues': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, - withFilterValues(value={ le: 1.0000000000000001e-09 }): { options+: { filterValues: value } }, - '#withFilterValuesMixin': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, - withFilterValuesMixin(value): { options+: { filterValues+: value } }, - filterValues+: - { - '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRange(value): { options+: { filterValues+: { FilterValueRange: value } } }, - '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRangeMixin(value): { options+: { filterValues+: { FilterValueRange+: value } } }, - FilterValueRange+: - { - '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, - withGe(value): { options+: { filterValues+: { ge: value } } }, - '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, - withLe(value): { options+: { filterValues+: { le: value } } }, - }, - }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, - withShow(value=true): { options+: { legend+: { show: value } } }, - }, - '#withRowsFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsFrame(value): { options+: { rowsFrame: value } }, - '#withRowsFrameMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsFrameMixin(value): { options+: { rowsFrame+: value } }, - rowsFrame+: - { - '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, - withLayout(value): { options+: { rowsFrame+: { layout: value } } }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, - withValue(value): { options+: { rowsFrame+: { value: value } } }, - }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '| *{\n\tlayout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n}\nControls the display of the value in the cell' } }, - withShowValue(value): { options+: { showValue: value } }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, - withShow(value=true): { options+: { tooltip+: { show: value } } }, - '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, - withYHistogram(value=true): { options+: { tooltip+: { yHistogram: value } } }, - }, - '#withYAxis': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxis(value): { options+: { yAxis: value } }, - '#withYAxisMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxisMixin(value): { options+: { yAxis+: value } }, - yAxis+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { options+: { yAxis+: { axisCenteredZero: value } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { options+: { yAxis+: { axisColorMode: value } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { options+: { yAxis+: { axisGridShow: value } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { options+: { yAxis+: { axisLabel: value } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { options+: { yAxis+: { axisPlacement: value } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { options+: { yAxis+: { axisSoftMax: value } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { options+: { yAxis+: { axisSoftMin: value } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { options+: { yAxis+: { axisWidth: value } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { options+: { yAxis+: { scaleDistribution: value } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { options+: { yAxis+: { scaleDistribution+: value } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { yAxis+: { scaleDistribution+: { linearThreshold: value } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { yAxis+: { scaleDistribution+: { log: value } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { yAxis+: { scaleDistribution+: { type: value } } } }, - }, - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, - withDecimals(value): { options+: { yAxis+: { decimals: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, - withMax(value): { options+: { yAxis+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, - withMin(value): { options+: { yAxis+: { min: value } } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, - withReverse(value=true): { options+: { yAxis+: { reverse: value } } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, - withUnit(value): { options+: { yAxis+: { unit: value } } }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet deleted file mode 100644 index 36f46eb607..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/histogram.libsonnet +++ /dev/null @@ -1,119 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.histogram', name: 'histogram' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'histogram' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, - withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withBucketOffset': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Offset buckets by this amount' } }, - withBucketOffset(value=0): { options+: { bucketOffset: value } }, - '#withBucketSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Size of each bucket' } }, - withBucketSize(value): { options+: { bucketSize: value } }, - '#withCombine': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Combines multiple series into a single histogram' } }, - withCombine(value=true): { options+: { combine: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet deleted file mode 100644 index cd95ac5c8f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/logs.libsonnet +++ /dev/null @@ -1,30 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.logs', name: 'logs' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'logs' }, - }, - options+: - { - '#withDedupStrategy': { 'function': { args: [{ default: null, enums: ['none', 'exact', 'numbers', 'signature'], name: 'value', type: 'string' }], help: '' } }, - withDedupStrategy(value): { options+: { dedupStrategy: value } }, - '#withEnableLogDetails': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withEnableLogDetails(value=true): { options+: { enableLogDetails: value } }, - '#withPrettifyLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPrettifyLogMessage(value=true): { options+: { prettifyLogMessage: value } }, - '#withShowCommonLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowCommonLabels(value=true): { options+: { showCommonLabels: value } }, - '#withShowLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLabels(value=true): { options+: { showLabels: value } }, - '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTime(value=true): { options+: { showTime: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: ['Descending', 'Ascending'], name: 'value', type: 'string' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withWrapLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withWrapLogMessage(value=true): { options+: { wrapLogMessage: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet deleted file mode 100644 index 1c44759dd1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/news.libsonnet +++ /dev/null @@ -1,18 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.news', name: 'news' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'news' }, - }, - options+: - { - '#withFeedUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'empty/missing will default to grafana blog' } }, - withFeedUrl(value): { options+: { feedUrl: value } }, - '#withShowImage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowImage(value=true): { options+: { showImage: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet deleted file mode 100644 index 0cfc3e7bcc..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/nodeGraph.libsonnet +++ /dev/null @@ -1,52 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.nodeGraph', name: 'nodeGraph' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'nodeGraph' }, - }, - options+: - { - '#withEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdges(value): { options+: { edges: value } }, - '#withEdgesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdgesMixin(value): { options+: { edges+: value } }, - edges+: - { - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { options+: { edges+: { mainStatUnit: value } } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { options+: { edges+: { secondaryStatUnit: value } } }, - }, - '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodes(value): { options+: { nodes: value } }, - '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodesMixin(value): { options+: { nodes+: value } }, - nodes+: - { - '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcs(value): { options+: { nodes+: { arcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcsMixin(value): { options+: { nodes+: { arcs+: (if std.isArray(value) - then value - else [value]) } } }, - arcs+: - { - '#': { help: '', name: 'arcs' }, - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, - withColor(value): { color: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, - withField(value): { field: value }, - }, - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { options+: { nodes+: { mainStatUnit: value } } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { options+: { nodes+: { secondaryStatUnit: value } } }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet deleted file mode 100644 index 4854949e5c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/pieChart.libsonnet +++ /dev/null @@ -1,130 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.pieChart', name: 'pieChart' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'piechart' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - }, - }, - }, - options+: - { - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withDisplayLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDisplayLabels(value): { options+: { displayLabels: (if std.isArray(value) - then value - else [value]) } }, - '#withDisplayLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDisplayLabelsMixin(value): { options+: { displayLabels+: (if std.isArray(value) - then value - else [value]) } }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValues(value): { options+: { legend+: { values: (if std.isArray(value) - then value - else [value]) } } }, - '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValuesMixin(value): { options+: { legend+: { values+: (if std.isArray(value) - then value - else [value]) } } }, - }, - '#withPieType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, - withPieType(value): { options+: { pieType: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet deleted file mode 100644 index d6b5f8bc25..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stat.libsonnet +++ /dev/null @@ -1,56 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.stat', name: 'stat' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'stat' }, - }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withColorMode': { 'function': { args: [{ default: null, enums: ['value', 'background', 'background_solid', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withColorMode(value): { options+: { colorMode: value } }, - '#withGraphMode': { 'function': { args: [{ default: null, enums: ['none', 'line', 'area'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGraphMode(value): { options+: { graphMode: value } }, - '#withJustifyMode': { 'function': { args: [{ default: null, enums: ['auto', 'center'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withJustifyMode(value): { options+: { justifyMode: value } }, - '#withTextMode': { 'function': { args: [{ default: null, enums: ['auto', 'value', 'value_and_name', 'name', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTextMode(value): { options+: { textMode: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet deleted file mode 100644 index 1e75e691ef..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/stateTimeline.libsonnet +++ /dev/null @@ -1,98 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.stateTimeline', name: 'stateTimeline' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'state-timeline' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value=0): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withAlignValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls value alignment on the timelines' } }, - withAlignValue(value): { options+: { alignValue: value } }, - '#withMergeValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Merge equal consecutive values' } }, - withMergeValues(value=true): { options+: { mergeValues: value } }, - '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the row height' } }, - withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show timeline values on chart' } }, - withShowValue(value): { options+: { showValue: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet deleted file mode 100644 index 9fe7e6b3d9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/statusHistory.libsonnet +++ /dev/null @@ -1,96 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.statusHistory', name: 'statusHistory' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'status-history' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withColWidth': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the column width' } }, - withColWidth(value=0.90000000000000002): { options+: { colWidth: value } }, - '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Set the height of the rows' } }, - withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show values on the columns' } }, - withShowValue(value): { options+: { showValue: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet deleted file mode 100644 index ad3f1bc1a3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/table.libsonnet +++ /dev/null @@ -1,288 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.table', name: 'table' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'table' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withAlign': { 'function': { args: [{ default: null, enums: ['auto', 'left', 'right', 'center'], name: 'value', type: 'string' }], help: 'TODO -- should not be table specific! TODO docs' } }, - withAlign(value): { fieldConfig+: { defaults+: { custom+: { align: value } } } }, - '#withCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, - withCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions: value } } } }, - '#withCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, - withCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: value } } } }, - cellOptions+: - { - '#withTableAutoCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, - withTableAutoCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions: value } } } } }, - '#withTableAutoCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, - withTableAutoCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions+: value } } } } }, - TableAutoCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'auto' } } } } }, - }, - '#withTableSparklineCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, - withTableSparklineCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions: value } } } } }, - '#withTableSparklineCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, - withTableSparklineCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions+: value } } } } }, - TableSparklineCellOptions+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisCenteredZero: value } } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['series', 'text'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisColorMode: value } } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisGridShow: value } } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisLabel: value } } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'bottom', 'hidden', 'left', 'right', 'top'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisPlacement: value } } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMax: value } } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMin: value } } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisWidth: value } } } } }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [1, -1, 0], name: 'value', type: 'number' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barAlignment: value } } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barMaxWidth: value } } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barWidthFactor: value } } } } }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['bars', 'line', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { drawStyle: value } } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillBelowTo: value } } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillColor: value } } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillOpacity: value } } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['hue', 'none', 'opacity', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { gradientMode: value } } } } }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom: value } } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: value } } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { legend: value } } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { tooltip: value } } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { viz: value } } } } } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineColor: value } } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepAfter', 'stepBefore'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineInterpolation: value } } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle: value } } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: value } } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { fill: value } } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineWidth: value } } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointColor: value } } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSize: value } } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSymbol: value } } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution: value } } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: value } } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { linearThreshold: value } } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { log: value } } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { type: value } } } } } }, - }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['always', 'auto', 'never'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { showPoints: value } } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: ['boolean', 'number'] }], help: 'Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { spanNulls: value } } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking: value } } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: value } } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { group: value } } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { mode: value } } } } } }, - }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle: value } } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: value } } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['area', 'dashed', 'dashed+area', 'line', 'line+area', 'off', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: { mode: value } } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { transform: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'sparkline' } } } } }, - }, - '#withTableBarGaugeCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, - withTableBarGaugeCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions: value } } } } }, - '#withTableBarGaugeCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, - withTableBarGaugeCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions+: value } } } } }, - TableBarGaugeCellOptions+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient', 'lcd'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes for the bar gauge component of Grafana UI' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'gauge' } } } } }, - '#withValueDisplayMode': { 'function': { args: [{ default: null, enums: ['color', 'hidden', 'text'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, - withValueDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { valueDisplayMode: value } } } } }, - }, - '#withTableColoredBackgroundCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, - withTableColoredBackgroundCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions: value } } } } }, - '#withTableColoredBackgroundCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, - withTableColoredBackgroundCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions+: value } } } } }, - TableColoredBackgroundCellOptions+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient'], name: 'value', type: 'string' }], help: 'Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient.' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-background' } } } } }, - }, - '#withTableColorTextCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, - withTableColorTextCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions: value } } } } }, - '#withTableColorTextCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, - withTableColorTextCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions+: value } } } } }, - TableColorTextCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-text' } } } } }, - }, - '#withTableImageCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableImageCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions: value } } } } }, - '#withTableImageCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableImageCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions+: value } } } } }, - TableImageCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'image' } } } } }, - }, - '#withTableJsonViewCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableJsonViewCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions: value } } } } }, - '#withTableJsonViewCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableJsonViewCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions+: value } } } } }, - TableJsonViewCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'json-view' } } } } }, - }, - }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['auto', 'basic', 'color-background', 'color-background-solid', 'color-text', 'custom', 'gauge', 'gradient-gauge', 'image', 'json-view', 'lcd-gauge', 'sparkline'], name: 'value', type: 'string' }], help: "Internally, this is the \"type\" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions" } }, - withDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { displayMode: value } } } }, - '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withFilterable(value=true): { fieldConfig+: { defaults+: { custom+: { filterable: value } } } }, - '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHidden(value=true): { fieldConfig+: { defaults+: { custom+: { hidden: value } } } }, - '#withHideHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Hides any header for a column, usefull for columns that show some static content or buttons.' } }, - withHideHeader(value=true): { fieldConfig+: { defaults+: { custom+: { hideHeader: value } } } }, - '#withInspect': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withInspect(value=true): { fieldConfig+: { defaults+: { custom+: { inspect: value } } } }, - '#withMinWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMinWidth(value): { fieldConfig+: { defaults+: { custom+: { minWidth: value } } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { fieldConfig+: { defaults+: { custom+: { width: value } } } }, - }, - }, - }, - options+: - { - '#withCellHeight': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the height of the rows' } }, - withCellHeight(value): { options+: { cellHeight: value } }, - '#withFooter': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, - withFooter(value={ countRows: false, reducer: [], show: false }): { options+: { footer: value } }, - '#withFooterMixin': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, - withFooterMixin(value): { options+: { footer+: value } }, - footer+: - { - '#withTableFooterOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, - withTableFooterOptions(value): { options+: { footer+: { TableFooterOptions: value } } }, - '#withTableFooterOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, - withTableFooterOptionsMixin(value): { options+: { footer+: { TableFooterOptions+: value } } }, - TableFooterOptions+: - { - '#withCountRows': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withCountRows(value=true): { options+: { footer+: { countRows: value } } }, - '#withEnablePagination': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withEnablePagination(value=true): { options+: { footer+: { enablePagination: value } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFields(value): { options+: { footer+: { fields: (if std.isArray(value) - then value - else [value]) } } }, - '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFieldsMixin(value): { options+: { footer+: { fields+: (if std.isArray(value) - then value - else [value]) } } }, - '#withReducer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withReducer(value): { options+: { footer+: { reducer: (if std.isArray(value) - then value - else [value]) } } }, - '#withReducerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withReducerMixin(value): { options+: { footer+: { reducer+: (if std.isArray(value) - then value - else [value]) } } }, - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShow(value=true): { options+: { footer+: { show: value } } }, - }, - }, - '#withFrameIndex': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Represents the index of the selected frame' } }, - withFrameIndex(value=0): { options+: { frameIndex: value } }, - '#withShowHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the panel should show the header' } }, - withShowHeader(value=true): { options+: { showHeader: value } }, - '#withShowTypeIcons': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the header should show icons for the column types' } }, - withShowTypeIcons(value=true): { options+: { showTypeIcons: value } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, - withSortBy(value): { options+: { sortBy: (if std.isArray(value) - then value - else [value]) } }, - '#withSortByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, - withSortByMixin(value): { options+: { sortBy+: (if std.isArray(value) - then value - else [value]) } }, - sortBy+: - { - '#': { help: '', name: 'sortBy' }, - '#withDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag used to indicate descending sort order' } }, - withDesc(value=true): { desc: value }, - '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the display name of the field to sort by' } }, - withDisplayName(value): { displayName: value }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet deleted file mode 100644 index fe1101ba10..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/text.libsonnet +++ /dev/null @@ -1,31 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.text', name: 'text' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'text' }, - }, - options+: - { - '#withCode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCode(value): { options+: { code: value } }, - '#withCodeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCodeMixin(value): { options+: { code+: value } }, - code+: - { - '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, - withLanguage(value='plaintext'): { options+: { code+: { language: value } } }, - '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLineNumbers(value=true): { options+: { code+: { showLineNumbers: value } } }, - '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowMiniMap(value=true): { options+: { code+: { showMiniMap: value } } }, - }, - '#withContent': { 'function': { args: [{ default: '# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)', enums: null, name: 'value', type: 'string' }], help: '' } }, - withContent(value='# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)'): { options+: { content: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { mode: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet deleted file mode 100644 index 8c034d5e19..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/timeSeries.libsonnet +++ /dev/null @@ -1,188 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.timeSeries', name: 'timeSeries' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'timeseries' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, - '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, - }, - }, - }, - options+: - { - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet deleted file mode 100644 index 51e3173e60..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/trend.libsonnet +++ /dev/null @@ -1,182 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.trend', name: 'trend' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'trend' }, - }, - fieldConfig+: - { - defaults+: - { - custom+: - { - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, - '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, - }, - }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the x field to use (defaults to first number)' } }, - withXField(value): { options+: { xField: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet deleted file mode 100644 index 57b9aa8be8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/panel/xyChart.libsonnet +++ /dev/null @@ -1,212 +0,0 @@ -// This file is generated, do not manually edit. -(import '../../clean/panel.libsonnet') -+ { - '#': { help: 'grafonnet.panel.xyChart', name: 'xyChart' }, - panelOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'xychart' }, - }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withDims': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDims(value): { options+: { dims: value } }, - '#withDimsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDimsMixin(value): { options+: { dims+: value } }, - dims+: - { - '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExclude(value): { options+: { dims+: { exclude: (if std.isArray(value) - then value - else [value]) } } }, - '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExcludeMixin(value): { options+: { dims+: { exclude+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFrame(value): { options+: { dims+: { frame: value } } }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { options+: { dims+: { x: value } } }, - }, - '#withSeries': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withSeries(value): { options+: { series: (if std.isArray(value) - then value - else [value]) } }, - '#withSeriesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withSeriesMixin(value): { options+: { series+: (if std.isArray(value) - then value - else [value]) } }, - series+: - { - '#': { help: '', name: 'series' }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { hideFrom: value }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { hideFrom+: value }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { hideFrom+: { legend: value } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { hideFrom+: { tooltip: value } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { hideFrom+: { viz: value } }, - }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { axisCenteredZero: value }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { axisColorMode: value }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { axisGridShow: value }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { axisLabel: value }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { axisPlacement: value }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { axisSoftMax: value }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { axisSoftMin: value }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { axisWidth: value }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { scaleDistribution: value }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { scaleDistribution+: value }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { scaleDistribution+: { linearThreshold: value } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { scaleDistribution+: { log: value } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { scaleDistribution+: { type: value } }, - }, - '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLabel(value): { label: value }, - '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValue(value): { labelValue: value }, - '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValueMixin(value): { labelValue+: value }, - labelValue+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { labelValue+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { labelValue+: { fixed: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { labelValue+: { mode: value } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColor(value): { lineColor: value }, - '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColorMixin(value): { lineColor+: value }, - lineColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { lineColor+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { lineColor+: { fixed: value } }, - }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { lineStyle: value }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { lineStyle+: value }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { lineStyle+: { fill: value } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value): { lineWidth: value }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColor(value): { pointColor: value }, - '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColorMixin(value): { pointColor+: value }, - pointColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { pointColor+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { pointColor+: { fixed: value } }, - }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSize(value): { pointSize: value }, - '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSizeMixin(value): { pointSize+: value }, - pointSize+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { pointSize+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFixed(value): { pointSize+: { fixed: value } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { pointSize+: { max: value } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { pointSize+: { min: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { pointSize+: { mode: value } }, - }, - '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, - withShow(value): { show: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { x: value }, - '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withY(value): { y: value }, - }, - '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, - withSeriesMapping(value): { options+: { seriesMapping: value } }, - }, -} -+ { panelOptions+: { '#withType':: {} } } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet deleted file mode 100644 index f7cf1bb777..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/loki.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.loki', name: 'loki' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, - withEditorMode(value): { editorMode: value }, - '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The LogQL query.' } }, - withExpr(value): { expr: value }, - '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, - withInstant(value=true): { instant: value }, - '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Used to override the name of the series.' } }, - withLegendFormat(value): { legendFormat: value }, - '#withMaxLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to limit the number of log rows returned.' } }, - withMaxLines(value): { maxLines: value }, - '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, - withRange(value=true): { range: value }, - '#withResolution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to scale the interval value.' } }, - withResolution(value): { resolution: value }, -} -+ (import '../../custom/query/loki.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet deleted file mode 100644 index 19196ce822..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/prometheus.libsonnet +++ /dev/null @@ -1,29 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.prometheus', name: 'prometheus' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, - withEditorMode(value): { editorMode: value }, - '#withExemplar': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Execute an additional query to identify interesting raw samples relevant for the given expr' } }, - withExemplar(value=true): { exemplar: value }, - '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The actual expression/query that will be evaluated by Prometheus' } }, - withExpr(value): { expr: value }, - '#withFormat': { 'function': { args: [{ default: null, enums: ['time_series', 'table', 'heatmap'], name: 'value', type: 'string' }], help: '' } }, - withFormat(value): { format: value }, - '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns only the latest value that Prometheus has scraped for the requested time series' } }, - withInstant(value=true): { instant: value }, - '#withIntervalFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '@deprecated Used to specify how many times to divide max data points by. We use max data points under query options\nSee https://github.com/grafana/grafana/issues/48081' } }, - withIntervalFactor(value): { intervalFactor: value }, - '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname' } }, - withLegendFormat(value): { legendFormat: value }, - '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series' } }, - withRange(value=true): { range: value }, -} -+ (import '../../custom/query/prometheus.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet deleted file mode 100644 index 52fcfd1ec7..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/clean/query/tempo.libsonnet +++ /dev/null @@ -1,55 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.tempo', name: 'tempo' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFilters(value): { filters: (if std.isArray(value) - then value - else [value]) }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFiltersMixin(value): { filters+: (if std.isArray(value) - then value - else [value]) }, - filters+: - { - '#': { help: '', name: 'filters' }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Uniquely identify the filter, will not be used in the query generation' } }, - withId(value): { id: value }, - '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The operator that connects the tag to the value, for example: =, >, !=, =~' } }, - withOperator(value): { operator: value }, - '#withScope': { 'function': { args: [{ default: null, enums: ['unscoped', 'resource', 'span'], name: 'value', type: 'string' }], help: 'static fields are pre-set in the UI, dynamic fields are added by the user' } }, - withScope(value): { scope: value }, - '#withTag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The tag for the search filter, for example: .http.status_code, .service.name, status' } }, - withTag(value): { tag: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, - withValue(value): { value: value }, - '#withValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, - withValueMixin(value): { value+: value }, - '#withValueType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query' } }, - withValueType(value): { valueType: value }, - }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Defines the maximum number of traces that are returned from Tempo' } }, - withLimit(value): { limit: value }, - '#withMaxDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, - withMaxDuration(value): { maxDuration: value }, - '#withMinDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, - withMinDuration(value): { minDuration: value }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TraceQL query or trace ID' } }, - withQuery(value): { query: value }, - '#withSearch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true' } }, - withSearch(value): { search: value }, - '#withServiceMapQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}' } }, - withServiceMapQuery(value): { serviceMapQuery: value }, - '#withServiceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by service name' } }, - withServiceName(value): { serviceName: value }, - '#withSpanName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by span name' } }, - withSpanName(value): { spanName: value }, -} -+ (import '../../custom/query/tempo.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet deleted file mode 100644 index 4b8bbf0b57..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/contactPoint.libsonnet +++ /dev/null @@ -1,12 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#'+:: { - help+: - ||| - - - **NOTE**: The schemas for all different contact points is under development, this means we can't properly express them in Grafonnet yet. The way this works now may change heavily. - |||, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet deleted file mode 100644 index 4a2efb3604..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/muteTiming.libsonnet +++ /dev/null @@ -1,8 +0,0 @@ -{ - '#withTimeIntervals': { ignore: true }, - '#withIntervals': super['#withTimeIntervals'], - withIntervals: super.withTimeIntervals, - '#withTimeIntervalsMixin': { ignore: true }, - '#withIntervalsMixin': super['#withTimeIntervalsMixin'], - withIntervalsMixin: super.withTimeIntervalsMixin, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet deleted file mode 100644 index cf9a2b7dcf..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/notificationPolicy.libsonnet +++ /dev/null @@ -1,12 +0,0 @@ -{ - '#withReceiver': { ignore: true }, - '#withContactPoint': super['#withReceiver'], - withContactPoint: super.withReceiver, - - '#withRoutes': { ignore: true }, - '#withPolicy': super['#withRoutes'], - withPolicy: super.withRoutes, - '#withRoutesMixin': { ignore: true }, - '#withPolicyMixin': super['#withRoutesMixin'], - withPolicyMixin: super.withRoutesMixin, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet deleted file mode 100644 index 4ed32afb06..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/alerting/ruleGroup.libsonnet +++ /dev/null @@ -1,13 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#withTitle': { ignore: true }, - '#withName': super['#withTitle'], - withName: super.withTitle, - rule+: { - '#':: d.package.newSub('rule', ''), - '#withTitle': { ignore: true }, - '#withName': super['#withTitle'], - withName: super.withTitle, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet deleted file mode 100644 index 0620a22520..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard.libsonnet +++ /dev/null @@ -1,44 +0,0 @@ -local util = import './util/main.libsonnet'; -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#new':: d.func.new( - 'Creates a new dashboard with a title.', - args=[d.arg('title', d.T.string)] - ), - new(title): - self.withTitle(title) - + self.withSchemaVersion() - + self.withTimezone('utc') - + self.time.withFrom('now-6h') - + self.time.withTo('now'), - - withPanels(value): { - _panels:: if std.isArray(value) then value else [value], - panels: util.panel.setPanelIDs(self._panels), - }, - withPanelsMixin(value): { - _panels+:: if std.isArray(value) then value else [value], - panels: util.panel.setPanelIDs(self._panels), - }, - - graphTooltip+: { - // 0 - Default - // 1 - Shared crosshair - // 2 - Shared tooltip - '#withSharedCrosshair':: d.func.new( - 'Share crosshair on all panels.', - ), - withSharedCrosshair(): - { graphTooltip: 1 }, - - '#withSharedTooltip':: d.func.new( - 'Share crosshair and tooltip on all panels.', - ), - withSharedTooltip(): - { graphTooltip: 2 }, - }, -} -+ (import './dashboard/annotation.libsonnet') -+ (import './dashboard/link.libsonnet') -+ (import './dashboard/variable.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet deleted file mode 100644 index 02892ab33e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/annotation.libsonnet +++ /dev/null @@ -1,36 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#annotation':: {}, - - '#withAnnotations': - d.func.new( - ||| - `withAnnotations` adds an array of annotations to a dashboard. - - This function appends passed data to existing values - |||, - args=[d.arg('value', d.T.array)] - ), - withAnnotations(value): super.annotation.withList(value), - - '#withAnnotationsMixin': - d.func.new( - ||| - `withAnnotationsMixin` adds an array of annotations to a dashboard. - - This function appends passed data to existing values - |||, - args=[d.arg('value', d.T.array)] - ), - withAnnotationsMixin(value): super.annotation.withListMixin(value), - - annotation: - super.annotation.list - + { - '#':: d.package.newSub( - 'annotation', - '', - ), - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet deleted file mode 100644 index eb9b2fe9aa..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/link.libsonnet +++ /dev/null @@ -1,90 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#withLinks':: d.func.new( - ||| - Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. - - `withLinks` takes an array of [link objects](./link.md). - - The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. - - Example: - - ```jsonnet - local g = import 'g.libsonnet'; - local link = g.dashboard.link; - - g.dashboard.new('Title dashboard') - + g.dashboard.withLinks([ - link.link.new('My title', 'https://wikipedia.org/'), - ]) - ``` - |||, - [d.arg('value', d.T.array)], - ), - '#withLinksMixin':: self['#withLinks'], - - link+: { - '#':: d.package.newSub( - 'link', - ||| - Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. - - The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. - - Example: - - ```jsonnet - local g = import 'g.libsonnet'; - local link = g.dashboard.link; - - g.dashboard.new('Title dashboard') - + g.dashboard.withLinks([ - link.link.new('My title', 'https://wikipedia.org/'), - ]) - ``` - |||, - ), - - dashboards+: { - '#new':: d.func.new( - ||| - Create links to dashboards based on `tags`. - |||, - args=[ - d.arg('title', d.T.string), - d.arg('tags', d.T.array), - ] - ), - new(title, tags): - self.withTitle(title) - + self.withType('dashboards') - + self.withTags(tags), - - '#withTitle':: {}, - '#withType':: {}, - '#withTags':: {}, - }, - - link+: { - '#new':: d.func.new( - ||| - Create link to an arbitrary URL. - |||, - args=[ - d.arg('title', d.T.string), - d.arg('url', d.T.string), - ] - ), - new(title, url): - self.withTitle(title) - + self.withType('link') - + self.withUrl(url), - - '#withTitle':: {}, - '#withType':: {}, - '#withUrl':: {}, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet deleted file mode 100644 index 3cd298811a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/dashboard/variable.libsonnet +++ /dev/null @@ -1,516 +0,0 @@ -local util = import '../util/main.libsonnet'; -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - local var = super.variable.list, - - '#withVariables': - d.func.new( - ||| - `withVariables` adds an array of variables to a dashboard - |||, - args=[d.arg('value', d.T.array)] - ), - withVariables(value): super.variable.withList(value), - - '#withVariablesMixin': - d.func.new( - ||| - `withVariablesMixin` adds an array of variables to a dashboard. - - This function appends passed data to existing values - |||, - args=[d.arg('value', d.T.array)] - ), - withVariablesMixin(value): super.variable.withListMixin(value), - - variable: { - '#':: d.package.newSub( - 'variable', - ||| - Example usage: - - ```jsonnet - local g = import 'g.libsonnet'; - local var = g.dashboard.variable; - - local customVar = - var.custom.new( - 'myOptions', - values=['a', 'b', 'c', 'd'], - ) - + var.custom.generalOptions.withDescription( - 'This is a variable for my custom options.' - ) - + var.custom.selectionOptions.withMulti(); - - local queryVar = - var.query.new('queryOptions') - + var.query.queryTypes.withLabelValues( - 'up', - 'instance', - ) - + var.query.withDatasource( - type='prometheus', - uid='mimir-prod', - ) - + var.query.selectionOptions.withIncludeAll(); - - - g.dashboard.new('my dashboard') - + g.dashboard.withVariables([ - customVar, - queryVar, - ]) - ``` - |||, - ), - - local generalOptions = { - generalOptions+: - { - - '#withName': var['#withName'], - withName: var.withName, - '#withLabel': var['#withLabel'], - withLabel: var.withLabel, - '#withDescription': var['#withDescription'], - withDescription: var.withDescription, - - showOnDashboard: { - '#withLabelAndValue':: d.func.new(''), - withLabelAndValue(): var.withHide(0), - '#withValueOnly':: d.func.new(''), - withValueOnly(): var.withHide(1), - '#withNothing':: d.func.new(''), - withNothing(): var.withHide(2), - }, - - '#withCurrent':: d.func.new( - ||| - `withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - |||, - args=[ - d.arg('key', d.T.any), - d.arg('value', d.T.any, default=''), - ] - ), - withCurrent(key, value=key): { - local multi(v) = - if self.multi - && std.isArray(v) - then v - else [v], - current: { - selected: false, - text: multi(key), - value: multi(value), - }, - }, - }, - }, - - local selectionOptions = - { - selectionOptions: - { - '#withMulti':: d.func.new( - 'Enable selecting multiple values.', - args=[ - d.arg('value', d.T.boolean, default=true), - ] - ), - withMulti(value=true): { - multi: value, - }, - - '#withIncludeAll':: d.func.new( - ||| - `withIncludeAll` enables an option to include all variables. - - Optionally you can set a `customAllValue`. - |||, - args=[ - d.arg('value', d.T.boolean, default=true), - d.arg('customAllValue', d.T.boolean, default=null), - ] - ), - withIncludeAll(value=true, customAllValue=null): { - includeAll: value, - [if customAllValue != null then 'allValue']: customAllValue, - }, - }, - }, - - query: - generalOptions - + selectionOptions - + { - '#new':: d.func.new( - ||| - Create a query template variable. - - `query` argument is optional, this can also be set with `query.queryTypes`. - |||, - args=[ - d.arg('name', d.T.string), - d.arg('query', d.T.string, default=''), - ] - ), - new(name, query=''): - var.withName(name) - + var.withType('query') - + var.withQuery(query), - - '#withDatasource':: d.func.new( - 'Select a datasource for the variable template query.', - args=[ - d.arg('type', d.T.string), - d.arg('uid', d.T.string), - ] - ), - withDatasource(type, uid): - var.datasource.withType(type) - + var.datasource.withUid(uid), - - '#withDatasourceFromVariable':: d.func.new( - 'Select the datasource from another template variable.', - args=[ - d.arg('variable', d.T.object), - ] - ), - withDatasourceFromVariable(variable): - if variable.type == 'datasource' - then self.withDatasource(variable.query, '${%s}' % variable.name) - else error "`variable` not of type 'datasource'", - - '#withRegex':: d.func.new( - ||| - `withRegex` can extract part of a series name or metric node segment. Named - capture groups can be used to separate the display text and value - ([see examples](https://grafana.com/docs/grafana/latest/variables/filter-variables-with-regex#filter-and-modify-using-named-text-and-value-capture-groups)). - |||, - args=[ - d.arg('value', d.T.string), - ] - ), - withRegex(value): { - regex: value, - }, - - '#withSort':: d.func.new( - ||| - Choose how to sort the values in the dropdown. - - This can be called as `withSort() to use the integer values for each - option. If `i==0` then it will be ignored and the other arguments will take - precedence. - - The numerical values are: - - - 1 - Alphabetical (asc) - - 2 - Alphabetical (desc) - - 3 - Numerical (asc) - - 4 - Numerical (desc) - - 5 - Alphabetical (case-insensitive, asc) - - 6 - Alphabetical (case-insensitive, desc) - |||, - args=[ - d.arg('i', d.T.number, default=0), - d.arg('type', d.T.string, default='alphabetical'), - d.arg('asc', d.T.boolean, default=true), - d.arg('caseInsensitive', d.T.boolean, default=false), - ], - ), - withSort(i=0, type='alphabetical', asc=true, caseInsensitive=false): - if i != 0 // provide fallback to numerical value - then { sort: i } - else - { - local mapping = { - alphabetical: - if !caseInsensitive - then - if asc - then 1 - else 2 - else - if asc - then 5 - else 6, - numerical: - if asc - then 3 - else 4, - }, - sort: mapping[type], - }, - - // TODO: Expand with Query types to match GUI - queryTypes: { - '#withLabelValues':: d.func.new( - 'Construct a Prometheus template variable using `label_values()`.', - args=[ - d.arg('label', d.T.string), - d.arg('metric', d.T.string, default=''), - ] - ), - withLabelValues(label, metric=''): - if metric == '' - then var.withQuery('label_values(%s)' % label) - else var.withQuery('label_values(%s, %s)' % [metric, label]), - }, - - // Deliberately undocumented, use `refresh` below - withRefresh(value): { - // 1 - On dashboard load - // 2 - On time range chagne - refresh: value, - }, - - local withRefresh = self.withRefresh, - refresh+: { - '#onLoad':: d.func.new( - 'Refresh label values on dashboard load.' - ), - onLoad(): withRefresh(1), - - '#onTime':: d.func.new( - 'Refresh label values on time range change.' - ), - onTime(): withRefresh(2), - }, - }, - - custom: - generalOptions - + selectionOptions - + { - '#new':: d.func.new( - ||| - `new` creates a custom template variable. - - The `values` array accepts an object with key/value keys, if it's not an object - then it will be added as a string. - - Example: - ``` - [ - { key: 'mykey', value: 'myvalue' }, - 'myvalue', - 12, - ] - |||, - args=[ - d.arg('name', d.T.string), - d.arg('values', d.T.array), - ] - ), - new(name, values): - var.withName(name) - + var.withType('custom') - + { - // Make values array available in jsonnet - values:: [ - if !std.isObject(item) - then { - key: std.toString(item), - value: std.toString(item), - } - else item - for item in values - ], - - // Render query from values array - query: - std.join(',', [ - std.join(' : ', [item.key, item.value]) - for item in self.values - ]), - - // Set current/options - current: - util.dashboard.getCurrentFromValues( - self.values, - std.get(self, 'multi', false) - ), - options: util.dashboard.getOptionsFromValues(self.values), - }, - - withQuery(query): { - values:: util.dashboard.parseCustomQuery(query), - query: query, - }, - }, - - textbox: - generalOptions - + { - '#new':: d.func.new( - '`new` creates a textbox template variable.', - args=[ - d.arg('name', d.T.string), - d.arg('default', d.T.string, default=''), - ] - ), - new(name, default=''): - var.withName(name) - + var.withType('textbox') - + { - local this = self, - default:: default, - query: self.default, - - // Set current/options - keyvaluedict:: [{ key: this.query, value: this.query }], - current: - util.dashboard.getCurrentFromValues( - self.keyvaluedict, - std.get(self, 'multi', false) - ), - options: util.dashboard.getOptionsFromValues(self.keyvaluedict), - }, - }, - - constant: - generalOptions - + { - '#new':: d.func.new( - '`new` creates a hidden constant template variable.', - args=[ - d.arg('name', d.T.string), - d.arg('value', d.T.string), - ] - ), - new(name, value=''): - var.withName(name) - + var.withType('constant') - + var.withHide(2) - + var.withQuery(value), - }, - - datasource: - generalOptions - + selectionOptions - + { - '#new':: d.func.new( - '`new` creates a datasource template variable.', - args=[ - d.arg('name', d.T.string), - d.arg('type', d.T.string), - ] - ), - new(name, type): - var.withName(name) - + var.withType('datasource') - + var.withQuery(type), - - '#withRegex':: d.func.new( - ||| - `withRegex` filter for which data source instances to choose from in the - variable value list. Example: `/^prod/` - |||, - args=[ - d.arg('value', d.T.string), - ] - ), - withRegex(value): { - regex: value, - }, - }, - - interval: - generalOptions - + { - '#new':: d.func.new( - '`new` creates an interval template variable.', - args=[ - d.arg('name', d.T.string), - d.arg('values', d.T.array), - ] - ), - new(name, values): - var.withName(name) - + var.withType('interval') - + { - // Make values array available in jsonnet - values:: values, - // Render query from values array - query: std.join(',', self.values), - - // Set current/options - keyvaluedict:: [ - { - key: item, - value: item, - } - for item in values - ], - current: - util.dashboard.getCurrentFromValues( - self.keyvaluedict, - std.get(self, 'multi', false) - ), - options: util.dashboard.getOptionsFromValues(self.keyvaluedict), - }, - - - '#withAutoOption':: d.func.new( - ||| - `withAutoOption` adds an options to dynamically calculate interval by dividing - time range by the count specified. - - `minInterval' has to be either unit-less or end with one of the following units: - "y, M, w, d, h, m, s, ms". - |||, - args=[ - d.arg('count', d.T.number), - d.arg('minInterval', d.T.string), - ] - ), - withAutoOption(count=30, minInterval='10s'): { - local this = self, - - auto: true, - auto_count: count, - auto_min: minInterval, - - // Add auto item to current/options - keyvaluedict:: - [{ key: 'auto', value: '$__auto_interval_' + this.name }] - + super.keyvaluedict, - }, - }, - - adhoc: - generalOptions - + { - '#new':: d.func.new( - '`new` creates an adhoc template variable for datasource with `type` and `uid`.', - args=[ - d.arg('name', d.T.string), - d.arg('type', d.T.string), - d.arg('uid', d.T.string), - ] - ), - new(name, type, uid): - var.withName(name) - + var.withType('adhoc') - + var.datasource.withType(type) - + var.datasource.withUid(uid), - - '#newFromDatasourceVariable':: d.func.new( - 'Same as `new` but selecting the datasource from another template variable.', - args=[ - d.arg('name', d.T.string), - d.arg('variable', d.T.object), - ] - ), - newFromDatasourceVariable(name, variable): - if variable.type == 'datasource' - then self.new(name, variable.query, '${%s}' % variable.name) - else error "`variable` not of type 'datasource'", - - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet deleted file mode 100644 index 98d2c2354d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/panel.libsonnet +++ /dev/null @@ -1,171 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -// match name/title to reduce diff in docs -local panelNames = { - alertgroups: 'alertGroups', - annolist: 'annotationsList', - barchart: 'barChart', - bargauge: 'barGauge', - dashlist: 'dashboardList', - nodeGraph: 'nodeGraph', - piechart: 'pieChart', - 'state-timeline': 'stateTimeline', - 'status-history': 'statusHistory', - timeseries: 'timeSeries', - xychart: 'xyChart', -}; - -local getPanelName(type) = - std.get(panelNames, type, type); - -{ - '#new':: d.func.new( - 'Creates a new %s panel with a title.' % getPanelName(self.panelOptions.withType().type), - args=[d.arg('title', d.T.string)] - ), - new(title): - self.panelOptions.withTitle(title) - + self.panelOptions.withType() - + self.panelOptions.withPluginVersion() - // Default to Mixed datasource so panels can be datasource agnostic, this - // requires query targets to explicitly set datasource, which is a lot more - // interesting from a reusability standpoint. - + self.queryOptions.withDatasource('datasource', '-- Mixed --'), - - // Backwards compatible entries, ignored in docs - link+: self.panelOptions.link + { '#':: { ignore: true } }, - thresholdStep+: self.standardOptions.threshold.step + { '#':: { ignore: true } }, - transformation+: self.queryOptions.transformation + { '#':: { ignore: true } }, - valueMapping+: self.standardOptions.mapping + { '#':: { ignore: true } }, - fieldOverride+: self.standardOptions.override + { '#':: { ignore: true } }, - - '#gridPos': {}, // use withGridPos instead, a bit more concise. - local gridPos = self.gridPos, - panelOptions+: { - '#withPluginVersion': {}, - - '#withGridPos': d.func.new( - ||| - `withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - - All arguments default to `null`, which means they will remain unchanged or unset. - |||, - args=[ - d.arg('h', d.T.number, default='null'), - d.arg('w', d.T.number, default='null'), - d.arg('x', d.T.number, default='null'), - d.arg('y', d.T.number, default='null'), - ] - ), - withGridPos(h=null, w=null, x=null, y=null): - (if h != null then gridPos.withH(h) else {}) - + (if w != null then gridPos.withW(w) else {}) - + (if x != null then gridPos.withX(x) else {}) - + (if y != null then gridPos.withY(y) else {}), - }, - - '#datasource':: {}, // use withDatasource instead, bit more concise - local datasource = self.datasource, - queryOptions+: { - '#withDatasource':: d.func.new( - ||| - `withDatasource` sets the datasource for all queries in a panel. - - The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - |||, - args=[ - d.arg('type', d.T.string), - d.arg('uid', d.T.string), - ] - ), - withDatasource(type, uid): - datasource.withType(type) - + datasource.withUid(uid), - }, - - standardOptions+: { - threshold+: { step+: { '#':: d.package.newSub('threshold.step', '') } }, - - local overrides = super.override, - local commonOverrideFunctions = { - '#new':: d.fn( - '`new` creates a new override of type `%s`.' % self.type, - args=[ - d.arg('value', d.T.string), - ] - ), - new(value): - overrides.matcher.withId(self.type) - + overrides.matcher.withOptions(value), - - '#withProperty':: d.fn( - ||| - `withProperty` adds a property that needs to be overridden. This function can - be called multiple time, adding more properties. - |||, - args=[ - d.arg('id', d.T.string), - d.arg('value', d.T.any), - ] - ), - withProperty(id, value): - overrides.withPropertiesMixin([ - overrides.properties.withId(id) - + overrides.properties.withValue(value), - ]), - - '#withPropertiesFromOptions':: d.fn( - ||| - `withPropertiesFromOptions` takes an object with properties that need to be - overridden. See example code above. - |||, - args=[ - d.arg('options', d.T.object), - ] - ), - withPropertiesFromOptions(options): - local infunc(input, path=[]) = - std.foldl( - function(acc, p) - acc + ( - if p == 'custom' - then infunc(input[p], path=path + [p]) - else - overrides.withPropertiesMixin([ - overrides.properties.withId(std.join('.', path + [p])) - + overrides.properties.withValue(input[p]), - ]) - ), - std.objectFields(input), - {} - ); - infunc(options.fieldConfig.defaults), - }, - - override: - { - '#':: d.package.newSub( - 'override', - ||| - Overrides allow you to customize visualization settings for specific fields or - series. This is accomplished by adding an override rule that targets - a particular set of fields and that can each define multiple options. - - ```jsonnet - override.byType.new('number') - + override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') - ) - ``` - ||| - ), - byName: commonOverrideFunctions + { type:: 'byName' }, - byRegexp: commonOverrideFunctions + { type:: 'byRegexp' }, - byType: commonOverrideFunctions + { type:: 'byType' }, - byQuery: commonOverrideFunctions + { type:: 'byQuery' }, - // TODO: byValue takes more complex `options` than string - byValue: commonOverrideFunctions + { type:: 'byValue' }, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet deleted file mode 100644 index 9c19f83518..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/loki.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#new':: d.func.new( - 'Creates a new loki query target for panels.', - args=[ - d.arg('datasource', d.T.string), - d.arg('expr', d.T.string), - ] - ), - new(datasource, expr): - self.withDatasource(datasource) - + self.withExpr(expr), - - '#withDatasource':: d.func.new( - 'Set the datasource for this query.', - args=[ - d.arg('value', d.T.string), - ] - ), - withDatasource(value): { - datasource+: { - type: 'loki', - uid: value, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet deleted file mode 100644 index 3abe221280..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/prometheus.libsonnet +++ /dev/null @@ -1,47 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#new':: d.func.new( - 'Creates a new prometheus query target for panels.', - args=[ - d.arg('datasource', d.T.string), - d.arg('expr', d.T.string), - ] - ), - new(datasource, expr): - self.withDatasource(datasource) - + self.withExpr(expr), - - '#withIntervalFactor':: d.func.new( - 'Set the interval factor for this query.', - args=[ - d.arg('value', d.T.string), - ] - ), - withIntervalFactor(value): { - intervalFactor: value, - }, - - '#withLegendFormat':: d.func.new( - 'Set the legend format for this query.', - args=[ - d.arg('value', d.T.string), - ] - ), - withLegendFormat(value): { - legendFormat: value, - }, - - '#withDatasource':: d.func.new( - 'Set the datasource for this query.', - args=[ - d.arg('value', d.T.string), - ] - ), - withDatasource(value): { - datasource+: { - type: 'prometheus', - uid: value, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet deleted file mode 100644 index debcb73aac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/query/tempo.libsonnet +++ /dev/null @@ -1,29 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#new':: d.func.new( - 'Creates a new tempo query target for panels.', - args=[ - d.arg('datasource', d.T.string), - d.arg('query', d.T.string), - d.arg('filters', d.T.array), - ] - ), - new(datasource, query, filters): - self.withDatasource(datasource) - + self.withQuery(query) - + self.withFilters(filters), - - '#withDatasource':: d.func.new( - 'Set the datasource for this query.', - args=[ - d.arg('value', d.T.string), - ] - ), - withDatasource(value): { - datasource+: { - type: 'tempo', - uid: value, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet deleted file mode 100644 index cf0b333cf3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/row.libsonnet +++ /dev/null @@ -1,11 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#new':: d.func.new( - 'Creates a new row panel with a title.', - args=[d.arg('title', d.T.string)] - ), - new(title): - self.withTitle(title) - + self.withType(), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet deleted file mode 100644 index da7b2c8d0b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/dashboard.libsonnet +++ /dev/null @@ -1,55 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; -local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; - -{ - local root = self, - - '#getOptionsForCustomQuery':: d.func.new( - ||| - `getOptionsForCustomQuery` provides values for the `options` and `current` fields. - These are required for template variables of type 'custom'but do not automatically - get populated by Grafana when importing a dashboard from JSON. - - This is a bit of a hack and should always be called on functions that set `type` on - a template variable. Ideally Grafana populates these fields from the `query` value - but this provides a backwards compatible solution. - |||, - args=[d.arg('query', d.T.string)], - ), - getOptionsForCustomQuery(query, multi): { - local values = root.parseCustomQuery(query), - current: root.getCurrentFromValues(values, multi), - options: root.getOptionsFromValues(values), - }, - - getCurrentFromValues(values, multi): { - selected: false, - text: if multi then [values[0].key] else values[0].key, - value: if multi then [values[0].value] else values[0].value, - }, - - getOptionsFromValues(values): - std.mapWithIndex( - function(i, item) { - selected: i == 0, - text: item.key, - value: item.value, - }, - values - ), - - parseCustomQuery(query): - std.map( - function(v) - // Split items into key:value pairs - local split = std.splitLimit(v, ' : ', 1); - { - key: std.stripChars(split[0], ' '), - value: - if std.length(split) == 2 - then std.stripChars(split[1], ' ') - else self.key, - }, - xtd.string.splitEscape(query, ',') // Split query by comma, unless the comma is escaped - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet deleted file mode 100644 index 92f011a689..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/grid.libsonnet +++ /dev/null @@ -1,231 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - local root = self, - - local rowPanelHeight = 1, - local gridWidth = 24, - - // Calculates the number of rows for a set of panels. - countRows(panels, panelWidth): - std.ceil(std.length(panels) / std.floor(gridWidth / panelWidth)), - - // Calculates gridPos for a panel based on its index, width and height. - gridPosForIndex(index, panelWidth, panelHeight, startY): { - local panelsPerRow = std.floor(gridWidth / panelWidth), - local row = std.floor(index / panelsPerRow), - local col = std.mod(index, panelsPerRow), - gridPos: { - w: panelWidth, - h: panelHeight, - x: panelWidth * col, - y: startY + (panelHeight * row) + row, - }, - }, - - // Configures gridPos for each panel in a grid with equal width and equal height. - makePanelGrid(panels, panelWidth, panelHeight, startY): - std.mapWithIndex( - function(i, panel) - panel + root.gridPosForIndex(i, panelWidth, panelHeight, startY), - panels - ), - - '#makeGrid':: d.func.new( - ||| - `makeGrid` returns an array of `panels` organized in a grid with equal `panelWidth` - and `panelHeight`. Row panels are used as "linebreaks", if a Row panel is collapsed, - then all panels below it will be folded into the row. - - This function will use the full grid of 24 columns, setting `panelWidth` to a value - that can divide 24 into equal parts will fill up the page nicely. (1, 2, 3, 4, 6, 8, 12) - Other value for `panelWidth` will leave a gap on the far right. - - Optional `startY` can be provided to place generated grid above or below existing panels. - |||, - args=[ - d.arg('panels', d.T.array), - d.arg('panelWidth', d.T.number), - d.arg('panelHeight', d.T.number), - d.arg('startY', d.T.number), - ], - ), - makeGrid(panels, panelWidth=8, panelHeight=8, startY=0): - // Get indexes for all Row panels - local rowIndexes = [ - i - for i in std.range(0, std.length(panels) - 1) - if panels[i].type == 'row' - ]; - - // Group panels below each Row panel - local rowGroups = - std.mapWithIndex( - function(i, r) { - header: - { - // Set initial values to ensure a value is set - // may be overridden at per Row panel - collapsed: false, - panels: [], - } - + panels[r], - panels: - self.header.panels // prepend panels that are part of the Row panel - + (if i == std.length(rowIndexes) - 1 // last rowIndex - then panels[r + 1:] - else panels[r + 1:rowIndexes[i + 1]]), - rows: root.countRows(self.panels, panelWidth), - }, - rowIndexes - ); - - // Loop over rowGroups - std.foldl( - function(acc, rowGroup) acc + { - local y = acc.nexty, - nexty: y // previous y - + (rowGroup.rows * panelHeight) // height of all rows - + rowGroup.rows // plus 1 for each row - + acc.lastRowPanelHeight, - - lastRowPanelHeight: rowPanelHeight, // set height for next round - - // Create a grid per group - local panels = root.makePanelGrid(rowGroup.panels, panelWidth, panelHeight, y + 1), - - panels+: - [ - // Add row header aka the Row panel - rowGroup.header + { - gridPos: { - w: gridWidth, // always full length - h: rowPanelHeight, // always 1 height - x: 0, // always at beginning - y: y, - }, - panels: - // If row is collapsed, then store panels inside Row panel - if rowGroup.header.collapsed - then panels - else [], - }, - ] - + ( - // If row is not collapsed, then expose panels directly - if !rowGroup.header.collapsed - then panels - else [] - ), - }, - rowGroups, - { - // Get panels that come before the rowGroups - local panelsBeforeRowGroups = - if std.length(rowIndexes) != 0 - then panels[0:rowIndexes[0]] - else panels, // matches all panels if no Row panels found - local rows = root.countRows(panelsBeforeRowGroups, panelWidth), - nexty: startY + (rows * panelHeight) + rows, - - lastRowPanelHeight: 0, // starts without a row panel - - // Create a grid for the panels that come before the rowGroups - panels: root.makePanelGrid(panelsBeforeRowGroups, panelWidth, panelHeight, startY), - } - ).panels, - - '#wrapPanels':: d.func.new( - ||| - `wrapPanels` returns an array of `panels` organized in a grid, wrapping up to next 'row' if total width exceeds full grid of 24 columns. - 'panelHeight' and 'panelWidth' are used unless panels already have height and width defined. - |||, - args=[ - d.arg('panels', d.T.array), - d.arg('panelWidth', d.T.number), - d.arg('panelHeight', d.T.number), - d.arg('startY', d.T.number), - ], - ), - wrapPanels(panels, panelWidth=8, panelHeight=8, startY=0): - std.foldl( - function(acc, panel) - if panel.type == 'row' - then - // when type=row, start new row immediatly and shift Y of new row by max height recorded - acc + { - panels+: [ - panel + { - gridPos+: - { - x: acc.cursor.x, - y: acc.cursor.y + acc.cursor.maxH, - w: 0, - h: 1, - }, - }, - ], - cursor:: { - x: 0, - y: acc.cursor.y + acc.cursor.maxH + 1, - maxH: 0, - }, - } - else - // handle regular panel - local gridPos = std.get(panel, 'gridPos', {}); - local width = std.get(gridPos, 'w', panelWidth); - local height = std.get(gridPos, 'h', panelHeight); - if acc.cursor.x + width > gridWidth - then - // start new row as width exceeds gridWidth - acc + { - panels+: [ - panel + { - gridPos+: - { - x: 0, - y: acc.cursor.y + height, - w: width, - h: height, - }, - }, - ], - cursor+:: { - x: 0 + width, - y: acc.cursor.y + height, - maxH: if height > super.maxH then height else super.maxH, - }, - } - else - // enough width, place panel on current row - acc + { - panels+: [ - panel + { - gridPos+: - { - x: acc.cursor.x, - y: acc.cursor.y, - w: width, - h: height, - }, - }, - ], - cursor+:: { - x: acc.cursor.x + width, - y: acc.cursor.y, - maxH: if height > super.maxH then height else super.maxH, - }, - }, - panels, - // Initial value for acc - { - panels: [], - cursor:: { - x: 0, - y: startY, - maxH: 0, // max height of current 'row' - }, - } - ).panels, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet deleted file mode 100644 index 78fe95fc20..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/main.libsonnet +++ /dev/null @@ -1,9 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - '#': d.package.newSub('util', 'Helper functions that work well with Grafonnet.'), - dashboard: (import './dashboard.libsonnet'), - grid: (import './grid.libsonnet'), - panel: (import './panel.libsonnet'), - string: (import './string.libsonnet'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet deleted file mode 100644 index 1191b23c84..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/panel.libsonnet +++ /dev/null @@ -1,51 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; - -{ - local this = self, - - '#setPanelIDs':: d.func.new( - ||| - `setPanelIDs` ensures that all `panels` have a unique ID, this functions is used in - `dashboard.withPanels` and `dashboard.withPanelsMixin` to provide a consistent - experience. - - used in ../dashboard.libsonnet - |||, - args=[ - d.arg('panels', d.T.array), - ] - ), - setPanelIDs(panels): - local infunc(panels, start=1) = - std.foldl( - function(acc, panel) - acc + { - index: // Track the index to ensure no duplicates exist. - acc.index - + 1 - + (if panel.type == 'row' - && 'panels' in panel - then std.length(panel.panels) - else 0), - - panels+: [ - panel + { id: acc.index } - + ( - if panel.type == 'row' - && 'panels' in panel - then { - panels: - infunc( - panel.panels, - acc.index + 1 - ), - } - else {} - ), - ], - }, - panels, - { index: start, panels: [] } - ).panels; - infunc(panels), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet deleted file mode 100644 index ec5a66e429..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/custom/util/string.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; -local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; - -{ - '#slugify':: d.func.new( - ||| - `slugify` will create a simple slug from `string`, keeping only alphanumeric - characters and replacing spaces with dashes. - |||, - args=[d.arg('string', d.T.string)] - ), - slugify(string): - std.strReplace( - std.asciiLower( - std.join('', [ - string[i] - for i in std.range(0, std.length(string) - 1) - if xtd.ascii.isUpper(string[i]) - || xtd.ascii.isLower(string[i]) - || xtd.ascii.isNumber(string[i]) - || string[i] == ' ' - ]) - ), - ' ', - '-', - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md deleted file mode 100644 index 161f1e4341..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# grafonnet - -Jsonnet library for rendering Grafana resources -## Install - -``` -jb install github.com/grafana/grafonnet/gen/grafonnet-v10.0.0@main -``` - -## Usage - -```jsonnet -local grafonnet = import "github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet" -``` - - -## Subpackages - -* [alerting](alerting/index.md) -* [dashboard](dashboard/index.md) -* [librarypanel](librarypanel.md) -* [panel](panel/index.md) -* [playlist](playlist/index.md) -* [preferences](preferences.md) -* [publicdashboard](publicdashboard.md) -* [query](query/index.md) -* [serviceaccount](serviceaccount.md) -* [team](team.md) -* [util](util.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md deleted file mode 100644 index b796b0c1b8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/contactPoint.md +++ /dev/null @@ -1,100 +0,0 @@ -# contactPoint - -grafonnet.alerting.contactPoint - -**NOTE**: The schemas for all different contact points is under development, this means we can't properly express them in Grafonnet yet. The way this works now may change heavily. - - -## Index - -* [`fn withDisableResolveMessage(value=true)`](#fn-withdisableresolvemessage) -* [`fn withName(value)`](#fn-withname) -* [`fn withProvenance(value)`](#fn-withprovenance) -* [`fn withSettings(value)`](#fn-withsettings) -* [`fn withSettingsMixin(value)`](#fn-withsettingsmixin) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUid(value)`](#fn-withuid) - -## Fields - -### fn withDisableResolveMessage - -```jsonnet -withDisableResolveMessage(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name is used as grouping key in the UI. Contact points with the -same name will be grouped in the UI. -### fn withProvenance - -```jsonnet -withProvenance(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withSettings - -```jsonnet -withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withSettingsMixin - -```jsonnet -withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"alertmanager"`, `" dingding"`, `" discord"`, `" email"`, `" googlechat"`, `" kafka"`, `" line"`, `" opsgenie"`, `" pagerduty"`, `" pushover"`, `" sensugo"`, `" slack"`, `" teams"`, `" telegram"`, `" threema"`, `" victorops"`, `" webhook"`, `" wecom"` - - -### fn withUid - -```jsonnet -withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -UID is the unique identifier of the contact point. The UID can be -set by the user. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md deleted file mode 100644 index b77a82d09f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/index.md +++ /dev/null @@ -1,11 +0,0 @@ -# alerting - -grafonnet.alerting - -## Subpackages - -* [contactPoint](contactPoint.md) -* [messageTemplate](messageTemplate.md) -* [muteTiming](muteTiming/index.md) -* [notificationPolicy](notificationPolicy/index.md) -* [ruleGroup](ruleGroup/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md deleted file mode 100644 index df7c233361..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/messageTemplate.md +++ /dev/null @@ -1,32 +0,0 @@ -# messageTemplate - -grafonnet.alerting.messageTemplate - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withTemplate(value)`](#fn-withtemplate) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTemplate - -```jsonnet -withTemplate(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md deleted file mode 100644 index 3aee846bb2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/index.md +++ /dev/null @@ -1,48 +0,0 @@ -# muteTiming - -grafonnet.alerting.muteTiming - -## Subpackages - -* [interval](interval/index.md) - -## Index - -* [`fn withIntervals(value)`](#fn-withintervals) -* [`fn withIntervalsMixin(value)`](#fn-withintervalsmixin) -* [`fn withName(value)`](#fn-withname) - -## Fields - -### fn withIntervals - -```jsonnet -withIntervals(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withIntervalsMixin - -```jsonnet -withIntervalsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md deleted file mode 100644 index aecdd1d920..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/index.md +++ /dev/null @@ -1,144 +0,0 @@ -# interval - - - -## Subpackages - -* [times](times.md) - -## Index - -* [`fn withDaysOfMonth(value)`](#fn-withdaysofmonth) -* [`fn withDaysOfMonthMixin(value)`](#fn-withdaysofmonthmixin) -* [`fn withLocation(value)`](#fn-withlocation) -* [`fn withMonths(value)`](#fn-withmonths) -* [`fn withMonthsMixin(value)`](#fn-withmonthsmixin) -* [`fn withTimes(value)`](#fn-withtimes) -* [`fn withTimesMixin(value)`](#fn-withtimesmixin) -* [`fn withWeekdays(value)`](#fn-withweekdays) -* [`fn withWeekdaysMixin(value)`](#fn-withweekdaysmixin) -* [`fn withYears(value)`](#fn-withyears) -* [`fn withYearsMixin(value)`](#fn-withyearsmixin) - -## Fields - -### fn withDaysOfMonth - -```jsonnet -withDaysOfMonth(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withDaysOfMonthMixin - -```jsonnet -withDaysOfMonthMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withLocation - -```jsonnet -withLocation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withMonths - -```jsonnet -withMonths(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withMonthsMixin - -```jsonnet -withMonthsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTimes - -```jsonnet -withTimes(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTimesMixin - -```jsonnet -withTimesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withWeekdays - -```jsonnet -withWeekdays(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withWeekdaysMixin - -```jsonnet -withWeekdaysMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withYears - -```jsonnet -withYears(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withYearsMixin - -```jsonnet -withYearsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md deleted file mode 100644 index 43f7b3fe91..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/muteTiming/interval/times.md +++ /dev/null @@ -1,32 +0,0 @@ -# times - - - -## Index - -* [`fn withFrom(value)`](#fn-withfrom) -* [`fn withTo(value)`](#fn-withto) - -## Fields - -### fn withFrom - -```jsonnet -withFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTo - -```jsonnet -withTo(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md deleted file mode 100644 index cb4aa0a984..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/index.md +++ /dev/null @@ -1,173 +0,0 @@ -# notificationPolicy - -grafonnet.alerting.notificationPolicy - -## Subpackages - -* [matcher](matcher.md) - -## Index - -* [`fn withContactPoint(value)`](#fn-withcontactpoint) -* [`fn withContinue(value=true)`](#fn-withcontinue) -* [`fn withGroupBy(value)`](#fn-withgroupby) -* [`fn withGroupByMixin(value)`](#fn-withgroupbymixin) -* [`fn withGroupInterval(value)`](#fn-withgroupinterval) -* [`fn withGroupWait(value)`](#fn-withgroupwait) -* [`fn withMatchers(value)`](#fn-withmatchers) -* [`fn withMatchersMixin(value)`](#fn-withmatchersmixin) -* [`fn withMuteTimeIntervals(value)`](#fn-withmutetimeintervals) -* [`fn withMuteTimeIntervalsMixin(value)`](#fn-withmutetimeintervalsmixin) -* [`fn withPolicy(value)`](#fn-withpolicy) -* [`fn withPolicyMixin(value)`](#fn-withpolicymixin) -* [`fn withRepeatInterval(value)`](#fn-withrepeatinterval) - -## Fields - -### fn withContactPoint - -```jsonnet -withContactPoint(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withContinue - -```jsonnet -withContinue(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withGroupBy - -```jsonnet -withGroupBy(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withGroupByMixin - -```jsonnet -withGroupByMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withGroupInterval - -```jsonnet -withGroupInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withGroupWait - -```jsonnet -withGroupWait(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withMatchers - -```jsonnet -withMatchers(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Matchers is a slice of Matchers that is sortable, implements Stringer, and -provides a Matches method to match a LabelSet against all Matchers in the -slice. Note that some users of Matchers might require it to be sorted. -### fn withMatchersMixin - -```jsonnet -withMatchersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Matchers is a slice of Matchers that is sortable, implements Stringer, and -provides a Matches method to match a LabelSet against all Matchers in the -slice. Note that some users of Matchers might require it to be sorted. -### fn withMuteTimeIntervals - -```jsonnet -withMuteTimeIntervals(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withMuteTimeIntervalsMixin - -```jsonnet -withMuteTimeIntervalsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPolicy - -```jsonnet -withPolicy(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPolicyMixin - -```jsonnet -withPolicyMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withRepeatInterval - -```jsonnet -withRepeatInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md deleted file mode 100644 index f31b1d85b2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/notificationPolicy/matcher.md +++ /dev/null @@ -1,45 +0,0 @@ -# matcher - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withType(value)`](#fn-withtype) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"="`, `"!="`, `"=~"`, `"!~"` - -MatchType is an enum for label matching types. -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md deleted file mode 100644 index 21d94b5fab..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/index.md +++ /dev/null @@ -1,72 +0,0 @@ -# ruleGroup - -grafonnet.alerting.ruleGroup - -## Subpackages - -* [rule](rule/index.md) - -## Index - -* [`fn withFolderUid(value)`](#fn-withfolderuid) -* [`fn withInterval(value)`](#fn-withinterval) -* [`fn withName(value)`](#fn-withname) -* [`fn withRules(value)`](#fn-withrules) -* [`fn withRulesMixin(value)`](#fn-withrulesmixin) - -## Fields - -### fn withFolderUid - -```jsonnet -withFolderUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withInterval - -```jsonnet -withInterval(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withRules - -```jsonnet -withRules(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withRulesMixin - -```jsonnet -withRulesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md deleted file mode 100644 index 0c6052003c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/data.md +++ /dev/null @@ -1,128 +0,0 @@ -# data - - - -## Index - -* [`fn withDatasourceUid(value)`](#fn-withdatasourceuid) -* [`fn withModel(value)`](#fn-withmodel) -* [`fn withModelMixin(value)`](#fn-withmodelmixin) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withRelativeTimeRange(value)`](#fn-withrelativetimerange) -* [`fn withRelativeTimeRangeMixin(value)`](#fn-withrelativetimerangemixin) -* [`obj relativeTimeRange`](#obj-relativetimerange) - * [`fn withFrom(value)`](#fn-relativetimerangewithfrom) - * [`fn withTo(value)`](#fn-relativetimerangewithto) - -## Fields - -### fn withDatasourceUid - -```jsonnet -withDatasourceUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation. -### fn withModel - -```jsonnet -withModel(value) -``` - -PARAMETERS: - -* **value** (`object`) - -JSON is the raw JSON query and includes the above properties as well as custom properties. -### fn withModelMixin - -```jsonnet -withModelMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -JSON is the raw JSON query and includes the above properties as well as custom properties. -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -QueryType is an optional identifier for the type of query. -It can be used to distinguish different types of queries. -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -RefID is the unique identifier of the query, set by the frontend call. -### fn withRelativeTimeRange - -```jsonnet -withRelativeTimeRange(value) -``` - -PARAMETERS: - -* **value** (`object`) - -RelativeTimeRange is the per query start and end time -for requests. -### fn withRelativeTimeRangeMixin - -```jsonnet -withRelativeTimeRangeMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -RelativeTimeRange is the per query start and end time -for requests. -### obj relativeTimeRange - - -#### fn relativeTimeRange.withFrom - -```jsonnet -relativeTimeRange.withFrom(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -A Duration represents the elapsed time between two instants -as an int64 nanosecond count. The representation limits the -largest representable duration to approximately 290 years. -#### fn relativeTimeRange.withTo - -```jsonnet -relativeTimeRange.withTo(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -A Duration represents the elapsed time between two instants -as an int64 nanosecond count. The representation limits the -largest representable duration to approximately 290 years. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md deleted file mode 100644 index e93787c028..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/alerting/ruleGroup/rule/index.md +++ /dev/null @@ -1,161 +0,0 @@ -# rule - - - -## Subpackages - -* [data](data.md) - -## Index - -* [`fn withAnnotations(value)`](#fn-withannotations) -* [`fn withAnnotationsMixin(value)`](#fn-withannotationsmixin) -* [`fn withCondition(value)`](#fn-withcondition) -* [`fn withData(value)`](#fn-withdata) -* [`fn withDataMixin(value)`](#fn-withdatamixin) -* [`fn withExecErrState(value)`](#fn-withexecerrstate) -* [`fn withFor(value)`](#fn-withfor) -* [`fn withIsPaused(value=true)`](#fn-withispaused) -* [`fn withLabels(value)`](#fn-withlabels) -* [`fn withLabelsMixin(value)`](#fn-withlabelsmixin) -* [`fn withName(value)`](#fn-withname) -* [`fn withNoDataState(value)`](#fn-withnodatastate) - -## Fields - -### fn withAnnotations - -```jsonnet -withAnnotations(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withAnnotationsMixin - -```jsonnet -withAnnotationsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withCondition - -```jsonnet -withCondition(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withData - -```jsonnet -withData(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withDataMixin - -```jsonnet -withDataMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withExecErrState - -```jsonnet -withExecErrState(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"OK"`, `"Alerting"`, `"Error"` - - -### fn withFor - -```jsonnet -withFor(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -A Duration represents the elapsed time between two instants -as an int64 nanosecond count. The representation limits the -largest representable duration to approximately 290 years. -### fn withIsPaused - -```jsonnet -withIsPaused(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withLabels - -```jsonnet -withLabels(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLabelsMixin - -```jsonnet -withLabelsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withNoDataState - -```jsonnet -withNoDataState(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Alerting"`, `"NoData"`, `"OK"` - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md deleted file mode 100644 index d486ab0fb8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/annotation.md +++ /dev/null @@ -1,285 +0,0 @@ -# annotation - - - -## Index - -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withDatasourceMixin(value)`](#fn-withdatasourcemixin) -* [`fn withEnable(value=true)`](#fn-withenable) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withIconColor(value)`](#fn-withiconcolor) -* [`fn withName(value)`](#fn-withname) -* [`fn withTarget(value)`](#fn-withtarget) -* [`fn withTargetMixin(value)`](#fn-withtargetmixin) -* [`fn withType(value)`](#fn-withtype) -* [`obj datasource`](#obj-datasource) - * [`fn withType(value)`](#fn-datasourcewithtype) - * [`fn withUid(value)`](#fn-datasourcewithuid) -* [`obj filter`](#obj-filter) - * [`fn withExclude(value=true)`](#fn-filterwithexclude) - * [`fn withIds(value)`](#fn-filterwithids) - * [`fn withIdsMixin(value)`](#fn-filterwithidsmixin) -* [`obj target`](#obj-target) - * [`fn withLimit(value)`](#fn-targetwithlimit) - * [`fn withMatchAny(value=true)`](#fn-targetwithmatchany) - * [`fn withTags(value)`](#fn-targetwithtags) - * [`fn withTagsMixin(value)`](#fn-targetwithtagsmixin) - * [`fn withType(value)`](#fn-targetwithtype) - -## Fields - -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: Should be DataSourceRef -### fn withDatasourceMixin - -```jsonnet -withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: Should be DataSourceRef -### fn withEnable - -```jsonnet -withEnable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -When enabled the annotation query is issued with every dashboard refresh -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Annotation queries can be toggled on or off at the top of the dashboard. -When hide is true, the toggle is not shown in the dashboard. -### fn withIconColor - -```jsonnet -withIconColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Color to use for the annotation event markers -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of annotation. -### fn withTarget - -```jsonnet -withTarget(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: this should be a regular DataQuery that depends on the selected dashboard -these match the properties of the "grafana" datasouce that is default in most dashboards -### fn withTargetMixin - -```jsonnet -withTargetMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: this should be a regular DataQuery that depends on the selected dashboard -these match the properties of the "grafana" datasouce that is default in most dashboards -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO -- this should not exist here, it is based on the --grafana-- datasource -### obj datasource - - -#### fn datasource.withType - -```jsonnet -datasource.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn datasource.withUid - -```jsonnet -datasource.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj filter - - -#### fn filter.withExclude - -```jsonnet -filter.withExclude(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Should the specified panels be included or excluded -#### fn filter.withIds - -```jsonnet -filter.withIds(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel IDs that should be included or excluded -#### fn filter.withIdsMixin - -```jsonnet -filter.withIdsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel IDs that should be included or excluded -### obj target - - -#### fn target.withLimit - -```jsonnet -target.withLimit(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Only required/valid for the grafana datasource... -but code+tests is already depending on it so hard to change -#### fn target.withMatchAny - -```jsonnet -target.withMatchAny(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Only required/valid for the grafana datasource... -but code+tests is already depending on it so hard to change -#### fn target.withTags - -```jsonnet -target.withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Only required/valid for the grafana datasource... -but code+tests is already depending on it so hard to change -#### fn target.withTagsMixin - -```jsonnet -target.withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Only required/valid for the grafana datasource... -but code+tests is already depending on it so hard to change -#### fn target.withType - -```jsonnet -target.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Only required/valid for the grafana datasource... -but code+tests is already depending on it so hard to change \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md deleted file mode 100644 index bb0a284dc0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/index.md +++ /dev/null @@ -1,517 +0,0 @@ -# dashboard - -grafonnet.dashboard - -## Subpackages - -* [annotation](annotation.md) -* [link](link.md) -* [variable](variable.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`fn withAnnotations(value)`](#fn-withannotations) -* [`fn withAnnotationsMixin(value)`](#fn-withannotationsmixin) -* [`fn withDescription(value)`](#fn-withdescription) -* [`fn withEditable(value=true)`](#fn-witheditable) -* [`fn withFiscalYearStartMonth(value=0)`](#fn-withfiscalyearstartmonth) -* [`fn withLinks(value)`](#fn-withlinks) -* [`fn withLinksMixin(value)`](#fn-withlinksmixin) -* [`fn withLiveNow(value=true)`](#fn-withlivenow) -* [`fn withPanels(value)`](#fn-withpanels) -* [`fn withPanelsMixin(value)`](#fn-withpanelsmixin) -* [`fn withRefresh(value)`](#fn-withrefresh) -* [`fn withRefreshMixin(value)`](#fn-withrefreshmixin) -* [`fn withSchemaVersion(value=36)`](#fn-withschemaversion) -* [`fn withStyle(value="dark")`](#fn-withstyle) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTemplating(value)`](#fn-withtemplating) -* [`fn withTemplatingMixin(value)`](#fn-withtemplatingmixin) -* [`fn withTimezone(value="browser")`](#fn-withtimezone) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withUid(value)`](#fn-withuid) -* [`fn withVariables(value)`](#fn-withvariables) -* [`fn withVariablesMixin(value)`](#fn-withvariablesmixin) -* [`fn withWeekStart(value)`](#fn-withweekstart) -* [`obj graphTooltip`](#obj-graphtooltip) - * [`fn withSharedCrosshair()`](#fn-graphtooltipwithsharedcrosshair) - * [`fn withSharedTooltip()`](#fn-graphtooltipwithsharedtooltip) -* [`obj time`](#obj-time) - * [`fn withFrom(value="now-6h")`](#fn-timewithfrom) - * [`fn withTo(value="now")`](#fn-timewithto) -* [`obj timepicker`](#obj-timepicker) - * [`fn withCollapse(value=true)`](#fn-timepickerwithcollapse) - * [`fn withEnable(value=true)`](#fn-timepickerwithenable) - * [`fn withHidden(value=true)`](#fn-timepickerwithhidden) - * [`fn withRefreshIntervals(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"])`](#fn-timepickerwithrefreshintervals) - * [`fn withRefreshIntervalsMixin(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"])`](#fn-timepickerwithrefreshintervalsmixin) - * [`fn withTimeOptions(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"])`](#fn-timepickerwithtimeoptions) - * [`fn withTimeOptionsMixin(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"])`](#fn-timepickerwithtimeoptionsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new dashboard with a title. -### fn withAnnotations - -```jsonnet -withAnnotations(value) -``` - -PARAMETERS: - -* **value** (`array`) - -`withAnnotations` adds an array of annotations to a dashboard. - -This function appends passed data to existing values - -### fn withAnnotationsMixin - -```jsonnet -withAnnotationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -`withAnnotationsMixin` adds an array of annotations to a dashboard. - -This function appends passed data to existing values - -### fn withDescription - -```jsonnet -withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description of dashboard. -### fn withEditable - -```jsonnet -withEditable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether a dashboard is editable or not. -### fn withFiscalYearStartMonth - -```jsonnet -withFiscalYearStartMonth(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -The month that the fiscal year starts on. 0 = January, 11 = December -### fn withLinks - -```jsonnet -withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. - -`withLinks` takes an array of [link objects](./link.md). - -The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. - -Example: - -```jsonnet -local g = import 'g.libsonnet'; -local link = g.dashboard.link; - -g.dashboard.new('Title dashboard') -+ g.dashboard.withLinks([ - link.link.new('My title', 'https://wikipedia.org/'), -]) -``` - -### fn withLinksMixin - -```jsonnet -withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. - -`withLinks` takes an array of [link objects](./link.md). - -The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. - -Example: - -```jsonnet -local g = import 'g.libsonnet'; -local link = g.dashboard.link; - -g.dashboard.new('Title dashboard') -+ g.dashboard.withLinks([ - link.link.new('My title', 'https://wikipedia.org/'), -]) -``` - -### fn withLiveNow - -```jsonnet -withLiveNow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -When set to true, the dashboard will redraw panels at an interval matching the pixel width. -This will keep data "moving left" regardless of the query refresh rate. This setting helps -avoid dashboards presenting stale live data -### fn withPanels - -```jsonnet -withPanels(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPanelsMixin - -```jsonnet -withPanelsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withRefresh - -```jsonnet -withRefresh(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d". -### fn withRefreshMixin - -```jsonnet -withRefreshMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d". -### fn withSchemaVersion - -```jsonnet -withSchemaVersion(value=36) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `36` - -Version of the JSON schema, incremented each time a Grafana update brings -changes to said schema. -TODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion -### fn withStyle - -```jsonnet -withStyle(value="dark") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"dark"` - - valid values: `"dark"`, `"light"` - -Theme of dashboard. -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Tags associated with dashboard. -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Tags associated with dashboard. -### fn withTemplating - -```jsonnet -withTemplating(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withTemplatingMixin - -```jsonnet -withTemplatingMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withTimezone - -```jsonnet -withTimezone(value="browser") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"browser"` - -Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc". -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Title of dashboard. -### fn withUid - -```jsonnet -withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique dashboard identifier that can be generated by anyone. string (8-40) -### fn withVariables - -```jsonnet -withVariables(value) -``` - -PARAMETERS: - -* **value** (`array`) - -`withVariables` adds an array of variables to a dashboard - -### fn withVariablesMixin - -```jsonnet -withVariablesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -`withVariablesMixin` adds an array of variables to a dashboard. - -This function appends passed data to existing values - -### fn withWeekStart - -```jsonnet -withWeekStart(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### obj graphTooltip - - -#### fn graphTooltip.withSharedCrosshair - -```jsonnet -graphTooltip.withSharedCrosshair() -``` - - -Share crosshair on all panels. -#### fn graphTooltip.withSharedTooltip - -```jsonnet -graphTooltip.withSharedTooltip() -``` - - -Share crosshair and tooltip on all panels. -### obj time - - -#### fn time.withFrom - -```jsonnet -time.withFrom(value="now-6h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"now-6h"` - - -#### fn time.withTo - -```jsonnet -time.withTo(value="now") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"now"` - - -### obj timepicker - - -#### fn timepicker.withCollapse - -```jsonnet -timepicker.withCollapse(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether timepicker is collapsed or not. -#### fn timepicker.withEnable - -```jsonnet -timepicker.withEnable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether timepicker is enabled or not. -#### fn timepicker.withHidden - -```jsonnet -timepicker.withHidden(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether timepicker is visible or not. -#### fn timepicker.withRefreshIntervals - -```jsonnet -timepicker.withRefreshIntervals(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]) -``` - -PARAMETERS: - -* **value** (`array`) - - default value: `["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]` - -Selectable intervals for auto-refresh. -#### fn timepicker.withRefreshIntervalsMixin - -```jsonnet -timepicker.withRefreshIntervalsMixin(value=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]) -``` - -PARAMETERS: - -* **value** (`array`) - - default value: `["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]` - -Selectable intervals for auto-refresh. -#### fn timepicker.withTimeOptions - -```jsonnet -timepicker.withTimeOptions(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"]) -``` - -PARAMETERS: - -* **value** (`array`) - - default value: `["5m","15m","1h","6h","12h","24h","2d","7d","30d"]` - -TODO docs -#### fn timepicker.withTimeOptionsMixin - -```jsonnet -timepicker.withTimeOptionsMixin(value=["5m","15m","1h","6h","12h","24h","2d","7d","30d"]) -``` - -PARAMETERS: - -* **value** (`array`) - - default value: `["5m","15m","1h","6h","12h","24h","2d","7d","30d"]` - -TODO docs \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md deleted file mode 100644 index 75072e581c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/link.md +++ /dev/null @@ -1,195 +0,0 @@ -# link - -Dashboard links are displayed at the top of the dashboard, these can either link to other dashboards or to external URLs. - -The [docs](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/manage-dashboard-links/#dashboard-links) give a more comprehensive description. - -Example: - -```jsonnet -local g = import 'g.libsonnet'; -local link = g.dashboard.link; - -g.dashboard.new('Title dashboard') -+ g.dashboard.withLinks([ - link.link.new('My title', 'https://wikipedia.org/'), -]) -``` - - -## Index - -* [`obj dashboards`](#obj-dashboards) - * [`fn new(title, tags)`](#fn-dashboardsnew) - * [`obj options`](#obj-dashboardsoptions) - * [`fn withAsDropdown(value=true)`](#fn-dashboardsoptionswithasdropdown) - * [`fn withIncludeVars(value=true)`](#fn-dashboardsoptionswithincludevars) - * [`fn withKeepTime(value=true)`](#fn-dashboardsoptionswithkeeptime) - * [`fn withTargetBlank(value=true)`](#fn-dashboardsoptionswithtargetblank) -* [`obj link`](#obj-link) - * [`fn new(title, url)`](#fn-linknew) - * [`fn withIcon(value)`](#fn-linkwithicon) - * [`fn withTooltip(value)`](#fn-linkwithtooltip) - * [`obj options`](#obj-linkoptions) - * [`fn withAsDropdown(value=true)`](#fn-linkoptionswithasdropdown) - * [`fn withIncludeVars(value=true)`](#fn-linkoptionswithincludevars) - * [`fn withKeepTime(value=true)`](#fn-linkoptionswithkeeptime) - * [`fn withTargetBlank(value=true)`](#fn-linkoptionswithtargetblank) - -## Fields - -### obj dashboards - - -#### fn dashboards.new - -```jsonnet -dashboards.new(title, tags) -``` - -PARAMETERS: - -* **title** (`string`) -* **tags** (`array`) - -Create links to dashboards based on `tags`. - -#### obj dashboards.options - - -##### fn dashboards.options.withAsDropdown - -```jsonnet -dashboards.options.withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn dashboards.options.withIncludeVars - -```jsonnet -dashboards.options.withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn dashboards.options.withKeepTime - -```jsonnet -dashboards.options.withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn dashboards.options.withTargetBlank - -```jsonnet -dashboards.options.withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj link - - -#### fn link.new - -```jsonnet -link.new(title, url) -``` - -PARAMETERS: - -* **title** (`string`) -* **url** (`string`) - -Create link to an arbitrary URL. - -#### fn link.withIcon - -```jsonnet -link.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn link.withTooltip - -```jsonnet -link.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj link.options - - -##### fn link.options.withAsDropdown - -```jsonnet -link.options.withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn link.options.withIncludeVars - -```jsonnet -link.options.withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn link.options.withKeepTime - -```jsonnet -link.options.withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn link.options.withTargetBlank - -```jsonnet -link.options.withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md deleted file mode 100644 index 95ea78b86a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/dashboard/variable.md +++ /dev/null @@ -1,1042 +0,0 @@ -# variable - -Example usage: - -```jsonnet -local g = import 'g.libsonnet'; -local var = g.dashboard.variable; - -local customVar = - var.custom.new( - 'myOptions', - values=['a', 'b', 'c', 'd'], - ) - + var.custom.generalOptions.withDescription( - 'This is a variable for my custom options.' - ) - + var.custom.selectionOptions.withMulti(); - -local queryVar = - var.query.new('queryOptions') - + var.query.queryTypes.withLabelValues( - 'up', - 'instance', - ) - + var.query.withDatasource( - type='prometheus', - uid='mimir-prod', - ) - + var.query.selectionOptions.withIncludeAll(); - - -g.dashboard.new('my dashboard') -+ g.dashboard.withVariables([ - customVar, - queryVar, -]) -``` - - -## Index - -* [`obj adhoc`](#obj-adhoc) - * [`fn new(name, type, uid)`](#fn-adhocnew) - * [`fn newFromDatasourceVariable(name, variable)`](#fn-adhocnewfromdatasourcevariable) - * [`obj generalOptions`](#obj-adhocgeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-adhocgeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-adhocgeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-adhocgeneraloptionswithlabel) - * [`fn withName(value)`](#fn-adhocgeneraloptionswithname) - * [`obj showOnDashboard`](#obj-adhocgeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-adhocgeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-adhocgeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-adhocgeneraloptionsshowondashboardwithvalueonly) -* [`obj constant`](#obj-constant) - * [`fn new(name, value)`](#fn-constantnew) - * [`obj generalOptions`](#obj-constantgeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-constantgeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-constantgeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-constantgeneraloptionswithlabel) - * [`fn withName(value)`](#fn-constantgeneraloptionswithname) - * [`obj showOnDashboard`](#obj-constantgeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-constantgeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-constantgeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-constantgeneraloptionsshowondashboardwithvalueonly) -* [`obj custom`](#obj-custom) - * [`fn new(name, values)`](#fn-customnew) - * [`obj generalOptions`](#obj-customgeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-customgeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-customgeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-customgeneraloptionswithlabel) - * [`fn withName(value)`](#fn-customgeneraloptionswithname) - * [`obj showOnDashboard`](#obj-customgeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-customgeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-customgeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-customgeneraloptionsshowondashboardwithvalueonly) - * [`obj selectionOptions`](#obj-customselectionoptions) - * [`fn withIncludeAll(value=true, customAllValue)`](#fn-customselectionoptionswithincludeall) - * [`fn withMulti(value=true)`](#fn-customselectionoptionswithmulti) -* [`obj datasource`](#obj-datasource) - * [`fn new(name, type)`](#fn-datasourcenew) - * [`fn withRegex(value)`](#fn-datasourcewithregex) - * [`obj generalOptions`](#obj-datasourcegeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-datasourcegeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-datasourcegeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-datasourcegeneraloptionswithlabel) - * [`fn withName(value)`](#fn-datasourcegeneraloptionswithname) - * [`obj showOnDashboard`](#obj-datasourcegeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-datasourcegeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-datasourcegeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-datasourcegeneraloptionsshowondashboardwithvalueonly) - * [`obj selectionOptions`](#obj-datasourceselectionoptions) - * [`fn withIncludeAll(value=true, customAllValue)`](#fn-datasourceselectionoptionswithincludeall) - * [`fn withMulti(value=true)`](#fn-datasourceselectionoptionswithmulti) -* [`obj interval`](#obj-interval) - * [`fn new(name, values)`](#fn-intervalnew) - * [`fn withAutoOption(count, minInterval)`](#fn-intervalwithautooption) - * [`obj generalOptions`](#obj-intervalgeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-intervalgeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-intervalgeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-intervalgeneraloptionswithlabel) - * [`fn withName(value)`](#fn-intervalgeneraloptionswithname) - * [`obj showOnDashboard`](#obj-intervalgeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-intervalgeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-intervalgeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-intervalgeneraloptionsshowondashboardwithvalueonly) -* [`obj query`](#obj-query) - * [`fn new(name, query="")`](#fn-querynew) - * [`fn withDatasource(type, uid)`](#fn-querywithdatasource) - * [`fn withDatasourceFromVariable(variable)`](#fn-querywithdatasourcefromvariable) - * [`fn withRegex(value)`](#fn-querywithregex) - * [`fn withSort(i=0, type="alphabetical", asc=true, caseInsensitive=false)`](#fn-querywithsort) - * [`obj generalOptions`](#obj-querygeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-querygeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-querygeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-querygeneraloptionswithlabel) - * [`fn withName(value)`](#fn-querygeneraloptionswithname) - * [`obj showOnDashboard`](#obj-querygeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-querygeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-querygeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-querygeneraloptionsshowondashboardwithvalueonly) - * [`obj queryTypes`](#obj-queryquerytypes) - * [`fn withLabelValues(label, metric="")`](#fn-queryquerytypeswithlabelvalues) - * [`obj refresh`](#obj-queryrefresh) - * [`fn onLoad()`](#fn-queryrefreshonload) - * [`fn onTime()`](#fn-queryrefreshontime) - * [`obj selectionOptions`](#obj-queryselectionoptions) - * [`fn withIncludeAll(value=true, customAllValue)`](#fn-queryselectionoptionswithincludeall) - * [`fn withMulti(value=true)`](#fn-queryselectionoptionswithmulti) -* [`obj textbox`](#obj-textbox) - * [`fn new(name, default="")`](#fn-textboxnew) - * [`obj generalOptions`](#obj-textboxgeneraloptions) - * [`fn withCurrent(key, value="")`](#fn-textboxgeneraloptionswithcurrent) - * [`fn withDescription(value)`](#fn-textboxgeneraloptionswithdescription) - * [`fn withLabel(value)`](#fn-textboxgeneraloptionswithlabel) - * [`fn withName(value)`](#fn-textboxgeneraloptionswithname) - * [`obj showOnDashboard`](#obj-textboxgeneraloptionsshowondashboard) - * [`fn withLabelAndValue()`](#fn-textboxgeneraloptionsshowondashboardwithlabelandvalue) - * [`fn withNothing()`](#fn-textboxgeneraloptionsshowondashboardwithnothing) - * [`fn withValueOnly()`](#fn-textboxgeneraloptionsshowondashboardwithvalueonly) - -## Fields - -### obj adhoc - - -#### fn adhoc.new - -```jsonnet -adhoc.new(name, type, uid) -``` - -PARAMETERS: - -* **name** (`string`) -* **type** (`string`) -* **uid** (`string`) - -`new` creates an adhoc template variable for datasource with `type` and `uid`. -#### fn adhoc.newFromDatasourceVariable - -```jsonnet -adhoc.newFromDatasourceVariable(name, variable) -``` - -PARAMETERS: - -* **name** (`string`) -* **variable** (`object`) - -Same as `new` but selecting the datasource from another template variable. -#### obj adhoc.generalOptions - - -##### fn adhoc.generalOptions.withCurrent - -```jsonnet -adhoc.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn adhoc.generalOptions.withDescription - -```jsonnet -adhoc.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn adhoc.generalOptions.withLabel - -```jsonnet -adhoc.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn adhoc.generalOptions.withName - -```jsonnet -adhoc.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj adhoc.generalOptions.showOnDashboard - - -###### fn adhoc.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -adhoc.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn adhoc.generalOptions.showOnDashboard.withNothing - -```jsonnet -adhoc.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn adhoc.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -adhoc.generalOptions.showOnDashboard.withValueOnly() -``` - - - -### obj constant - - -#### fn constant.new - -```jsonnet -constant.new(name, value) -``` - -PARAMETERS: - -* **name** (`string`) -* **value** (`string`) - -`new` creates a hidden constant template variable. -#### obj constant.generalOptions - - -##### fn constant.generalOptions.withCurrent - -```jsonnet -constant.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn constant.generalOptions.withDescription - -```jsonnet -constant.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn constant.generalOptions.withLabel - -```jsonnet -constant.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn constant.generalOptions.withName - -```jsonnet -constant.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj constant.generalOptions.showOnDashboard - - -###### fn constant.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -constant.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn constant.generalOptions.showOnDashboard.withNothing - -```jsonnet -constant.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn constant.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -constant.generalOptions.showOnDashboard.withValueOnly() -``` - - - -### obj custom - - -#### fn custom.new - -```jsonnet -custom.new(name, values) -``` - -PARAMETERS: - -* **name** (`string`) -* **values** (`array`) - -`new` creates a custom template variable. - -The `values` array accepts an object with key/value keys, if it's not an object -then it will be added as a string. - -Example: -``` -[ - { key: 'mykey', value: 'myvalue' }, - 'myvalue', - 12, -] - -#### obj custom.generalOptions - - -##### fn custom.generalOptions.withCurrent - -```jsonnet -custom.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn custom.generalOptions.withDescription - -```jsonnet -custom.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn custom.generalOptions.withLabel - -```jsonnet -custom.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn custom.generalOptions.withName - -```jsonnet -custom.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj custom.generalOptions.showOnDashboard - - -###### fn custom.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -custom.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn custom.generalOptions.showOnDashboard.withNothing - -```jsonnet -custom.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn custom.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -custom.generalOptions.showOnDashboard.withValueOnly() -``` - - - -#### obj custom.selectionOptions - - -##### fn custom.selectionOptions.withIncludeAll - -```jsonnet -custom.selectionOptions.withIncludeAll(value=true, customAllValue) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` -* **customAllValue** (`bool`) - -`withIncludeAll` enables an option to include all variables. - -Optionally you can set a `customAllValue`. - -##### fn custom.selectionOptions.withMulti - -```jsonnet -custom.selectionOptions.withMulti(value=true) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` - -Enable selecting multiple values. -### obj datasource - - -#### fn datasource.new - -```jsonnet -datasource.new(name, type) -``` - -PARAMETERS: - -* **name** (`string`) -* **type** (`string`) - -`new` creates a datasource template variable. -#### fn datasource.withRegex - -```jsonnet -datasource.withRegex(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`withRegex` filter for which data source instances to choose from in the -variable value list. Example: `/^prod/` - -#### obj datasource.generalOptions - - -##### fn datasource.generalOptions.withCurrent - -```jsonnet -datasource.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn datasource.generalOptions.withDescription - -```jsonnet -datasource.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn datasource.generalOptions.withLabel - -```jsonnet -datasource.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn datasource.generalOptions.withName - -```jsonnet -datasource.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj datasource.generalOptions.showOnDashboard - - -###### fn datasource.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -datasource.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn datasource.generalOptions.showOnDashboard.withNothing - -```jsonnet -datasource.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn datasource.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -datasource.generalOptions.showOnDashboard.withValueOnly() -``` - - - -#### obj datasource.selectionOptions - - -##### fn datasource.selectionOptions.withIncludeAll - -```jsonnet -datasource.selectionOptions.withIncludeAll(value=true, customAllValue) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` -* **customAllValue** (`bool`) - -`withIncludeAll` enables an option to include all variables. - -Optionally you can set a `customAllValue`. - -##### fn datasource.selectionOptions.withMulti - -```jsonnet -datasource.selectionOptions.withMulti(value=true) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` - -Enable selecting multiple values. -### obj interval - - -#### fn interval.new - -```jsonnet -interval.new(name, values) -``` - -PARAMETERS: - -* **name** (`string`) -* **values** (`array`) - -`new` creates an interval template variable. -#### fn interval.withAutoOption - -```jsonnet -interval.withAutoOption(count, minInterval) -``` - -PARAMETERS: - -* **count** (`number`) -* **minInterval** (`string`) - -`withAutoOption` adds an options to dynamically calculate interval by dividing -time range by the count specified. - -`minInterval' has to be either unit-less or end with one of the following units: -"y, M, w, d, h, m, s, ms". - -#### obj interval.generalOptions - - -##### fn interval.generalOptions.withCurrent - -```jsonnet -interval.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn interval.generalOptions.withDescription - -```jsonnet -interval.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn interval.generalOptions.withLabel - -```jsonnet -interval.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn interval.generalOptions.withName - -```jsonnet -interval.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj interval.generalOptions.showOnDashboard - - -###### fn interval.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -interval.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn interval.generalOptions.showOnDashboard.withNothing - -```jsonnet -interval.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn interval.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -interval.generalOptions.showOnDashboard.withValueOnly() -``` - - - -### obj query - - -#### fn query.new - -```jsonnet -query.new(name, query="") -``` - -PARAMETERS: - -* **name** (`string`) -* **query** (`string`) - - default value: `""` - -Create a query template variable. - -`query` argument is optional, this can also be set with `query.queryTypes`. - -#### fn query.withDatasource - -```jsonnet -query.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -Select a datasource for the variable template query. -#### fn query.withDatasourceFromVariable - -```jsonnet -query.withDatasourceFromVariable(variable) -``` - -PARAMETERS: - -* **variable** (`object`) - -Select the datasource from another template variable. -#### fn query.withRegex - -```jsonnet -query.withRegex(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`withRegex` can extract part of a series name or metric node segment. Named -capture groups can be used to separate the display text and value -([see examples](https://grafana.com/docs/grafana/latest/variables/filter-variables-with-regex#filter-and-modify-using-named-text-and-value-capture-groups)). - -#### fn query.withSort - -```jsonnet -query.withSort(i=0, type="alphabetical", asc=true, caseInsensitive=false) -``` - -PARAMETERS: - -* **i** (`number`) - - default value: `0` -* **type** (`string`) - - default value: `"alphabetical"` -* **asc** (`bool`) - - default value: `true` -* **caseInsensitive** (`bool`) - - default value: `false` - -Choose how to sort the values in the dropdown. - -This can be called as `withSort() to use the integer values for each -option. If `i==0` then it will be ignored and the other arguments will take -precedence. - -The numerical values are: - -- 1 - Alphabetical (asc) -- 2 - Alphabetical (desc) -- 3 - Numerical (asc) -- 4 - Numerical (desc) -- 5 - Alphabetical (case-insensitive, asc) -- 6 - Alphabetical (case-insensitive, desc) - -#### obj query.generalOptions - - -##### fn query.generalOptions.withCurrent - -```jsonnet -query.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn query.generalOptions.withDescription - -```jsonnet -query.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn query.generalOptions.withLabel - -```jsonnet -query.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn query.generalOptions.withName - -```jsonnet -query.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj query.generalOptions.showOnDashboard - - -###### fn query.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -query.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn query.generalOptions.showOnDashboard.withNothing - -```jsonnet -query.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn query.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -query.generalOptions.showOnDashboard.withValueOnly() -``` - - - -#### obj query.queryTypes - - -##### fn query.queryTypes.withLabelValues - -```jsonnet -query.queryTypes.withLabelValues(label, metric="") -``` - -PARAMETERS: - -* **label** (`string`) -* **metric** (`string`) - - default value: `""` - -Construct a Prometheus template variable using `label_values()`. -#### obj query.refresh - - -##### fn query.refresh.onLoad - -```jsonnet -query.refresh.onLoad() -``` - - -Refresh label values on dashboard load. -##### fn query.refresh.onTime - -```jsonnet -query.refresh.onTime() -``` - - -Refresh label values on time range change. -#### obj query.selectionOptions - - -##### fn query.selectionOptions.withIncludeAll - -```jsonnet -query.selectionOptions.withIncludeAll(value=true, customAllValue) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` -* **customAllValue** (`bool`) - -`withIncludeAll` enables an option to include all variables. - -Optionally you can set a `customAllValue`. - -##### fn query.selectionOptions.withMulti - -```jsonnet -query.selectionOptions.withMulti(value=true) -``` - -PARAMETERS: - -* **value** (`bool`) - - default value: `true` - -Enable selecting multiple values. -### obj textbox - - -#### fn textbox.new - -```jsonnet -textbox.new(name, default="") -``` - -PARAMETERS: - -* **name** (`string`) -* **default** (`string`) - - default value: `""` - -`new` creates a textbox template variable. -#### obj textbox.generalOptions - - -##### fn textbox.generalOptions.withCurrent - -```jsonnet -textbox.generalOptions.withCurrent(key, value="") -``` - -PARAMETERS: - -* **key** (`any`) -* **value** (`any`) - - default value: `""` - -`withCurrent` sets the currently selected value of a variable. If key and value are different, both need to be given. - -##### fn textbox.generalOptions.withDescription - -```jsonnet -textbox.generalOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn textbox.generalOptions.withLabel - -```jsonnet -textbox.generalOptions.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn textbox.generalOptions.withName - -```jsonnet -textbox.generalOptions.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj textbox.generalOptions.showOnDashboard - - -###### fn textbox.generalOptions.showOnDashboard.withLabelAndValue - -```jsonnet -textbox.generalOptions.showOnDashboard.withLabelAndValue() -``` - - - -###### fn textbox.generalOptions.showOnDashboard.withNothing - -```jsonnet -textbox.generalOptions.showOnDashboard.withNothing() -``` - - - -###### fn textbox.generalOptions.showOnDashboard.withValueOnly - -```jsonnet -textbox.generalOptions.showOnDashboard.withValueOnly() -``` - - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md deleted file mode 100644 index c4244ce4ba..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/librarypanel.md +++ /dev/null @@ -1,334 +0,0 @@ -# librarypanel - -grafonnet.librarypanel - -## Index - -* [`fn withDescription(value)`](#fn-withdescription) -* [`fn withFolderUid(value)`](#fn-withfolderuid) -* [`fn withMeta(value)`](#fn-withmeta) -* [`fn withMetaMixin(value)`](#fn-withmetamixin) -* [`fn withModel(value)`](#fn-withmodel) -* [`fn withModelMixin(value)`](#fn-withmodelmixin) -* [`fn withName(value)`](#fn-withname) -* [`fn withSchemaVersion(value)`](#fn-withschemaversion) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUid(value)`](#fn-withuid) -* [`fn withVersion(value)`](#fn-withversion) -* [`obj meta`](#obj-meta) - * [`fn withConnectedDashboards(value)`](#fn-metawithconnecteddashboards) - * [`fn withCreated(value)`](#fn-metawithcreated) - * [`fn withCreatedBy(value)`](#fn-metawithcreatedby) - * [`fn withCreatedByMixin(value)`](#fn-metawithcreatedbymixin) - * [`fn withFolderName(value)`](#fn-metawithfoldername) - * [`fn withFolderUid(value)`](#fn-metawithfolderuid) - * [`fn withUpdated(value)`](#fn-metawithupdated) - * [`fn withUpdatedBy(value)`](#fn-metawithupdatedby) - * [`fn withUpdatedByMixin(value)`](#fn-metawithupdatedbymixin) - * [`obj createdBy`](#obj-metacreatedby) - * [`fn withAvatarUrl(value)`](#fn-metacreatedbywithavatarurl) - * [`fn withId(value)`](#fn-metacreatedbywithid) - * [`fn withName(value)`](#fn-metacreatedbywithname) - * [`obj updatedBy`](#obj-metaupdatedby) - * [`fn withAvatarUrl(value)`](#fn-metaupdatedbywithavatarurl) - * [`fn withId(value)`](#fn-metaupdatedbywithid) - * [`fn withName(value)`](#fn-metaupdatedbywithname) - -## Fields - -### fn withDescription - -```jsonnet -withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel description -### fn withFolderUid - -```jsonnet -withFolderUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Folder UID -### fn withMeta - -```jsonnet -withMeta(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withMetaMixin - -```jsonnet -withMetaMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withModel - -```jsonnet -withModel(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: should be the same panel schema defined in dashboard -Typescript: Omit; -### fn withModelMixin - -```jsonnet -withModelMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO: should be the same panel schema defined in dashboard -Typescript: Omit; -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel name (also saved in the model) -### fn withSchemaVersion - -```jsonnet -withSchemaVersion(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Dashboard version when this was saved (zero if unknown) -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The panel type (from inside the model) -### fn withUid - -```jsonnet -withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Library element UID -### fn withVersion - -```jsonnet -withVersion(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -panel version, incremented each time the dashboard is updated. -### obj meta - - -#### fn meta.withConnectedDashboards - -```jsonnet -meta.withConnectedDashboards(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn meta.withCreated - -```jsonnet -meta.withCreated(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn meta.withCreatedBy - -```jsonnet -meta.withCreatedBy(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn meta.withCreatedByMixin - -```jsonnet -meta.withCreatedByMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn meta.withFolderName - -```jsonnet -meta.withFolderName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn meta.withFolderUid - -```jsonnet -meta.withFolderUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn meta.withUpdated - -```jsonnet -meta.withUpdated(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn meta.withUpdatedBy - -```jsonnet -meta.withUpdatedBy(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn meta.withUpdatedByMixin - -```jsonnet -meta.withUpdatedByMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### obj meta.createdBy - - -##### fn meta.createdBy.withAvatarUrl - -```jsonnet -meta.createdBy.withAvatarUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn meta.createdBy.withId - -```jsonnet -meta.createdBy.withId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn meta.createdBy.withName - -```jsonnet -meta.createdBy.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj meta.updatedBy - - -##### fn meta.updatedBy.withAvatarUrl - -```jsonnet -meta.updatedBy.withAvatarUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn meta.updatedBy.withId - -```jsonnet -meta.updatedBy.withId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn meta.updatedBy.withName - -```jsonnet -meta.updatedBy.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md deleted file mode 100644 index 1c3e3945db..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/index.md +++ /dev/null @@ -1,605 +0,0 @@ -# alertGroups - -grafonnet.panel.alertGroups - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withAlertmanager(value)`](#fn-optionswithalertmanager) - * [`fn withExpandAll(value=true)`](#fn-optionswithexpandall) - * [`fn withLabels(value)`](#fn-optionswithlabels) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new alertGroups panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withAlertmanager - -```jsonnet -options.withAlertmanager(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the alertmanager used as a source for alerts -#### fn options.withExpandAll - -```jsonnet -options.withExpandAll(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Expand all alert groups by default -#### fn options.withLabels - -```jsonnet -options.withLabels(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Comma-separated list of values used to filter alert results -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertGroups/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md deleted file mode 100644 index e02b39b6cd..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/index.md +++ /dev/null @@ -1,1136 +0,0 @@ -# alertList - -grafonnet.panel.alertList - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withAlertListOptions(value)`](#fn-optionswithalertlistoptions) - * [`fn withAlertListOptionsMixin(value)`](#fn-optionswithalertlistoptionsmixin) - * [`fn withUnifiedAlertListOptions(value)`](#fn-optionswithunifiedalertlistoptions) - * [`fn withUnifiedAlertListOptionsMixin(value)`](#fn-optionswithunifiedalertlistoptionsmixin) - * [`obj AlertListOptions`](#obj-optionsalertlistoptions) - * [`fn withAlertName(value)`](#fn-optionsalertlistoptionswithalertname) - * [`fn withDashboardAlerts(value=true)`](#fn-optionsalertlistoptionswithdashboardalerts) - * [`fn withDashboardTitle(value)`](#fn-optionsalertlistoptionswithdashboardtitle) - * [`fn withFolderId(value)`](#fn-optionsalertlistoptionswithfolderid) - * [`fn withMaxItems(value)`](#fn-optionsalertlistoptionswithmaxitems) - * [`fn withShowOptions(value)`](#fn-optionsalertlistoptionswithshowoptions) - * [`fn withSortOrder(value)`](#fn-optionsalertlistoptionswithsortorder) - * [`fn withStateFilter(value)`](#fn-optionsalertlistoptionswithstatefilter) - * [`fn withStateFilterMixin(value)`](#fn-optionsalertlistoptionswithstatefiltermixin) - * [`fn withTags(value)`](#fn-optionsalertlistoptionswithtags) - * [`fn withTagsMixin(value)`](#fn-optionsalertlistoptionswithtagsmixin) - * [`obj stateFilter`](#obj-optionsalertlistoptionsstatefilter) - * [`fn withAlerting(value=true)`](#fn-optionsalertlistoptionsstatefilterwithalerting) - * [`fn withExecutionError(value=true)`](#fn-optionsalertlistoptionsstatefilterwithexecutionerror) - * [`fn withNoData(value=true)`](#fn-optionsalertlistoptionsstatefilterwithnodata) - * [`fn withOk(value=true)`](#fn-optionsalertlistoptionsstatefilterwithok) - * [`fn withPaused(value=true)`](#fn-optionsalertlistoptionsstatefilterwithpaused) - * [`fn withPending(value=true)`](#fn-optionsalertlistoptionsstatefilterwithpending) - * [`obj UnifiedAlertListOptions`](#obj-optionsunifiedalertlistoptions) - * [`fn withAlertInstanceLabelFilter(value)`](#fn-optionsunifiedalertlistoptionswithalertinstancelabelfilter) - * [`fn withAlertName(value)`](#fn-optionsunifiedalertlistoptionswithalertname) - * [`fn withDashboardAlerts(value=true)`](#fn-optionsunifiedalertlistoptionswithdashboardalerts) - * [`fn withDatasource(value)`](#fn-optionsunifiedalertlistoptionswithdatasource) - * [`fn withFolder(value)`](#fn-optionsunifiedalertlistoptionswithfolder) - * [`fn withFolderMixin(value)`](#fn-optionsunifiedalertlistoptionswithfoldermixin) - * [`fn withGroupBy(value)`](#fn-optionsunifiedalertlistoptionswithgroupby) - * [`fn withGroupByMixin(value)`](#fn-optionsunifiedalertlistoptionswithgroupbymixin) - * [`fn withGroupMode(value)`](#fn-optionsunifiedalertlistoptionswithgroupmode) - * [`fn withMaxItems(value)`](#fn-optionsunifiedalertlistoptionswithmaxitems) - * [`fn withShowInstances(value=true)`](#fn-optionsunifiedalertlistoptionswithshowinstances) - * [`fn withSortOrder(value)`](#fn-optionsunifiedalertlistoptionswithsortorder) - * [`fn withStateFilter(value)`](#fn-optionsunifiedalertlistoptionswithstatefilter) - * [`fn withStateFilterMixin(value)`](#fn-optionsunifiedalertlistoptionswithstatefiltermixin) - * [`fn withViewMode(value)`](#fn-optionsunifiedalertlistoptionswithviewmode) - * [`obj folder`](#obj-optionsunifiedalertlistoptionsfolder) - * [`fn withId(value)`](#fn-optionsunifiedalertlistoptionsfolderwithid) - * [`fn withTitle(value)`](#fn-optionsunifiedalertlistoptionsfolderwithtitle) - * [`obj stateFilter`](#obj-optionsunifiedalertlistoptionsstatefilter) - * [`fn withError(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwitherror) - * [`fn withFiring(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithfiring) - * [`fn withInactive(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithinactive) - * [`fn withNoData(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithnodata) - * [`fn withNormal(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithnormal) - * [`fn withPending(value=true)`](#fn-optionsunifiedalertlistoptionsstatefilterwithpending) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new alertlist panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withAlertListOptions - -```jsonnet -options.withAlertListOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withAlertListOptionsMixin - -```jsonnet -options.withAlertListOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withUnifiedAlertListOptions - -```jsonnet -options.withUnifiedAlertListOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withUnifiedAlertListOptionsMixin - -```jsonnet -options.withUnifiedAlertListOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### obj options.AlertListOptions - - -##### fn options.AlertListOptions.withAlertName - -```jsonnet -options.AlertListOptions.withAlertName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.AlertListOptions.withDashboardAlerts - -```jsonnet -options.AlertListOptions.withDashboardAlerts(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.AlertListOptions.withDashboardTitle - -```jsonnet -options.AlertListOptions.withDashboardTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.AlertListOptions.withFolderId - -```jsonnet -options.AlertListOptions.withFolderId(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.AlertListOptions.withMaxItems - -```jsonnet -options.AlertListOptions.withMaxItems(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.AlertListOptions.withShowOptions - -```jsonnet -options.AlertListOptions.withShowOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"current"`, `"changes"` - - -##### fn options.AlertListOptions.withSortOrder - -```jsonnet -options.AlertListOptions.withSortOrder(value) -``` - -PARAMETERS: - -* **value** (`number`) - - valid values: `1`, `2`, `3`, `4`, `5` - - -##### fn options.AlertListOptions.withStateFilter - -```jsonnet -options.AlertListOptions.withStateFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.AlertListOptions.withStateFilterMixin - -```jsonnet -options.AlertListOptions.withStateFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.AlertListOptions.withTags - -```jsonnet -options.AlertListOptions.withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.AlertListOptions.withTagsMixin - -```jsonnet -options.AlertListOptions.withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### obj options.AlertListOptions.stateFilter - - -###### fn options.AlertListOptions.stateFilter.withAlerting - -```jsonnet -options.AlertListOptions.stateFilter.withAlerting(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.AlertListOptions.stateFilter.withExecutionError - -```jsonnet -options.AlertListOptions.stateFilter.withExecutionError(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.AlertListOptions.stateFilter.withNoData - -```jsonnet -options.AlertListOptions.stateFilter.withNoData(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.AlertListOptions.stateFilter.withOk - -```jsonnet -options.AlertListOptions.stateFilter.withOk(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.AlertListOptions.stateFilter.withPaused - -```jsonnet -options.AlertListOptions.stateFilter.withPaused(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.AlertListOptions.stateFilter.withPending - -```jsonnet -options.AlertListOptions.stateFilter.withPending(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### obj options.UnifiedAlertListOptions - - -##### fn options.UnifiedAlertListOptions.withAlertInstanceLabelFilter - -```jsonnet -options.UnifiedAlertListOptions.withAlertInstanceLabelFilter(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.UnifiedAlertListOptions.withAlertName - -```jsonnet -options.UnifiedAlertListOptions.withAlertName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.UnifiedAlertListOptions.withDashboardAlerts - -```jsonnet -options.UnifiedAlertListOptions.withDashboardAlerts(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.UnifiedAlertListOptions.withDatasource - -```jsonnet -options.UnifiedAlertListOptions.withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.UnifiedAlertListOptions.withFolder - -```jsonnet -options.UnifiedAlertListOptions.withFolder(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.UnifiedAlertListOptions.withFolderMixin - -```jsonnet -options.UnifiedAlertListOptions.withFolderMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.UnifiedAlertListOptions.withGroupBy - -```jsonnet -options.UnifiedAlertListOptions.withGroupBy(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.UnifiedAlertListOptions.withGroupByMixin - -```jsonnet -options.UnifiedAlertListOptions.withGroupByMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.UnifiedAlertListOptions.withGroupMode - -```jsonnet -options.UnifiedAlertListOptions.withGroupMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"default"`, `"custom"` - - -##### fn options.UnifiedAlertListOptions.withMaxItems - -```jsonnet -options.UnifiedAlertListOptions.withMaxItems(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.UnifiedAlertListOptions.withShowInstances - -```jsonnet -options.UnifiedAlertListOptions.withShowInstances(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.UnifiedAlertListOptions.withSortOrder - -```jsonnet -options.UnifiedAlertListOptions.withSortOrder(value) -``` - -PARAMETERS: - -* **value** (`number`) - - valid values: `1`, `2`, `3`, `4`, `5` - - -##### fn options.UnifiedAlertListOptions.withStateFilter - -```jsonnet -options.UnifiedAlertListOptions.withStateFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.UnifiedAlertListOptions.withStateFilterMixin - -```jsonnet -options.UnifiedAlertListOptions.withStateFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.UnifiedAlertListOptions.withViewMode - -```jsonnet -options.UnifiedAlertListOptions.withViewMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"stat"` - - -##### obj options.UnifiedAlertListOptions.folder - - -###### fn options.UnifiedAlertListOptions.folder.withId - -```jsonnet -options.UnifiedAlertListOptions.folder.withId(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn options.UnifiedAlertListOptions.folder.withTitle - -```jsonnet -options.UnifiedAlertListOptions.folder.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj options.UnifiedAlertListOptions.stateFilter - - -###### fn options.UnifiedAlertListOptions.stateFilter.withError - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withError(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.UnifiedAlertListOptions.stateFilter.withFiring - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withFiring(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.UnifiedAlertListOptions.stateFilter.withInactive - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withInactive(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.UnifiedAlertListOptions.stateFilter.withNoData - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withNoData(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.UnifiedAlertListOptions.stateFilter.withNormal - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withNormal(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.UnifiedAlertListOptions.stateFilter.withPending - -```jsonnet -options.UnifiedAlertListOptions.stateFilter.withPending(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/alertList/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md deleted file mode 100644 index dc21cba61e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/index.md +++ /dev/null @@ -1,709 +0,0 @@ -# annotationsList - -grafonnet.panel.annotationsList - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withLimit(value=10)`](#fn-optionswithlimit) - * [`fn withNavigateAfter(value="10m")`](#fn-optionswithnavigateafter) - * [`fn withNavigateBefore(value="10m")`](#fn-optionswithnavigatebefore) - * [`fn withNavigateToPanel(value=true)`](#fn-optionswithnavigatetopanel) - * [`fn withOnlyFromThisDashboard(value=true)`](#fn-optionswithonlyfromthisdashboard) - * [`fn withOnlyInTimeRange(value=true)`](#fn-optionswithonlyintimerange) - * [`fn withShowTags(value=true)`](#fn-optionswithshowtags) - * [`fn withShowTime(value=true)`](#fn-optionswithshowtime) - * [`fn withShowUser(value=true)`](#fn-optionswithshowuser) - * [`fn withTags(value)`](#fn-optionswithtags) - * [`fn withTagsMixin(value)`](#fn-optionswithtagsmixin) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new annotationsList panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withLimit - -```jsonnet -options.withLimit(value=10) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `10` - - -#### fn options.withNavigateAfter - -```jsonnet -options.withNavigateAfter(value="10m") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"10m"` - - -#### fn options.withNavigateBefore - -```jsonnet -options.withNavigateBefore(value="10m") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"10m"` - - -#### fn options.withNavigateToPanel - -```jsonnet -options.withNavigateToPanel(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withOnlyFromThisDashboard - -```jsonnet -options.withOnlyFromThisDashboard(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withOnlyInTimeRange - -```jsonnet -options.withOnlyInTimeRange(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowTags - -```jsonnet -options.withShowTags(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowTime - -```jsonnet -options.withShowTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowUser - -```jsonnet -options.withShowUser(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withTags - -```jsonnet -options.withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTagsMixin - -```jsonnet -options.withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/annotationsList/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md deleted file mode 100644 index 8eaa9bd99f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/index.md +++ /dev/null @@ -1,1305 +0,0 @@ -# barChart - -grafonnet.panel.barChart - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) - * [`fn withFillOpacity(value=80)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) - * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) - * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) - * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withBarRadius(value=0)`](#fn-optionswithbarradius) - * [`fn withBarWidth(value=0.97)`](#fn-optionswithbarwidth) - * [`fn withColorByField(value)`](#fn-optionswithcolorbyfield) - * [`fn withFullHighlight(value=true)`](#fn-optionswithfullhighlight) - * [`fn withGroupWidth(value=0.7)`](#fn-optionswithgroupwidth) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withOrientation(value)`](#fn-optionswithorientation) - * [`fn withShowValue(value)`](#fn-optionswithshowvalue) - * [`fn withStacking(value)`](#fn-optionswithstacking) - * [`fn withText(value)`](#fn-optionswithtext) - * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`fn withXField(value)`](#fn-optionswithxfield) - * [`fn withXTickLabelMaxLength(value)`](#fn-optionswithxticklabelmaxlength) - * [`fn withXTickLabelRotation(value=0)`](#fn-optionswithxticklabelrotation) - * [`fn withXTickLabelSpacing(value=0)`](#fn-optionswithxticklabelspacing) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj text`](#obj-optionstext) - * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) - * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new barChart panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withAxisCenteredZero - -```jsonnet -fieldConfig.defaults.custom.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisColorMode - -```jsonnet -fieldConfig.defaults.custom.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisGridShow - -```jsonnet -fieldConfig.defaults.custom.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisLabel - -```jsonnet -fieldConfig.defaults.custom.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withAxisPlacement - -```jsonnet -fieldConfig.defaults.custom.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisSoftMax - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisSoftMin - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisWidth - -```jsonnet -fieldConfig.defaults.custom.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value=80) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `80` - -Controls the fill opacity of the bars. -###### fn fieldConfig.defaults.custom.withGradientMode - -```jsonnet -fieldConfig.defaults.custom.withGradientMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option. -Gradient appearance is influenced by the Fill opacity setting. -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value=1) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `1` - -Controls line width of the bars. -###### fn fieldConfig.defaults.custom.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyle - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### obj fieldConfig.defaults.custom.scaleDistribution - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -###### obj fieldConfig.defaults.custom.thresholdsStyle - - -####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode - -```jsonnet -fieldConfig.defaults.custom.thresholdsStyle.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withBarRadius - -```jsonnet -options.withBarRadius(value=0) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0` - -Controls the radius of each bar. -#### fn options.withBarWidth - -```jsonnet -options.withBarWidth(value=0.97) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0.97` - -Controls the width of bars. 1 = Max width, 0 = Min width. -#### fn options.withColorByField - -```jsonnet -options.withColorByField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Use the color value for a sibling field to color each bar value. -#### fn options.withFullHighlight - -```jsonnet -options.withFullHighlight(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Enables mode which highlights the entire bar area and shows tooltip when cursor -hovers over highlighted area -#### fn options.withGroupWidth - -```jsonnet -options.withGroupWidth(value=0.7) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0.7` - -Controls the width of groups. 1 = max with, 0 = min width. -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withOrientation - -```jsonnet -options.withOrientation(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls the orientation of the bar chart, either vertical or horizontal. -#### fn options.withShowValue - -```jsonnet -options.withShowValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -This controls whether values are shown on top or to the left of bars. -#### fn options.withStacking - -```jsonnet -options.withStacking(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls whether bars are stacked or not, either normally or in percent mode. -#### fn options.withText - -```jsonnet -options.withText(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMixin - -```jsonnet -options.withTextMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withXField - -```jsonnet -options.withXField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Manually select which field from the dataset to represent the x field. -#### fn options.withXTickLabelMaxLength - -```jsonnet -options.withXTickLabelMaxLength(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Sets the max length that a label can have before it is truncated. -#### fn options.withXTickLabelRotation - -```jsonnet -options.withXTickLabelRotation(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -Controls the rotation of the x axis labels. -#### fn options.withXTickLabelSpacing - -```jsonnet -options.withXTickLabelSpacing(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -Controls the spacing between x axis labels. -negative values indicate backwards skipping behavior -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.text - - -##### fn options.text.withTitleSize - -```jsonnet -options.text.withTitleSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit title text size -##### fn options.text.withValueSize - -```jsonnet -options.text.withValueSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit value text size -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barChart/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md deleted file mode 100644 index c9f8277d70..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/index.md +++ /dev/null @@ -1,788 +0,0 @@ -# barGauge - -grafonnet.panel.barGauge - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withDisplayMode(value)`](#fn-optionswithdisplaymode) - * [`fn withMinVizHeight(value=10)`](#fn-optionswithminvizheight) - * [`fn withMinVizWidth(value=0)`](#fn-optionswithminvizwidth) - * [`fn withOrientation(value)`](#fn-optionswithorientation) - * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) - * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) - * [`fn withShowUnfilled(value=true)`](#fn-optionswithshowunfilled) - * [`fn withText(value)`](#fn-optionswithtext) - * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) - * [`fn withValueMode(value)`](#fn-optionswithvaluemode) - * [`obj reduceOptions`](#obj-optionsreduceoptions) - * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) - * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) - * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) - * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) - * [`obj text`](#obj-optionstext) - * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) - * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new barGauge panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withDisplayMode - -```jsonnet -options.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"basic"`, `"lcd"`, `"gradient"` - -Enum expressing the possible display modes -for the bar gauge component of Grafana UI -#### fn options.withMinVizHeight - -```jsonnet -options.withMinVizHeight(value=10) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `10` - - -#### fn options.withMinVizWidth - -```jsonnet -options.withMinVizWidth(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - - -#### fn options.withOrientation - -```jsonnet -options.withOrientation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"vertical"`, `"horizontal"` - -TODO docs -#### fn options.withReduceOptions - -```jsonnet -options.withReduceOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withReduceOptionsMixin - -```jsonnet -options.withReduceOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withShowUnfilled - -```jsonnet -options.withShowUnfilled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withText - -```jsonnet -options.withText(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMixin - -```jsonnet -options.withTextMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withValueMode - -```jsonnet -options.withValueMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"color"`, `"text"`, `"hidden"` - -Allows for the table cell gauge display type to set the gauge mode. -#### obj options.reduceOptions - - -##### fn options.reduceOptions.withCalcs - -```jsonnet -options.reduceOptions.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withCalcsMixin - -```jsonnet -options.reduceOptions.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withFields - -```jsonnet -options.reduceOptions.withFields(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Which fields to show. By default this is only numeric fields -##### fn options.reduceOptions.withLimit - -```jsonnet -options.reduceOptions.withLimit(value) -``` - -PARAMETERS: - -* **value** (`number`) - -if showing all values limit -##### fn options.reduceOptions.withValues - -```jsonnet -options.reduceOptions.withValues(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -If true show each row value -#### obj options.text - - -##### fn options.text.withTitleSize - -```jsonnet -options.text.withTitleSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit title text size -##### fn options.text.withValueSize - -```jsonnet -options.text.withValueSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit value text size -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/barGauge/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md deleted file mode 100644 index fc422189df..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/index.md +++ /dev/null @@ -1,564 +0,0 @@ -# candlestick - -grafonnet.panel.candlestick - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new candlestick panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/candlestick/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md deleted file mode 100644 index cffebcaf5a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/index.md +++ /dev/null @@ -1,564 +0,0 @@ -# canvas - -grafonnet.panel.canvas - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new canvas panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/canvas/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md deleted file mode 100644 index 39ddeedc0e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/index.md +++ /dev/null @@ -1,708 +0,0 @@ -# dashboardList - -grafonnet.panel.dashboardList - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withFolderId(value)`](#fn-optionswithfolderid) - * [`fn withIncludeVars(value=true)`](#fn-optionswithincludevars) - * [`fn withKeepTime(value=true)`](#fn-optionswithkeeptime) - * [`fn withMaxItems(value=10)`](#fn-optionswithmaxitems) - * [`fn withQuery(value="")`](#fn-optionswithquery) - * [`fn withShowHeadings(value=true)`](#fn-optionswithshowheadings) - * [`fn withShowRecentlyViewed(value=true)`](#fn-optionswithshowrecentlyviewed) - * [`fn withShowSearch(value=true)`](#fn-optionswithshowsearch) - * [`fn withShowStarred(value=true)`](#fn-optionswithshowstarred) - * [`fn withTags(value)`](#fn-optionswithtags) - * [`fn withTagsMixin(value)`](#fn-optionswithtagsmixin) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new dashboardList panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withFolderId - -```jsonnet -options.withFolderId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn options.withIncludeVars - -```jsonnet -options.withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withKeepTime - -```jsonnet -options.withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withMaxItems - -```jsonnet -options.withMaxItems(value=10) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `10` - - -#### fn options.withQuery - -```jsonnet -options.withQuery(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn options.withShowHeadings - -```jsonnet -options.withShowHeadings(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowRecentlyViewed - -```jsonnet -options.withShowRecentlyViewed(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowSearch - -```jsonnet -options.withShowSearch(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowStarred - -```jsonnet -options.withShowStarred(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withTags - -```jsonnet -options.withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTagsMixin - -```jsonnet -options.withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/dashboardList/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md deleted file mode 100644 index 27438c0a77..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/index.md +++ /dev/null @@ -1,581 +0,0 @@ -# datagrid - -grafonnet.panel.datagrid - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withSelectedSeries(value=0)`](#fn-optionswithselectedseries) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new datagrid panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withSelectedSeries - -```jsonnet -options.withSelectedSeries(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/datagrid/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md deleted file mode 100644 index edf7a291e4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/index.md +++ /dev/null @@ -1,648 +0,0 @@ -# debug - -grafonnet.panel.debug - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withCounters(value)`](#fn-optionswithcounters) - * [`fn withCountersMixin(value)`](#fn-optionswithcountersmixin) - * [`fn withMode(value)`](#fn-optionswithmode) - * [`obj counters`](#obj-optionscounters) - * [`fn withDataChanged(value=true)`](#fn-optionscounterswithdatachanged) - * [`fn withRender(value=true)`](#fn-optionscounterswithrender) - * [`fn withSchemaChanged(value=true)`](#fn-optionscounterswithschemachanged) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new debug panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withCounters - -```jsonnet -options.withCounters(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withCountersMixin - -```jsonnet -options.withCountersMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withMode - -```jsonnet -options.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"render"`, `"events"`, `"cursor"`, `"State"`, `"ThrowError"` - - -#### obj options.counters - - -##### fn options.counters.withDataChanged - -```jsonnet -options.counters.withDataChanged(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.counters.withRender - -```jsonnet -options.counters.withRender(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.counters.withSchemaChanged - -```jsonnet -options.counters.withSchemaChanged(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/debug/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md deleted file mode 100644 index b766519f7a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/index.md +++ /dev/null @@ -1,748 +0,0 @@ -# gauge - -grafonnet.panel.gauge - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withOrientation(value)`](#fn-optionswithorientation) - * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) - * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) - * [`fn withShowThresholdLabels(value=true)`](#fn-optionswithshowthresholdlabels) - * [`fn withShowThresholdMarkers(value=true)`](#fn-optionswithshowthresholdmarkers) - * [`fn withText(value)`](#fn-optionswithtext) - * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) - * [`obj reduceOptions`](#obj-optionsreduceoptions) - * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) - * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) - * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) - * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) - * [`obj text`](#obj-optionstext) - * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) - * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new gauge panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withOrientation - -```jsonnet -options.withOrientation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"vertical"`, `"horizontal"` - -TODO docs -#### fn options.withReduceOptions - -```jsonnet -options.withReduceOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withReduceOptionsMixin - -```jsonnet -options.withReduceOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withShowThresholdLabels - -```jsonnet -options.withShowThresholdLabels(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowThresholdMarkers - -```jsonnet -options.withShowThresholdMarkers(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withText - -```jsonnet -options.withText(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMixin - -```jsonnet -options.withTextMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.reduceOptions - - -##### fn options.reduceOptions.withCalcs - -```jsonnet -options.reduceOptions.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withCalcsMixin - -```jsonnet -options.reduceOptions.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withFields - -```jsonnet -options.reduceOptions.withFields(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Which fields to show. By default this is only numeric fields -##### fn options.reduceOptions.withLimit - -```jsonnet -options.reduceOptions.withLimit(value) -``` - -PARAMETERS: - -* **value** (`number`) - -if showing all values limit -##### fn options.reduceOptions.withValues - -```jsonnet -options.reduceOptions.withValues(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -If true show each row value -#### obj options.text - - -##### fn options.text.withTitleSize - -```jsonnet -options.text.withTitleSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit title text size -##### fn options.text.withValueSize - -```jsonnet -options.text.withValueSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit value text size -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/gauge/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md deleted file mode 100644 index 39c74bd8f8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/index.md +++ /dev/null @@ -1,1123 +0,0 @@ -# geomap - -grafonnet.panel.geomap - -## Subpackages - -* [options.layers](options/layers.md) -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withBasemap(value)`](#fn-optionswithbasemap) - * [`fn withBasemapMixin(value)`](#fn-optionswithbasemapmixin) - * [`fn withControls(value)`](#fn-optionswithcontrols) - * [`fn withControlsMixin(value)`](#fn-optionswithcontrolsmixin) - * [`fn withLayers(value)`](#fn-optionswithlayers) - * [`fn withLayersMixin(value)`](#fn-optionswithlayersmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`fn withView(value)`](#fn-optionswithview) - * [`fn withViewMixin(value)`](#fn-optionswithviewmixin) - * [`obj basemap`](#obj-optionsbasemap) - * [`fn withConfig(value)`](#fn-optionsbasemapwithconfig) - * [`fn withFilterData(value)`](#fn-optionsbasemapwithfilterdata) - * [`fn withLocation(value)`](#fn-optionsbasemapwithlocation) - * [`fn withLocationMixin(value)`](#fn-optionsbasemapwithlocationmixin) - * [`fn withName(value)`](#fn-optionsbasemapwithname) - * [`fn withOpacity(value)`](#fn-optionsbasemapwithopacity) - * [`fn withTooltip(value=true)`](#fn-optionsbasemapwithtooltip) - * [`fn withType(value)`](#fn-optionsbasemapwithtype) - * [`obj location`](#obj-optionsbasemaplocation) - * [`fn withGazetteer(value)`](#fn-optionsbasemaplocationwithgazetteer) - * [`fn withGeohash(value)`](#fn-optionsbasemaplocationwithgeohash) - * [`fn withLatitude(value)`](#fn-optionsbasemaplocationwithlatitude) - * [`fn withLongitude(value)`](#fn-optionsbasemaplocationwithlongitude) - * [`fn withLookup(value)`](#fn-optionsbasemaplocationwithlookup) - * [`fn withMode(value)`](#fn-optionsbasemaplocationwithmode) - * [`fn withWkt(value)`](#fn-optionsbasemaplocationwithwkt) - * [`obj controls`](#obj-optionscontrols) - * [`fn withMouseWheelZoom(value=true)`](#fn-optionscontrolswithmousewheelzoom) - * [`fn withShowAttribution(value=true)`](#fn-optionscontrolswithshowattribution) - * [`fn withShowDebug(value=true)`](#fn-optionscontrolswithshowdebug) - * [`fn withShowMeasure(value=true)`](#fn-optionscontrolswithshowmeasure) - * [`fn withShowScale(value=true)`](#fn-optionscontrolswithshowscale) - * [`fn withShowZoom(value=true)`](#fn-optionscontrolswithshowzoom) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`obj view`](#obj-optionsview) - * [`fn withAllLayers(value=true)`](#fn-optionsviewwithalllayers) - * [`fn withId(value="zero")`](#fn-optionsviewwithid) - * [`fn withLastOnly(value=true)`](#fn-optionsviewwithlastonly) - * [`fn withLat(value=0)`](#fn-optionsviewwithlat) - * [`fn withLayer(value)`](#fn-optionsviewwithlayer) - * [`fn withLon(value=0)`](#fn-optionsviewwithlon) - * [`fn withMaxZoom(value)`](#fn-optionsviewwithmaxzoom) - * [`fn withMinZoom(value)`](#fn-optionsviewwithminzoom) - * [`fn withPadding(value)`](#fn-optionsviewwithpadding) - * [`fn withShared(value=true)`](#fn-optionsviewwithshared) - * [`fn withZoom(value=1)`](#fn-optionsviewwithzoom) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new geomap panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withBasemap - -```jsonnet -options.withBasemap(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withBasemapMixin - -```jsonnet -options.withBasemapMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withControls - -```jsonnet -options.withControls(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withControlsMixin - -```jsonnet -options.withControlsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withLayers - -```jsonnet -options.withLayers(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withLayersMixin - -```jsonnet -options.withLayersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withView - -```jsonnet -options.withView(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withViewMixin - -```jsonnet -options.withViewMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### obj options.basemap - - -##### fn options.basemap.withConfig - -```jsonnet -options.basemap.withConfig(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Custom options depending on the type -##### fn options.basemap.withFilterData - -```jsonnet -options.basemap.withFilterData(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Defines a frame MatcherConfig that may filter data for the given layer -##### fn options.basemap.withLocation - -```jsonnet -options.basemap.withLocation(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.basemap.withLocationMixin - -```jsonnet -options.basemap.withLocationMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.basemap.withName - -```jsonnet -options.basemap.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -configured unique display name -##### fn options.basemap.withOpacity - -```jsonnet -options.basemap.withOpacity(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Common properties: -https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html -Layer opacity (0-1) -##### fn options.basemap.withTooltip - -```jsonnet -options.basemap.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Check tooltip (defaults to true) -##### fn options.basemap.withType - -```jsonnet -options.basemap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj options.basemap.location - - -###### fn options.basemap.location.withGazetteer - -```jsonnet -options.basemap.location.withGazetteer(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Path to Gazetteer -###### fn options.basemap.location.withGeohash - -```jsonnet -options.basemap.location.withGeohash(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Field mappings -###### fn options.basemap.location.withLatitude - -```jsonnet -options.basemap.location.withLatitude(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn options.basemap.location.withLongitude - -```jsonnet -options.basemap.location.withLongitude(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn options.basemap.location.withLookup - -```jsonnet -options.basemap.location.withLookup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn options.basemap.location.withMode - -```jsonnet -options.basemap.location.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"geohash"`, `"coords"`, `"lookup"` - - -###### fn options.basemap.location.withWkt - -```jsonnet -options.basemap.location.withWkt(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj options.controls - - -##### fn options.controls.withMouseWheelZoom - -```jsonnet -options.controls.withMouseWheelZoom(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -let the mouse wheel zoom -##### fn options.controls.withShowAttribution - -```jsonnet -options.controls.withShowAttribution(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Lower right -##### fn options.controls.withShowDebug - -```jsonnet -options.controls.withShowDebug(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Show debug -##### fn options.controls.withShowMeasure - -```jsonnet -options.controls.withShowMeasure(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Show measure -##### fn options.controls.withShowScale - -```jsonnet -options.controls.withShowScale(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Scale options -##### fn options.controls.withShowZoom - -```jsonnet -options.controls.withShowZoom(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Zoom (upper left) -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"details"` - - -#### obj options.view - - -##### fn options.view.withAllLayers - -```jsonnet -options.view.withAllLayers(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.view.withId - -```jsonnet -options.view.withId(value="zero") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"zero"` - - -##### fn options.view.withLastOnly - -```jsonnet -options.view.withLastOnly(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.view.withLat - -```jsonnet -options.view.withLat(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - - -##### fn options.view.withLayer - -```jsonnet -options.view.withLayer(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.view.withLon - -```jsonnet -options.view.withLon(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - - -##### fn options.view.withMaxZoom - -```jsonnet -options.view.withMaxZoom(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn options.view.withMinZoom - -```jsonnet -options.view.withMinZoom(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn options.view.withPadding - -```jsonnet -options.view.withPadding(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn options.view.withShared - -```jsonnet -options.view.withShared(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.view.withZoom - -```jsonnet -options.view.withZoom(value=1) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `1` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md deleted file mode 100644 index d65f7c6054..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/options/layers.md +++ /dev/null @@ -1,196 +0,0 @@ -# layers - - - -## Index - -* [`fn withConfig(value)`](#fn-withconfig) -* [`fn withFilterData(value)`](#fn-withfilterdata) -* [`fn withLocation(value)`](#fn-withlocation) -* [`fn withLocationMixin(value)`](#fn-withlocationmixin) -* [`fn withName(value)`](#fn-withname) -* [`fn withOpacity(value)`](#fn-withopacity) -* [`fn withTooltip(value=true)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`obj location`](#obj-location) - * [`fn withGazetteer(value)`](#fn-locationwithgazetteer) - * [`fn withGeohash(value)`](#fn-locationwithgeohash) - * [`fn withLatitude(value)`](#fn-locationwithlatitude) - * [`fn withLongitude(value)`](#fn-locationwithlongitude) - * [`fn withLookup(value)`](#fn-locationwithlookup) - * [`fn withMode(value)`](#fn-locationwithmode) - * [`fn withWkt(value)`](#fn-locationwithwkt) - -## Fields - -### fn withConfig - -```jsonnet -withConfig(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Custom options depending on the type -### fn withFilterData - -```jsonnet -withFilterData(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Defines a frame MatcherConfig that may filter data for the given layer -### fn withLocation - -```jsonnet -withLocation(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLocationMixin - -```jsonnet -withLocationMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -configured unique display name -### fn withOpacity - -```jsonnet -withOpacity(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Common properties: -https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html -Layer opacity (0-1) -### fn withTooltip - -```jsonnet -withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Check tooltip (defaults to true) -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj location - - -#### fn location.withGazetteer - -```jsonnet -location.withGazetteer(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Path to Gazetteer -#### fn location.withGeohash - -```jsonnet -location.withGeohash(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Field mappings -#### fn location.withLatitude - -```jsonnet -location.withLatitude(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn location.withLongitude - -```jsonnet -location.withLongitude(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn location.withLookup - -```jsonnet -location.withLookup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn location.withMode - -```jsonnet -location.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"geohash"`, `"coords"`, `"lookup"` - - -#### fn location.withWkt - -```jsonnet -location.withWkt(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/geomap/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md deleted file mode 100644 index 04322da2d5..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/index.md +++ /dev/null @@ -1,1804 +0,0 @@ -# heatmap - -grafonnet.panel.heatmap - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withCalculate(value=true)`](#fn-optionswithcalculate) - * [`fn withCalculation(value)`](#fn-optionswithcalculation) - * [`fn withCalculationMixin(value)`](#fn-optionswithcalculationmixin) - * [`fn withCellGap(value=1)`](#fn-optionswithcellgap) - * [`fn withCellRadius(value)`](#fn-optionswithcellradius) - * [`fn withCellValues(value={})`](#fn-optionswithcellvalues) - * [`fn withCellValuesMixin(value={})`](#fn-optionswithcellvaluesmixin) - * [`fn withColor(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64})`](#fn-optionswithcolor) - * [`fn withColorMixin(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64})`](#fn-optionswithcolormixin) - * [`fn withExemplars(value)`](#fn-optionswithexemplars) - * [`fn withExemplarsMixin(value)`](#fn-optionswithexemplarsmixin) - * [`fn withFilterValues(value={"le": 0.000000001})`](#fn-optionswithfiltervalues) - * [`fn withFilterValuesMixin(value={"le": 0.000000001})`](#fn-optionswithfiltervaluesmixin) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withRowsFrame(value)`](#fn-optionswithrowsframe) - * [`fn withRowsFrameMixin(value)`](#fn-optionswithrowsframemixin) - * [`fn withShowValue(value)`](#fn-optionswithshowvalue) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`fn withYAxis(value)`](#fn-optionswithyaxis) - * [`fn withYAxisMixin(value)`](#fn-optionswithyaxismixin) - * [`obj calculation`](#obj-optionscalculation) - * [`fn withXBuckets(value)`](#fn-optionscalculationwithxbuckets) - * [`fn withXBucketsMixin(value)`](#fn-optionscalculationwithxbucketsmixin) - * [`fn withYBuckets(value)`](#fn-optionscalculationwithybuckets) - * [`fn withYBucketsMixin(value)`](#fn-optionscalculationwithybucketsmixin) - * [`obj xBuckets`](#obj-optionscalculationxbuckets) - * [`fn withMode(value)`](#fn-optionscalculationxbucketswithmode) - * [`fn withScale(value)`](#fn-optionscalculationxbucketswithscale) - * [`fn withScaleMixin(value)`](#fn-optionscalculationxbucketswithscalemixin) - * [`fn withValue(value)`](#fn-optionscalculationxbucketswithvalue) - * [`obj scale`](#obj-optionscalculationxbucketsscale) - * [`fn withLinearThreshold(value)`](#fn-optionscalculationxbucketsscalewithlinearthreshold) - * [`fn withLog(value)`](#fn-optionscalculationxbucketsscalewithlog) - * [`fn withType(value)`](#fn-optionscalculationxbucketsscalewithtype) - * [`obj yBuckets`](#obj-optionscalculationybuckets) - * [`fn withMode(value)`](#fn-optionscalculationybucketswithmode) - * [`fn withScale(value)`](#fn-optionscalculationybucketswithscale) - * [`fn withScaleMixin(value)`](#fn-optionscalculationybucketswithscalemixin) - * [`fn withValue(value)`](#fn-optionscalculationybucketswithvalue) - * [`obj scale`](#obj-optionscalculationybucketsscale) - * [`fn withLinearThreshold(value)`](#fn-optionscalculationybucketsscalewithlinearthreshold) - * [`fn withLog(value)`](#fn-optionscalculationybucketsscalewithlog) - * [`fn withType(value)`](#fn-optionscalculationybucketsscalewithtype) - * [`obj cellValues`](#obj-optionscellvalues) - * [`fn withCellValues(value)`](#fn-optionscellvalueswithcellvalues) - * [`fn withCellValuesMixin(value)`](#fn-optionscellvalueswithcellvaluesmixin) - * [`obj CellValues`](#obj-optionscellvaluescellvalues) - * [`fn withDecimals(value)`](#fn-optionscellvaluescellvalueswithdecimals) - * [`fn withUnit(value)`](#fn-optionscellvaluescellvalueswithunit) - * [`obj color`](#obj-optionscolor) - * [`fn withHeatmapColorOptions(value)`](#fn-optionscolorwithheatmapcoloroptions) - * [`fn withHeatmapColorOptionsMixin(value)`](#fn-optionscolorwithheatmapcoloroptionsmixin) - * [`obj HeatmapColorOptions`](#obj-optionscolorheatmapcoloroptions) - * [`fn withExponent(value)`](#fn-optionscolorheatmapcoloroptionswithexponent) - * [`fn withFill(value)`](#fn-optionscolorheatmapcoloroptionswithfill) - * [`fn withMax(value)`](#fn-optionscolorheatmapcoloroptionswithmax) - * [`fn withMin(value)`](#fn-optionscolorheatmapcoloroptionswithmin) - * [`fn withMode(value)`](#fn-optionscolorheatmapcoloroptionswithmode) - * [`fn withReverse(value=true)`](#fn-optionscolorheatmapcoloroptionswithreverse) - * [`fn withScale(value)`](#fn-optionscolorheatmapcoloroptionswithscale) - * [`fn withScheme(value)`](#fn-optionscolorheatmapcoloroptionswithscheme) - * [`fn withSteps(value)`](#fn-optionscolorheatmapcoloroptionswithsteps) - * [`obj exemplars`](#obj-optionsexemplars) - * [`fn withColor(value)`](#fn-optionsexemplarswithcolor) - * [`obj filterValues`](#obj-optionsfiltervalues) - * [`fn withFilterValueRange(value)`](#fn-optionsfiltervalueswithfiltervaluerange) - * [`fn withFilterValueRangeMixin(value)`](#fn-optionsfiltervalueswithfiltervaluerangemixin) - * [`obj FilterValueRange`](#obj-optionsfiltervaluesfiltervaluerange) - * [`fn withGe(value)`](#fn-optionsfiltervaluesfiltervaluerangewithge) - * [`fn withLe(value)`](#fn-optionsfiltervaluesfiltervaluerangewithle) - * [`obj legend`](#obj-optionslegend) - * [`fn withShow(value=true)`](#fn-optionslegendwithshow) - * [`obj rowsFrame`](#obj-optionsrowsframe) - * [`fn withLayout(value)`](#fn-optionsrowsframewithlayout) - * [`fn withValue(value)`](#fn-optionsrowsframewithvalue) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withShow(value=true)`](#fn-optionstooltipwithshow) - * [`fn withYHistogram(value=true)`](#fn-optionstooltipwithyhistogram) - * [`obj yAxis`](#obj-optionsyaxis) - * [`fn withAxisCenteredZero(value=true)`](#fn-optionsyaxiswithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-optionsyaxiswithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-optionsyaxiswithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-optionsyaxiswithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-optionsyaxiswithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-optionsyaxiswithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-optionsyaxiswithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-optionsyaxiswithaxiswidth) - * [`fn withDecimals(value)`](#fn-optionsyaxiswithdecimals) - * [`fn withMax(value)`](#fn-optionsyaxiswithmax) - * [`fn withMin(value)`](#fn-optionsyaxiswithmin) - * [`fn withReverse(value=true)`](#fn-optionsyaxiswithreverse) - * [`fn withScaleDistribution(value)`](#fn-optionsyaxiswithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-optionsyaxiswithscaledistributionmixin) - * [`fn withUnit(value)`](#fn-optionsyaxiswithunit) - * [`obj scaleDistribution`](#obj-optionsyaxisscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-optionsyaxisscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-optionsyaxisscaledistributionwithlog) - * [`fn withType(value)`](#fn-optionsyaxisscaledistributionwithtype) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new heatmap panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### obj fieldConfig.defaults.custom.scaleDistribution - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withCalculate - -```jsonnet -options.withCalculate(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls if the heatmap should be calculated from data -#### fn options.withCalculation - -```jsonnet -options.withCalculation(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withCalculationMixin - -```jsonnet -options.withCalculationMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withCellGap - -```jsonnet -options.withCellGap(value=1) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `1` - -Controls gap between cells -#### fn options.withCellRadius - -```jsonnet -options.withCellRadius(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Controls cell radius -#### fn options.withCellValues - -```jsonnet -options.withCellValues(value={}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{}` - -Controls cell value unit -#### fn options.withCellValuesMixin - -```jsonnet -options.withCellValuesMixin(value={}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{}` - -Controls cell value unit -#### fn options.withColor - -```jsonnet -options.withColor(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}` - -Controls the color options -#### fn options.withColorMixin - -```jsonnet -options.withColorMixin(value={"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"exponent": 0.5,"fill": "dark-orange","reverse": false,"scheme": "Oranges","steps": 64}` - -Controls the color options -#### fn options.withExemplars - -```jsonnet -options.withExemplars(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls exemplar options -#### fn options.withExemplarsMixin - -```jsonnet -options.withExemplarsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls exemplar options -#### fn options.withFilterValues - -```jsonnet -options.withFilterValues(value={"le": 0.000000001}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"le": 0.000000001}` - -Filters values between a given range -#### fn options.withFilterValuesMixin - -```jsonnet -options.withFilterValuesMixin(value={"le": 0.000000001}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"le": 0.000000001}` - -Filters values between a given range -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls legend options -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls legend options -#### fn options.withRowsFrame - -```jsonnet -options.withRowsFrame(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls frame rows options -#### fn options.withRowsFrameMixin - -```jsonnet -options.withRowsFrameMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls frame rows options -#### fn options.withShowValue - -```jsonnet -options.withShowValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -| *{ - layout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed -} -Controls the display of the value in the cell -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls tooltip options -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls tooltip options -#### fn options.withYAxis - -```jsonnet -options.withYAxis(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Configuration options for the yAxis -#### fn options.withYAxisMixin - -```jsonnet -options.withYAxisMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Configuration options for the yAxis -#### obj options.calculation - - -##### fn options.calculation.withXBuckets - -```jsonnet -options.calculation.withXBuckets(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.calculation.withXBucketsMixin - -```jsonnet -options.calculation.withXBucketsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.calculation.withYBuckets - -```jsonnet -options.calculation.withYBuckets(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn options.calculation.withYBucketsMixin - -```jsonnet -options.calculation.withYBucketsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### obj options.calculation.xBuckets - - -###### fn options.calculation.xBuckets.withMode - -```jsonnet -options.calculation.xBuckets.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"size"`, `"count"` - - -###### fn options.calculation.xBuckets.withScale - -```jsonnet -options.calculation.xBuckets.withScale(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn options.calculation.xBuckets.withScaleMixin - -```jsonnet -options.calculation.xBuckets.withScaleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn options.calculation.xBuckets.withValue - -```jsonnet -options.calculation.xBuckets.withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The number of buckets to use for the axis in the heatmap -###### obj options.calculation.xBuckets.scale - - -####### fn options.calculation.xBuckets.scale.withLinearThreshold - -```jsonnet -options.calculation.xBuckets.scale.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn options.calculation.xBuckets.scale.withLog - -```jsonnet -options.calculation.xBuckets.scale.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn options.calculation.xBuckets.scale.withType - -```jsonnet -options.calculation.xBuckets.scale.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -##### obj options.calculation.yBuckets - - -###### fn options.calculation.yBuckets.withMode - -```jsonnet -options.calculation.yBuckets.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"size"`, `"count"` - - -###### fn options.calculation.yBuckets.withScale - -```jsonnet -options.calculation.yBuckets.withScale(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn options.calculation.yBuckets.withScaleMixin - -```jsonnet -options.calculation.yBuckets.withScaleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn options.calculation.yBuckets.withValue - -```jsonnet -options.calculation.yBuckets.withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The number of buckets to use for the axis in the heatmap -###### obj options.calculation.yBuckets.scale - - -####### fn options.calculation.yBuckets.scale.withLinearThreshold - -```jsonnet -options.calculation.yBuckets.scale.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn options.calculation.yBuckets.scale.withLog - -```jsonnet -options.calculation.yBuckets.scale.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn options.calculation.yBuckets.scale.withType - -```jsonnet -options.calculation.yBuckets.scale.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -#### obj options.cellValues - - -##### fn options.cellValues.withCellValues - -```jsonnet -options.cellValues.withCellValues(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls cell value options -##### fn options.cellValues.withCellValuesMixin - -```jsonnet -options.cellValues.withCellValuesMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls cell value options -##### obj options.cellValues.CellValues - - -###### fn options.cellValues.CellValues.withDecimals - -```jsonnet -options.cellValues.CellValues.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Controls the number of decimals for cell values -###### fn options.cellValues.CellValues.withUnit - -```jsonnet -options.cellValues.CellValues.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls the cell value unit -#### obj options.color - - -##### fn options.color.withHeatmapColorOptions - -```jsonnet -options.color.withHeatmapColorOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls various color options -##### fn options.color.withHeatmapColorOptionsMixin - -```jsonnet -options.color.withHeatmapColorOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls various color options -##### obj options.color.HeatmapColorOptions - - -###### fn options.color.HeatmapColorOptions.withExponent - -```jsonnet -options.color.HeatmapColorOptions.withExponent(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Controls the exponent when scale is set to exponential -###### fn options.color.HeatmapColorOptions.withFill - -```jsonnet -options.color.HeatmapColorOptions.withFill(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls the color fill when in opacity mode -###### fn options.color.HeatmapColorOptions.withMax - -```jsonnet -options.color.HeatmapColorOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the maximum value for the color scale -###### fn options.color.HeatmapColorOptions.withMin - -```jsonnet -options.color.HeatmapColorOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the minimum value for the color scale -###### fn options.color.HeatmapColorOptions.withMode - -```jsonnet -options.color.HeatmapColorOptions.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"opacity"`, `"scheme"` - -Controls the color mode of the heatmap -###### fn options.color.HeatmapColorOptions.withReverse - -```jsonnet -options.color.HeatmapColorOptions.withReverse(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Reverses the color scheme -###### fn options.color.HeatmapColorOptions.withScale - -```jsonnet -options.color.HeatmapColorOptions.withScale(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"exponential"` - -Controls the color scale of the heatmap -###### fn options.color.HeatmapColorOptions.withScheme - -```jsonnet -options.color.HeatmapColorOptions.withScheme(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls the color scheme used -###### fn options.color.HeatmapColorOptions.withSteps - -```jsonnet -options.color.HeatmapColorOptions.withSteps(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Controls the number of color steps -#### obj options.exemplars - - -##### fn options.exemplars.withColor - -```jsonnet -options.exemplars.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Sets the color of the exemplar markers -#### obj options.filterValues - - -##### fn options.filterValues.withFilterValueRange - -```jsonnet -options.filterValues.withFilterValueRange(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls the value filter range -##### fn options.filterValues.withFilterValueRangeMixin - -```jsonnet -options.filterValues.withFilterValueRangeMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Controls the value filter range -##### obj options.filterValues.FilterValueRange - - -###### fn options.filterValues.FilterValueRange.withGe - -```jsonnet -options.filterValues.FilterValueRange.withGe(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the filter range to values greater than or equal to the given value -###### fn options.filterValues.FilterValueRange.withLe - -```jsonnet -options.filterValues.FilterValueRange.withLe(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the filter range to values less than or equal to the given value -#### obj options.legend - - -##### fn options.legend.withShow - -```jsonnet -options.legend.withShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls if the legend is shown -#### obj options.rowsFrame - - -##### fn options.rowsFrame.withLayout - -```jsonnet -options.rowsFrame.withLayout(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"le"`, `"ge"`, `"unknown"`, `"auto"` - - -##### fn options.rowsFrame.withValue - -```jsonnet -options.rowsFrame.withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Sets the name of the cell when not calculating from data -#### obj options.tooltip - - -##### fn options.tooltip.withShow - -```jsonnet -options.tooltip.withShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls if the tooltip is shown -##### fn options.tooltip.withYHistogram - -```jsonnet -options.tooltip.withYHistogram(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls if the tooltip shows a histogram of the y-axis values -#### obj options.yAxis - - -##### fn options.yAxis.withAxisCenteredZero - -```jsonnet -options.yAxis.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.yAxis.withAxisColorMode - -```jsonnet -options.yAxis.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -##### fn options.yAxis.withAxisGridShow - -```jsonnet -options.yAxis.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.yAxis.withAxisLabel - -```jsonnet -options.yAxis.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.yAxis.withAxisPlacement - -```jsonnet -options.yAxis.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -##### fn options.yAxis.withAxisSoftMax - -```jsonnet -options.yAxis.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.yAxis.withAxisSoftMin - -```jsonnet -options.yAxis.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.yAxis.withAxisWidth - -```jsonnet -options.yAxis.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn options.yAxis.withDecimals - -```jsonnet -options.yAxis.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Controls the number of decimals for yAxis values -##### fn options.yAxis.withMax - -```jsonnet -options.yAxis.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the maximum value for the yAxis -##### fn options.yAxis.withMin - -```jsonnet -options.yAxis.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Sets the minimum value for the yAxis -##### fn options.yAxis.withReverse - -```jsonnet -options.yAxis.withReverse(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Reverses the yAxis -##### fn options.yAxis.withScaleDistribution - -```jsonnet -options.yAxis.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn options.yAxis.withScaleDistributionMixin - -```jsonnet -options.yAxis.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn options.yAxis.withUnit - -```jsonnet -options.yAxis.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Sets the yAxis unit -##### obj options.yAxis.scaleDistribution - - -###### fn options.yAxis.scaleDistribution.withLinearThreshold - -```jsonnet -options.yAxis.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn options.yAxis.scaleDistribution.withLog - -```jsonnet -options.yAxis.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn options.yAxis.scaleDistribution.withType - -```jsonnet -options.yAxis.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/heatmap/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md deleted file mode 100644 index 48daae8edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/index.md +++ /dev/null @@ -1,1098 +0,0 @@ -# histogram - -grafonnet.panel.histogram - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) - * [`fn withFillOpacity(value=80)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withBucketOffset(value=0)`](#fn-optionswithbucketoffset) - * [`fn withBucketSize(value)`](#fn-optionswithbucketsize) - * [`fn withCombine(value=true)`](#fn-optionswithcombine) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new histogram panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withAxisCenteredZero - -```jsonnet -fieldConfig.defaults.custom.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisColorMode - -```jsonnet -fieldConfig.defaults.custom.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisGridShow - -```jsonnet -fieldConfig.defaults.custom.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisLabel - -```jsonnet -fieldConfig.defaults.custom.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withAxisPlacement - -```jsonnet -fieldConfig.defaults.custom.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisSoftMax - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisSoftMin - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisWidth - -```jsonnet -fieldConfig.defaults.custom.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value=80) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `80` - -Controls the fill opacity of the bars. -###### fn fieldConfig.defaults.custom.withGradientMode - -```jsonnet -fieldConfig.defaults.custom.withGradientMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option. -Gradient appearance is influenced by the Fill opacity setting. -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value=1) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `1` - -Controls line width of the bars. -###### fn fieldConfig.defaults.custom.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### obj fieldConfig.defaults.custom.scaleDistribution - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withBucketOffset - -```jsonnet -options.withBucketOffset(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -Offset buckets by this amount -#### fn options.withBucketSize - -```jsonnet -options.withBucketSize(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Size of each bucket -#### fn options.withCombine - -```jsonnet -options.withCombine(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Combines multiple series into a single histogram -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/histogram/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md deleted file mode 100644 index d29f1572a8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/index.md +++ /dev/null @@ -1,33 +0,0 @@ -# panel - -grafonnet.panel - -## Subpackages - -* [alertGroups](alertGroups/index.md) -* [alertList](alertList/index.md) -* [annotationsList](annotationsList/index.md) -* [barChart](barChart/index.md) -* [barGauge](barGauge/index.md) -* [candlestick](candlestick/index.md) -* [canvas](canvas/index.md) -* [dashboardList](dashboardList/index.md) -* [datagrid](datagrid/index.md) -* [debug](debug/index.md) -* [gauge](gauge/index.md) -* [geomap](geomap/index.md) -* [heatmap](heatmap/index.md) -* [histogram](histogram/index.md) -* [logs](logs/index.md) -* [news](news/index.md) -* [nodeGraph](nodeGraph/index.md) -* [pieChart](pieChart/index.md) -* [row](row.md) -* [stat](stat/index.md) -* [stateTimeline](stateTimeline/index.md) -* [statusHistory](statusHistory/index.md) -* [table](table/index.md) -* [text](text/index.md) -* [timeSeries](timeSeries/index.md) -* [trend](trend/index.md) -* [xyChart](xyChart/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md deleted file mode 100644 index 4d1f3ad2b4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/index.md +++ /dev/null @@ -1,672 +0,0 @@ -# logs - -grafonnet.panel.logs - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withDedupStrategy(value)`](#fn-optionswithdedupstrategy) - * [`fn withEnableLogDetails(value=true)`](#fn-optionswithenablelogdetails) - * [`fn withPrettifyLogMessage(value=true)`](#fn-optionswithprettifylogmessage) - * [`fn withShowCommonLabels(value=true)`](#fn-optionswithshowcommonlabels) - * [`fn withShowLabels(value=true)`](#fn-optionswithshowlabels) - * [`fn withShowTime(value=true)`](#fn-optionswithshowtime) - * [`fn withSortOrder(value)`](#fn-optionswithsortorder) - * [`fn withWrapLogMessage(value=true)`](#fn-optionswithwraplogmessage) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new logs panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withDedupStrategy - -```jsonnet -options.withDedupStrategy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"exact"`, `"numbers"`, `"signature"` - - -#### fn options.withEnableLogDetails - -```jsonnet -options.withEnableLogDetails(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withPrettifyLogMessage - -```jsonnet -options.withPrettifyLogMessage(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowCommonLabels - -```jsonnet -options.withShowCommonLabels(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowLabels - -```jsonnet -options.withShowLabels(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withShowTime - -```jsonnet -options.withShowTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn options.withSortOrder - -```jsonnet -options.withSortOrder(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Descending"`, `"Ascending"` - - -#### fn options.withWrapLogMessage - -```jsonnet -options.withWrapLogMessage(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/logs/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md deleted file mode 100644 index bdad9a6e8b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/index.md +++ /dev/null @@ -1,593 +0,0 @@ -# news - -grafonnet.panel.news - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withFeedUrl(value)`](#fn-optionswithfeedurl) - * [`fn withShowImage(value=true)`](#fn-optionswithshowimage) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new news panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withFeedUrl - -```jsonnet -options.withFeedUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - -empty/missing will default to grafana blog -#### fn options.withShowImage - -```jsonnet -options.withShowImage(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/news/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md deleted file mode 100644 index 694775f663..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/index.md +++ /dev/null @@ -1,697 +0,0 @@ -# nodeGraph - -grafonnet.panel.nodeGraph - -## Subpackages - -* [options.nodes.arcs](options/nodes/arcs.md) -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withEdges(value)`](#fn-optionswithedges) - * [`fn withEdgesMixin(value)`](#fn-optionswithedgesmixin) - * [`fn withNodes(value)`](#fn-optionswithnodes) - * [`fn withNodesMixin(value)`](#fn-optionswithnodesmixin) - * [`obj edges`](#obj-optionsedges) - * [`fn withMainStatUnit(value)`](#fn-optionsedgeswithmainstatunit) - * [`fn withSecondaryStatUnit(value)`](#fn-optionsedgeswithsecondarystatunit) - * [`obj nodes`](#obj-optionsnodes) - * [`fn withArcs(value)`](#fn-optionsnodeswitharcs) - * [`fn withArcsMixin(value)`](#fn-optionsnodeswitharcsmixin) - * [`fn withMainStatUnit(value)`](#fn-optionsnodeswithmainstatunit) - * [`fn withSecondaryStatUnit(value)`](#fn-optionsnodeswithsecondarystatunit) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new nodeGraph panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withEdges - -```jsonnet -options.withEdges(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withEdgesMixin - -```jsonnet -options.withEdgesMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withNodes - -```jsonnet -options.withNodes(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withNodesMixin - -```jsonnet -options.withNodesMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### obj options.edges - - -##### fn options.edges.withMainStatUnit - -```jsonnet -options.edges.withMainStatUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unit for the main stat to override what ever is set in the data frame. -##### fn options.edges.withSecondaryStatUnit - -```jsonnet -options.edges.withSecondaryStatUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unit for the secondary stat to override what ever is set in the data frame. -#### obj options.nodes - - -##### fn options.nodes.withArcs - -```jsonnet -options.nodes.withArcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Define which fields are shown as part of the node arc (colored circle around the node). -##### fn options.nodes.withArcsMixin - -```jsonnet -options.nodes.withArcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Define which fields are shown as part of the node arc (colored circle around the node). -##### fn options.nodes.withMainStatUnit - -```jsonnet -options.nodes.withMainStatUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unit for the main stat to override what ever is set in the data frame. -##### fn options.nodes.withSecondaryStatUnit - -```jsonnet -options.nodes.withSecondaryStatUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unit for the secondary stat to override what ever is set in the data frame. -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md deleted file mode 100644 index f80fe24133..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/options/nodes/arcs.md +++ /dev/null @@ -1,33 +0,0 @@ -# arcs - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withField(value)`](#fn-withfield) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The color of the arc. -### fn withField - -```jsonnet -withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Field from which to get the value. Values should be less than 1, representing fraction of a circle. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/nodeGraph/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md deleted file mode 100644 index b431d7427c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/index.md +++ /dev/null @@ -1,1071 +0,0 @@ -# pieChart - -grafonnet.panel.pieChart - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withDisplayLabels(value)`](#fn-optionswithdisplaylabels) - * [`fn withDisplayLabelsMixin(value)`](#fn-optionswithdisplaylabelsmixin) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withOrientation(value)`](#fn-optionswithorientation) - * [`fn withPieType(value)`](#fn-optionswithpietype) - * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) - * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) - * [`fn withText(value)`](#fn-optionswithtext) - * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withValues(value)`](#fn-optionslegendwithvalues) - * [`fn withValuesMixin(value)`](#fn-optionslegendwithvaluesmixin) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj reduceOptions`](#obj-optionsreduceoptions) - * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) - * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) - * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) - * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) - * [`obj text`](#obj-optionstext) - * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) - * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new pieChart panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withDisplayLabels - -```jsonnet -options.withDisplayLabels(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withDisplayLabelsMixin - -```jsonnet -options.withDisplayLabelsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withOrientation - -```jsonnet -options.withOrientation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"vertical"`, `"horizontal"` - -TODO docs -#### fn options.withPieType - -```jsonnet -options.withPieType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"pie"`, `"donut"` - -Select the pie chart display style. -#### fn options.withReduceOptions - -```jsonnet -options.withReduceOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withReduceOptionsMixin - -```jsonnet -options.withReduceOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withText - -```jsonnet -options.withText(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMixin - -```jsonnet -options.withTextMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withValues - -```jsonnet -options.legend.withValues(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withValuesMixin - -```jsonnet -options.legend.withValuesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.reduceOptions - - -##### fn options.reduceOptions.withCalcs - -```jsonnet -options.reduceOptions.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withCalcsMixin - -```jsonnet -options.reduceOptions.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withFields - -```jsonnet -options.reduceOptions.withFields(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Which fields to show. By default this is only numeric fields -##### fn options.reduceOptions.withLimit - -```jsonnet -options.reduceOptions.withLimit(value) -``` - -PARAMETERS: - -* **value** (`number`) - -if showing all values limit -##### fn options.reduceOptions.withValues - -```jsonnet -options.reduceOptions.withValues(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -If true show each row value -#### obj options.text - - -##### fn options.text.withTitleSize - -```jsonnet -options.text.withTitleSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit title text size -##### fn options.text.withValueSize - -```jsonnet -options.text.withValueSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit value text size -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/pieChart/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md deleted file mode 100644 index 8ae5023936..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/row.md +++ /dev/null @@ -1,248 +0,0 @@ -# row - -grafonnet.panel.row - -## Index - -* [`fn new(title)`](#fn-new) -* [`fn withCollapsed(value=true)`](#fn-withcollapsed) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withDatasourceMixin(value)`](#fn-withdatasourcemixin) -* [`fn withGridPos(value)`](#fn-withgridpos) -* [`fn withGridPosMixin(value)`](#fn-withgridposmixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withPanels(value)`](#fn-withpanels) -* [`fn withPanelsMixin(value)`](#fn-withpanelsmixin) -* [`fn withRepeat(value)`](#fn-withrepeat) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withType()`](#fn-withtype) -* [`obj datasource`](#obj-datasource) - * [`fn withType(value)`](#fn-datasourcewithtype) - * [`fn withUid(value)`](#fn-datasourcewithuid) -* [`obj gridPos`](#obj-gridpos) - * [`fn withH(value=9)`](#fn-gridposwithh) - * [`fn withStatic(value=true)`](#fn-gridposwithstatic) - * [`fn withW(value=12)`](#fn-gridposwithw) - * [`fn withX(value=0)`](#fn-gridposwithx) - * [`fn withY(value=0)`](#fn-gridposwithy) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new row panel with a title. -### fn withCollapsed - -```jsonnet -withCollapsed(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Name of default datasource. -### fn withDatasourceMixin - -```jsonnet -withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Name of default datasource. -### fn withGridPos - -```jsonnet -withGridPos(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withGridPosMixin - -```jsonnet -withGridPosMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withPanels - -```jsonnet -withPanels(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPanelsMixin - -```jsonnet -withPanelsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withRepeat - -```jsonnet -withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType() -``` - - - -### obj datasource - - -#### fn datasource.withType - -```jsonnet -datasource.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn datasource.withUid - -```jsonnet -datasource.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj gridPos - - -#### fn gridPos.withH - -```jsonnet -gridPos.withH(value=9) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `9` - -Panel -#### fn gridPos.withStatic - -```jsonnet -gridPos.withStatic(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if fixed -#### fn gridPos.withW - -```jsonnet -gridPos.withW(value=12) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `12` - -Panel -#### fn gridPos.withX - -```jsonnet -gridPos.withX(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -Panel x -#### fn gridPos.withY - -```jsonnet -gridPos.withY(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - -Panel y \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md deleted file mode 100644 index a76b1af08c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/index.md +++ /dev/null @@ -1,774 +0,0 @@ -# stat - -grafonnet.panel.stat - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withColorMode(value)`](#fn-optionswithcolormode) - * [`fn withGraphMode(value)`](#fn-optionswithgraphmode) - * [`fn withJustifyMode(value)`](#fn-optionswithjustifymode) - * [`fn withOrientation(value)`](#fn-optionswithorientation) - * [`fn withReduceOptions(value)`](#fn-optionswithreduceoptions) - * [`fn withReduceOptionsMixin(value)`](#fn-optionswithreduceoptionsmixin) - * [`fn withText(value)`](#fn-optionswithtext) - * [`fn withTextMixin(value)`](#fn-optionswithtextmixin) - * [`fn withTextMode(value)`](#fn-optionswithtextmode) - * [`obj reduceOptions`](#obj-optionsreduceoptions) - * [`fn withCalcs(value)`](#fn-optionsreduceoptionswithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionsreduceoptionswithcalcsmixin) - * [`fn withFields(value)`](#fn-optionsreduceoptionswithfields) - * [`fn withLimit(value)`](#fn-optionsreduceoptionswithlimit) - * [`fn withValues(value=true)`](#fn-optionsreduceoptionswithvalues) - * [`obj text`](#obj-optionstext) - * [`fn withTitleSize(value)`](#fn-optionstextwithtitlesize) - * [`fn withValueSize(value)`](#fn-optionstextwithvaluesize) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new stat panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withColorMode - -```jsonnet -options.withColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"value"`, `"background"`, `"background_solid"`, `"none"` - -TODO docs -#### fn options.withGraphMode - -```jsonnet -options.withGraphMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"line"`, `"area"` - -TODO docs -#### fn options.withJustifyMode - -```jsonnet -options.withJustifyMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"center"` - -TODO docs -#### fn options.withOrientation - -```jsonnet -options.withOrientation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"vertical"`, `"horizontal"` - -TODO docs -#### fn options.withReduceOptions - -```jsonnet -options.withReduceOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withReduceOptionsMixin - -```jsonnet -options.withReduceOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withText - -```jsonnet -options.withText(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMixin - -```jsonnet -options.withTextMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTextMode - -```jsonnet -options.withTextMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"value"`, `"value_and_name"`, `"name"`, `"none"` - -TODO docs -#### obj options.reduceOptions - - -##### fn options.reduceOptions.withCalcs - -```jsonnet -options.reduceOptions.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withCalcsMixin - -```jsonnet -options.reduceOptions.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -When !values, pick one value for the whole field -##### fn options.reduceOptions.withFields - -```jsonnet -options.reduceOptions.withFields(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Which fields to show. By default this is only numeric fields -##### fn options.reduceOptions.withLimit - -```jsonnet -options.reduceOptions.withLimit(value) -``` - -PARAMETERS: - -* **value** (`number`) - -if showing all values limit -##### fn options.reduceOptions.withValues - -```jsonnet -options.reduceOptions.withValues(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -If true show each row value -#### obj options.text - - -##### fn options.text.withTitleSize - -```jsonnet -options.text.withTitleSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit title text size -##### fn options.text.withValueSize - -```jsonnet -options.text.withValueSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Explicit value text size -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stat/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md deleted file mode 100644 index 091ed33bd8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/index.md +++ /dev/null @@ -1,956 +0,0 @@ -# stateTimeline - -grafonnet.panel.stateTimeline - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withFillOpacity(value=70)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineWidth(value=0)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withAlignValue(value)`](#fn-optionswithalignvalue) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withMergeValues(value=true)`](#fn-optionswithmergevalues) - * [`fn withRowHeight(value=0.9)`](#fn-optionswithrowheight) - * [`fn withShowValue(value)`](#fn-optionswithshowvalue) - * [`fn withTimezone(value)`](#fn-optionswithtimezone) - * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new stateTimeline panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value=70) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `70` - - -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value=0) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `0` - - -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withAlignValue - -```jsonnet -options.withAlignValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls value alignment on the timelines -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withMergeValues - -```jsonnet -options.withMergeValues(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Merge equal consecutive values -#### fn options.withRowHeight - -```jsonnet -options.withRowHeight(value=0.9) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0.9` - -Controls the row height -#### fn options.withShowValue - -```jsonnet -options.withShowValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Show timeline values on chart -#### fn options.withTimezone - -```jsonnet -options.withTimezone(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTimezoneMixin - -```jsonnet -options.withTimezoneMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/stateTimeline/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md deleted file mode 100644 index c0b81780d2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/index.md +++ /dev/null @@ -1,944 +0,0 @@ -# statusHistory - -grafonnet.panel.statusHistory - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withFillOpacity(value=70)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineWidth(value=1)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withColWidth(value=0.9)`](#fn-optionswithcolwidth) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withRowHeight(value=0.9)`](#fn-optionswithrowheight) - * [`fn withShowValue(value)`](#fn-optionswithshowvalue) - * [`fn withTimezone(value)`](#fn-optionswithtimezone) - * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new statusHistory panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value=70) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `70` - - -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value=1) -``` - -PARAMETERS: - -* **value** (`integer`) - - default value: `1` - - -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withColWidth - -```jsonnet -options.withColWidth(value=0.9) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0.9` - -Controls the column width -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withRowHeight - -```jsonnet -options.withRowHeight(value=0.9) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0.9` - -Set the height of the rows -#### fn options.withShowValue - -```jsonnet -options.withShowValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Show values on the columns -#### fn options.withTimezone - -```jsonnet -options.withTimezone(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTimezoneMixin - -```jsonnet -options.withTimezoneMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/statusHistory/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md deleted file mode 100644 index 3704ddf312..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/index.md +++ /dev/null @@ -1,1830 +0,0 @@ -# table - -grafonnet.panel.table - -## Subpackages - -* [options.sortBy](options/sortBy.md) -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withAlign(value)`](#fn-fieldconfigdefaultscustomwithalign) - * [`fn withCellOptions(value)`](#fn-fieldconfigdefaultscustomwithcelloptions) - * [`fn withCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomwithcelloptionsmixin) - * [`fn withDisplayMode(value)`](#fn-fieldconfigdefaultscustomwithdisplaymode) - * [`fn withFilterable(value=true)`](#fn-fieldconfigdefaultscustomwithfilterable) - * [`fn withHidden(value=true)`](#fn-fieldconfigdefaultscustomwithhidden) - * [`fn withHideHeader(value=true)`](#fn-fieldconfigdefaultscustomwithhideheader) - * [`fn withInspect(value=true)`](#fn-fieldconfigdefaultscustomwithinspect) - * [`fn withMinWidth(value)`](#fn-fieldconfigdefaultscustomwithminwidth) - * [`fn withWidth(value)`](#fn-fieldconfigdefaultscustomwithwidth) - * [`obj cellOptions`](#obj-fieldconfigdefaultscustomcelloptions) - * [`fn withTableAutoCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableautocelloptions) - * [`fn withTableAutoCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableautocelloptionsmixin) - * [`fn withTableBarGaugeCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablebargaugecelloptions) - * [`fn withTableBarGaugeCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablebargaugecelloptionsmixin) - * [`fn withTableColorTextCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecolortextcelloptions) - * [`fn withTableColorTextCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecolortextcelloptionsmixin) - * [`fn withTableColoredBackgroundCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecoloredbackgroundcelloptions) - * [`fn withTableColoredBackgroundCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablecoloredbackgroundcelloptionsmixin) - * [`fn withTableImageCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableimagecelloptions) - * [`fn withTableImageCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtableimagecelloptionsmixin) - * [`fn withTableJsonViewCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablejsonviewcelloptions) - * [`fn withTableJsonViewCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablejsonviewcelloptionsmixin) - * [`fn withTableSparklineCellOptions(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablesparklinecelloptions) - * [`fn withTableSparklineCellOptionsMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionswithtablesparklinecelloptionsmixin) - * [`obj TableAutoCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstableautocelloptions) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstableautocelloptionswithtype) - * [`obj TableBarGaugeCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablebargaugecelloptions) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithmode) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithtype) - * [`fn withValueDisplayMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablebargaugecelloptionswithvaluedisplaymode) - * [`obj TableColorTextCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablecolortextcelloptions) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablecolortextcelloptionswithtype) - * [`obj TableColoredBackgroundCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptions) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptionswithmode) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablecoloredbackgroundcelloptionswithtype) - * [`obj TableImageCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstableimagecelloptions) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstableimagecelloptionswithtype) - * [`obj TableJsonViewCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablejsonviewcelloptions) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablejsonviewcelloptionswithtype) - * [`obj TableSparklineCellOptions`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptions) - * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithaxiswidth) - * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbaralignment) - * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbarmaxwidth) - * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithbarwidthfactor) - * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithdrawstyle) - * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillbelowto) - * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillcolor) - * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithfillopacity) - * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithgradientmode) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithhidefrommixin) - * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinecolor) - * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlineinterpolation) - * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinestyle) - * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinestylemixin) - * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithlinewidth) - * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointcolor) - * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointsize) - * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithpointsymbol) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithscaledistributionmixin) - * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithshowpoints) - * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithspannulls) - * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithstacking) - * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithstackingmixin) - * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswiththresholdsstyle) - * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswiththresholdsstylemixin) - * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithtransform) - * [`fn withType()`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionswithtype) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionshidefromwithviz) - * [`obj lineStyle`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestyle) - * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithdash) - * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithdashmixin) - * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionslinestylewithfill) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsscaledistributionwithtype) - * [`obj stacking`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstacking) - * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstackingwithgroup) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsstackingwithmode) - * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsthresholdsstyle) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomcelloptionstablesparklinecelloptionsthresholdsstylewithmode) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withCellHeight(value)`](#fn-optionswithcellheight) - * [`fn withFooter(value={"countRows": false,"reducer": [],"show": false})`](#fn-optionswithfooter) - * [`fn withFooterMixin(value={"countRows": false,"reducer": [],"show": false})`](#fn-optionswithfootermixin) - * [`fn withFrameIndex(value=0)`](#fn-optionswithframeindex) - * [`fn withShowHeader(value=true)`](#fn-optionswithshowheader) - * [`fn withShowTypeIcons(value=true)`](#fn-optionswithshowtypeicons) - * [`fn withSortBy(value)`](#fn-optionswithsortby) - * [`fn withSortByMixin(value)`](#fn-optionswithsortbymixin) - * [`obj footer`](#obj-optionsfooter) - * [`fn withTableFooterOptions(value)`](#fn-optionsfooterwithtablefooteroptions) - * [`fn withTableFooterOptionsMixin(value)`](#fn-optionsfooterwithtablefooteroptionsmixin) - * [`obj TableFooterOptions`](#obj-optionsfootertablefooteroptions) - * [`fn withCountRows(value=true)`](#fn-optionsfootertablefooteroptionswithcountrows) - * [`fn withEnablePagination(value=true)`](#fn-optionsfootertablefooteroptionswithenablepagination) - * [`fn withFields(value)`](#fn-optionsfootertablefooteroptionswithfields) - * [`fn withFieldsMixin(value)`](#fn-optionsfootertablefooteroptionswithfieldsmixin) - * [`fn withReducer(value)`](#fn-optionsfootertablefooteroptionswithreducer) - * [`fn withReducerMixin(value)`](#fn-optionsfootertablefooteroptionswithreducermixin) - * [`fn withShow(value=true)`](#fn-optionsfootertablefooteroptionswithshow) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new table panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withAlign - -```jsonnet -fieldConfig.defaults.custom.withAlign(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"left"`, `"right"`, `"center"` - -TODO -- should not be table specific! TODO docs -###### fn fieldConfig.defaults.custom.withCellOptions - -```jsonnet -fieldConfig.defaults.custom.withCellOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Table cell options. Each cell has a display mode and other potential options for that display. -###### fn fieldConfig.defaults.custom.withCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.withCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Table cell options. Each cell has a display mode and other potential options for that display. -###### fn fieldConfig.defaults.custom.withDisplayMode - -```jsonnet -fieldConfig.defaults.custom.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"basic"`, `"color-background"`, `"color-background-solid"`, `"color-text"`, `"custom"`, `"gauge"`, `"gradient-gauge"`, `"image"`, `"json-view"`, `"lcd-gauge"`, `"sparkline"` - -Internally, this is the "type" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions -###### fn fieldConfig.defaults.custom.withFilterable - -```jsonnet -fieldConfig.defaults.custom.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withHidden - -```jsonnet -fieldConfig.defaults.custom.withHidden(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withHideHeader - -```jsonnet -fieldConfig.defaults.custom.withHideHeader(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Hides any header for a column, usefull for columns that show some static content or buttons. -###### fn fieldConfig.defaults.custom.withInspect - -```jsonnet -fieldConfig.defaults.custom.withInspect(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withMinWidth - -```jsonnet -fieldConfig.defaults.custom.withMinWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withWidth - -```jsonnet -fieldConfig.defaults.custom.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### obj fieldConfig.defaults.custom.cellOptions - - -####### fn fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Auto mode table cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableAutoCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Auto mode table cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Gauge cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableBarGaugeCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Gauge cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Colored text cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableColorTextCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Colored text cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Colored background cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableColoredBackgroundCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Colored background cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableImageCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableImageCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Json view cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableImageCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableImageCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Json view cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Json view cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableJsonViewCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Json view cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptions - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Sparkline cell options -####### fn fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptionsMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.withTableSparklineCellOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Sparkline cell options -####### obj fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableAutoCellOptions.withType() -``` - - - -####### obj fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"basic"`, `"gradient"`, `"lcd"` - -Enum expressing the possible display modes for the bar gauge component of Grafana UI -######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withType() -``` - - - -######## fn fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withValueDisplayMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableBarGaugeCellOptions.withValueDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"color"`, `"hidden"`, `"text"` - -Allows for the table cell gauge display type to set the gauge mode. -####### obj fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableColorTextCellOptions.withType() -``` - - - -####### obj fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"basic"`, `"gradient"` - -Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient. -######## fn fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableColoredBackgroundCellOptions.withType() -``` - - - -####### obj fieldConfig.defaults.custom.cellOptions.TableImageCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableImageCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableImageCellOptions.withType() -``` - - - -####### obj fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableJsonViewCellOptions.withType() -``` - - - -####### obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisCenteredZero - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisColorMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"series"`, `"text"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisGridShow - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisLabel - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisPlacement - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"bottom"`, `"hidden"`, `"left"`, `"right"`, `"top"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMax - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisWidth - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarAlignment - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarAlignment(value) -``` - -PARAMETERS: - -* **value** (`number`) - - valid values: `1`, `-1`, `0` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarMaxWidth - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarMaxWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarWidthFactor - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withBarWidthFactor(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withDrawStyle - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withDrawStyle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bars"`, `"line"`, `"points"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillBelowTo - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillBelowTo(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillColor - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withFillOpacity(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withGradientMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withGradientMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"hue"`, `"none"`, `"opacity"`, `"scheme"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineColor - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineInterpolation - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineInterpolation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"smooth"`, `"stepAfter"`, `"stepBefore"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyle - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyleMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withLineWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointColor - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSize - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSymbol - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withPointSymbol(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withShowPoints - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withShowPoints(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"always"`, `"auto"`, `"never"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withSpanNulls - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withSpanNulls(value) -``` - -PARAMETERS: - -* **value** (`["boolean", "number"]`) - -Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStacking - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStacking(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStackingMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withStackingMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyle - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyleMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withThresholdsStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withTransform - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withTransform(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"constant"`, `"negative-Y"` - -TODO docs -######## fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.withType() -``` - - - -######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDash - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDash(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDashMixin - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withDashMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withFill - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.lineStyle.withFill(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` - - -######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withGroup - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.stacking.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"normal"`, `"percent"` - -TODO docs -######## obj fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle - - -######### fn fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle.withMode - -```jsonnet -fieldConfig.defaults.custom.cellOptions.TableSparklineCellOptions.thresholdsStyle.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"area"`, `"dashed"`, `"dashed+area"`, `"line"`, `"line+area"`, `"off"`, `"series"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withCellHeight - -```jsonnet -options.withCellHeight(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Controls the height of the rows -#### fn options.withFooter - -```jsonnet -options.withFooter(value={"countRows": false,"reducer": [],"show": false}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"countRows": false,"reducer": [],"show": false}` - -Controls footer options -#### fn options.withFooterMixin - -```jsonnet -options.withFooterMixin(value={"countRows": false,"reducer": [],"show": false}) -``` - -PARAMETERS: - -* **value** (`object`) - - default value: `{"countRows": false,"reducer": [],"show": false}` - -Controls footer options -#### fn options.withFrameIndex - -```jsonnet -options.withFrameIndex(value=0) -``` - -PARAMETERS: - -* **value** (`number`) - - default value: `0` - -Represents the index of the selected frame -#### fn options.withShowHeader - -```jsonnet -options.withShowHeader(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls whether the panel should show the header -#### fn options.withShowTypeIcons - -```jsonnet -options.withShowTypeIcons(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Controls whether the header should show icons for the column types -#### fn options.withSortBy - -```jsonnet -options.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Used to control row sorting -#### fn options.withSortByMixin - -```jsonnet -options.withSortByMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Used to control row sorting -#### obj options.footer - - -##### fn options.footer.withTableFooterOptions - -```jsonnet -options.footer.withTableFooterOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Footer options -##### fn options.footer.withTableFooterOptionsMixin - -```jsonnet -options.footer.withTableFooterOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Footer options -##### obj options.footer.TableFooterOptions - - -###### fn options.footer.TableFooterOptions.withCountRows - -```jsonnet -options.footer.TableFooterOptions.withCountRows(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.footer.TableFooterOptions.withEnablePagination - -```jsonnet -options.footer.TableFooterOptions.withEnablePagination(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn options.footer.TableFooterOptions.withFields - -```jsonnet -options.footer.TableFooterOptions.withFields(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn options.footer.TableFooterOptions.withFieldsMixin - -```jsonnet -options.footer.TableFooterOptions.withFieldsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn options.footer.TableFooterOptions.withReducer - -```jsonnet -options.footer.TableFooterOptions.withReducer(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn options.footer.TableFooterOptions.withReducerMixin - -```jsonnet -options.footer.TableFooterOptions.withReducerMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn options.footer.TableFooterOptions.withShow - -```jsonnet -options.footer.TableFooterOptions.withShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md deleted file mode 100644 index 20748dc807..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/options/sortBy.md +++ /dev/null @@ -1,34 +0,0 @@ -# sortBy - - - -## Index - -* [`fn withDesc(value=true)`](#fn-withdesc) -* [`fn withDisplayName(value)`](#fn-withdisplayname) - -## Fields - -### fn withDesc - -```jsonnet -withDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Flag used to indicate descending sort order -### fn withDisplayName - -```jsonnet -withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Sets the display name of the field to sort by \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/table/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md deleted file mode 100644 index b70ade3ed4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/index.md +++ /dev/null @@ -1,662 +0,0 @@ -# text - -grafonnet.panel.text - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withCode(value)`](#fn-optionswithcode) - * [`fn withCodeMixin(value)`](#fn-optionswithcodemixin) - * [`fn withContent(value="# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)")`](#fn-optionswithcontent) - * [`fn withMode(value)`](#fn-optionswithmode) - * [`obj code`](#obj-optionscode) - * [`fn withLanguage(value="plaintext")`](#fn-optionscodewithlanguage) - * [`fn withShowLineNumbers(value=true)`](#fn-optionscodewithshowlinenumbers) - * [`fn withShowMiniMap(value=true)`](#fn-optionscodewithshowminimap) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new text panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withCode - -```jsonnet -options.withCode(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withCodeMixin - -```jsonnet -options.withCodeMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withContent - -```jsonnet -options.withContent(value="# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)"` - - -#### fn options.withMode - -```jsonnet -options.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"html"`, `"markdown"`, `"code"` - - -#### obj options.code - - -##### fn options.code.withLanguage - -```jsonnet -options.code.withLanguage(value="plaintext") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"plaintext"` - - valid values: `"plaintext"`, `"yaml"`, `"xml"`, `"typescript"`, `"sql"`, `"go"`, `"markdown"`, `"html"`, `"json"` - - -##### fn options.code.withShowLineNumbers - -```jsonnet -options.code.withShowLineNumbers(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.code.withShowMiniMap - -```jsonnet -options.code.withShowMiniMap(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/text/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md deleted file mode 100644 index fa1d2e7e4c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/index.md +++ /dev/null @@ -1,1430 +0,0 @@ -# timeSeries - -grafonnet.panel.timeSeries - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) - * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomwithbaralignment) - * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomwithbarmaxwidth) - * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomwithbarwidthfactor) - * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomwithdrawstyle) - * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomwithfillbelowto) - * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomwithfillcolor) - * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomwithlinecolor) - * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomwithlineinterpolation) - * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomwithlinestyle) - * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomwithlinestylemixin) - * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomwithpointcolor) - * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomwithpointsize) - * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomwithpointsymbol) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) - * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomwithshowpoints) - * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomwithspannulls) - * [`fn withSpanNullsMixin(value)`](#fn-fieldconfigdefaultscustomwithspannullsmixin) - * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomwithstacking) - * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomwithstackingmixin) - * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) - * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) - * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomwithtransform) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) - * [`obj lineStyle`](#obj-fieldconfigdefaultscustomlinestyle) - * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomlinestylewithdash) - * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomlinestylewithdashmixin) - * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomlinestylewithfill) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) - * [`obj stacking`](#obj-fieldconfigdefaultscustomstacking) - * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomstackingwithgroup) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomstackingwithmode) - * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withTimezone(value)`](#fn-optionswithtimezone) - * [`fn withTimezoneMixin(value)`](#fn-optionswithtimezonemixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new timeSeries panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withAxisCenteredZero - -```jsonnet -fieldConfig.defaults.custom.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisColorMode - -```jsonnet -fieldConfig.defaults.custom.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisGridShow - -```jsonnet -fieldConfig.defaults.custom.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisLabel - -```jsonnet -fieldConfig.defaults.custom.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withAxisPlacement - -```jsonnet -fieldConfig.defaults.custom.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisSoftMax - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisSoftMin - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisWidth - -```jsonnet -fieldConfig.defaults.custom.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withBarAlignment - -```jsonnet -fieldConfig.defaults.custom.withBarAlignment(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - valid values: `-1`, `0`, `1` - -TODO docs -###### fn fieldConfig.defaults.custom.withBarMaxWidth - -```jsonnet -fieldConfig.defaults.custom.withBarMaxWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withBarWidthFactor - -```jsonnet -fieldConfig.defaults.custom.withBarWidthFactor(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withDrawStyle - -```jsonnet -fieldConfig.defaults.custom.withDrawStyle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"line"`, `"bars"`, `"points"` - -TODO docs -###### fn fieldConfig.defaults.custom.withFillBelowTo - -```jsonnet -fieldConfig.defaults.custom.withFillBelowTo(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withFillColor - -```jsonnet -fieldConfig.defaults.custom.withFillColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withGradientMode - -```jsonnet -fieldConfig.defaults.custom.withGradientMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"opacity"`, `"hue"`, `"scheme"` - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineColor - -```jsonnet -fieldConfig.defaults.custom.withLineColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withLineInterpolation - -```jsonnet -fieldConfig.defaults.custom.withLineInterpolation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"smooth"`, `"stepBefore"`, `"stepAfter"` - -TODO docs -###### fn fieldConfig.defaults.custom.withLineStyle - -```jsonnet -fieldConfig.defaults.custom.withLineStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineStyleMixin - -```jsonnet -fieldConfig.defaults.custom.withLineStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withPointColor - -```jsonnet -fieldConfig.defaults.custom.withPointColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withPointSize - -```jsonnet -fieldConfig.defaults.custom.withPointSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withPointSymbol - -```jsonnet -fieldConfig.defaults.custom.withPointSymbol(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withShowPoints - -```jsonnet -fieldConfig.defaults.custom.withShowPoints(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"never"`, `"always"` - -TODO docs -###### fn fieldConfig.defaults.custom.withSpanNulls - -```jsonnet -fieldConfig.defaults.custom.withSpanNulls(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Indicate if null values should be treated as gaps or connected. -When the value is a number, it represents the maximum delta in the -X axis that should be considered connected. For timeseries, this is milliseconds -###### fn fieldConfig.defaults.custom.withSpanNullsMixin - -```jsonnet -fieldConfig.defaults.custom.withSpanNullsMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Indicate if null values should be treated as gaps or connected. -When the value is a number, it represents the maximum delta in the -X axis that should be considered connected. For timeseries, this is milliseconds -###### fn fieldConfig.defaults.custom.withStacking - -```jsonnet -fieldConfig.defaults.custom.withStacking(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withStackingMixin - -```jsonnet -fieldConfig.defaults.custom.withStackingMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyle - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withTransform - -```jsonnet -fieldConfig.defaults.custom.withTransform(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"constant"`, `"negative-Y"` - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### obj fieldConfig.defaults.custom.lineStyle - - -####### fn fieldConfig.defaults.custom.lineStyle.withDash - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withDash(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn fieldConfig.defaults.custom.lineStyle.withDashMixin - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withDashMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn fieldConfig.defaults.custom.lineStyle.withFill - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withFill(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` - - -###### obj fieldConfig.defaults.custom.scaleDistribution - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -###### obj fieldConfig.defaults.custom.stacking - - -####### fn fieldConfig.defaults.custom.stacking.withGroup - -```jsonnet -fieldConfig.defaults.custom.stacking.withGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -####### fn fieldConfig.defaults.custom.stacking.withMode - -```jsonnet -fieldConfig.defaults.custom.stacking.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"normal"`, `"percent"` - -TODO docs -###### obj fieldConfig.defaults.custom.thresholdsStyle - - -####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode - -```jsonnet -fieldConfig.defaults.custom.thresholdsStyle.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTimezone - -```jsonnet -options.withTimezone(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTimezoneMixin - -```jsonnet -options.withTimezoneMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/timeSeries/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md deleted file mode 100644 index cb752f91ed..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/index.md +++ /dev/null @@ -1,1418 +0,0 @@ -# trend - -grafonnet.panel.trend - -## Subpackages - -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj fieldConfig`](#obj-fieldconfig) - * [`obj defaults`](#obj-fieldconfigdefaults) - * [`obj custom`](#obj-fieldconfigdefaultscustom) - * [`fn withAxisCenteredZero(value=true)`](#fn-fieldconfigdefaultscustomwithaxiscenteredzero) - * [`fn withAxisColorMode(value)`](#fn-fieldconfigdefaultscustomwithaxiscolormode) - * [`fn withAxisGridShow(value=true)`](#fn-fieldconfigdefaultscustomwithaxisgridshow) - * [`fn withAxisLabel(value)`](#fn-fieldconfigdefaultscustomwithaxislabel) - * [`fn withAxisPlacement(value)`](#fn-fieldconfigdefaultscustomwithaxisplacement) - * [`fn withAxisSoftMax(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmax) - * [`fn withAxisSoftMin(value)`](#fn-fieldconfigdefaultscustomwithaxissoftmin) - * [`fn withAxisWidth(value)`](#fn-fieldconfigdefaultscustomwithaxiswidth) - * [`fn withBarAlignment(value)`](#fn-fieldconfigdefaultscustomwithbaralignment) - * [`fn withBarMaxWidth(value)`](#fn-fieldconfigdefaultscustomwithbarmaxwidth) - * [`fn withBarWidthFactor(value)`](#fn-fieldconfigdefaultscustomwithbarwidthfactor) - * [`fn withDrawStyle(value)`](#fn-fieldconfigdefaultscustomwithdrawstyle) - * [`fn withFillBelowTo(value)`](#fn-fieldconfigdefaultscustomwithfillbelowto) - * [`fn withFillColor(value)`](#fn-fieldconfigdefaultscustomwithfillcolor) - * [`fn withFillOpacity(value)`](#fn-fieldconfigdefaultscustomwithfillopacity) - * [`fn withGradientMode(value)`](#fn-fieldconfigdefaultscustomwithgradientmode) - * [`fn withHideFrom(value)`](#fn-fieldconfigdefaultscustomwithhidefrom) - * [`fn withHideFromMixin(value)`](#fn-fieldconfigdefaultscustomwithhidefrommixin) - * [`fn withLineColor(value)`](#fn-fieldconfigdefaultscustomwithlinecolor) - * [`fn withLineInterpolation(value)`](#fn-fieldconfigdefaultscustomwithlineinterpolation) - * [`fn withLineStyle(value)`](#fn-fieldconfigdefaultscustomwithlinestyle) - * [`fn withLineStyleMixin(value)`](#fn-fieldconfigdefaultscustomwithlinestylemixin) - * [`fn withLineWidth(value)`](#fn-fieldconfigdefaultscustomwithlinewidth) - * [`fn withPointColor(value)`](#fn-fieldconfigdefaultscustomwithpointcolor) - * [`fn withPointSize(value)`](#fn-fieldconfigdefaultscustomwithpointsize) - * [`fn withPointSymbol(value)`](#fn-fieldconfigdefaultscustomwithpointsymbol) - * [`fn withScaleDistribution(value)`](#fn-fieldconfigdefaultscustomwithscaledistribution) - * [`fn withScaleDistributionMixin(value)`](#fn-fieldconfigdefaultscustomwithscaledistributionmixin) - * [`fn withShowPoints(value)`](#fn-fieldconfigdefaultscustomwithshowpoints) - * [`fn withSpanNulls(value)`](#fn-fieldconfigdefaultscustomwithspannulls) - * [`fn withSpanNullsMixin(value)`](#fn-fieldconfigdefaultscustomwithspannullsmixin) - * [`fn withStacking(value)`](#fn-fieldconfigdefaultscustomwithstacking) - * [`fn withStackingMixin(value)`](#fn-fieldconfigdefaultscustomwithstackingmixin) - * [`fn withThresholdsStyle(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstyle) - * [`fn withThresholdsStyleMixin(value)`](#fn-fieldconfigdefaultscustomwiththresholdsstylemixin) - * [`fn withTransform(value)`](#fn-fieldconfigdefaultscustomwithtransform) - * [`obj hideFrom`](#obj-fieldconfigdefaultscustomhidefrom) - * [`fn withLegend(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-fieldconfigdefaultscustomhidefromwithviz) - * [`obj lineStyle`](#obj-fieldconfigdefaultscustomlinestyle) - * [`fn withDash(value)`](#fn-fieldconfigdefaultscustomlinestylewithdash) - * [`fn withDashMixin(value)`](#fn-fieldconfigdefaultscustomlinestylewithdashmixin) - * [`fn withFill(value)`](#fn-fieldconfigdefaultscustomlinestylewithfill) - * [`obj scaleDistribution`](#obj-fieldconfigdefaultscustomscaledistribution) - * [`fn withLinearThreshold(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithlog) - * [`fn withType(value)`](#fn-fieldconfigdefaultscustomscaledistributionwithtype) - * [`obj stacking`](#obj-fieldconfigdefaultscustomstacking) - * [`fn withGroup(value)`](#fn-fieldconfigdefaultscustomstackingwithgroup) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomstackingwithmode) - * [`obj thresholdsStyle`](#obj-fieldconfigdefaultscustomthresholdsstyle) - * [`fn withMode(value)`](#fn-fieldconfigdefaultscustomthresholdsstylewithmode) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`fn withXField(value)`](#fn-optionswithxfield) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new trend panel with a title. -### obj fieldConfig - - -#### obj fieldConfig.defaults - - -##### obj fieldConfig.defaults.custom - - -###### fn fieldConfig.defaults.custom.withAxisCenteredZero - -```jsonnet -fieldConfig.defaults.custom.withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisColorMode - -```jsonnet -fieldConfig.defaults.custom.withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisGridShow - -```jsonnet -fieldConfig.defaults.custom.withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### fn fieldConfig.defaults.custom.withAxisLabel - -```jsonnet -fieldConfig.defaults.custom.withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withAxisPlacement - -```jsonnet -fieldConfig.defaults.custom.withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -###### fn fieldConfig.defaults.custom.withAxisSoftMax - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisSoftMin - -```jsonnet -fieldConfig.defaults.custom.withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withAxisWidth - -```jsonnet -fieldConfig.defaults.custom.withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withBarAlignment - -```jsonnet -fieldConfig.defaults.custom.withBarAlignment(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - valid values: `-1`, `0`, `1` - -TODO docs -###### fn fieldConfig.defaults.custom.withBarMaxWidth - -```jsonnet -fieldConfig.defaults.custom.withBarMaxWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withBarWidthFactor - -```jsonnet -fieldConfig.defaults.custom.withBarWidthFactor(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withDrawStyle - -```jsonnet -fieldConfig.defaults.custom.withDrawStyle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"line"`, `"bars"`, `"points"` - -TODO docs -###### fn fieldConfig.defaults.custom.withFillBelowTo - -```jsonnet -fieldConfig.defaults.custom.withFillBelowTo(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withFillColor - -```jsonnet -fieldConfig.defaults.custom.withFillColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withFillOpacity - -```jsonnet -fieldConfig.defaults.custom.withFillOpacity(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withGradientMode - -```jsonnet -fieldConfig.defaults.custom.withGradientMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"opacity"`, `"hue"`, `"scheme"` - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFrom - -```jsonnet -fieldConfig.defaults.custom.withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withHideFromMixin - -```jsonnet -fieldConfig.defaults.custom.withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineColor - -```jsonnet -fieldConfig.defaults.custom.withLineColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withLineInterpolation - -```jsonnet -fieldConfig.defaults.custom.withLineInterpolation(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"smooth"`, `"stepBefore"`, `"stepAfter"` - -TODO docs -###### fn fieldConfig.defaults.custom.withLineStyle - -```jsonnet -fieldConfig.defaults.custom.withLineStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineStyleMixin - -```jsonnet -fieldConfig.defaults.custom.withLineStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withLineWidth - -```jsonnet -fieldConfig.defaults.custom.withLineWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withPointColor - -```jsonnet -fieldConfig.defaults.custom.withPointColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withPointSize - -```jsonnet -fieldConfig.defaults.custom.withPointSize(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -###### fn fieldConfig.defaults.custom.withPointSymbol - -```jsonnet -fieldConfig.defaults.custom.withPointSymbol(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn fieldConfig.defaults.custom.withScaleDistribution - -```jsonnet -fieldConfig.defaults.custom.withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withScaleDistributionMixin - -```jsonnet -fieldConfig.defaults.custom.withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withShowPoints - -```jsonnet -fieldConfig.defaults.custom.withShowPoints(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"never"`, `"always"` - -TODO docs -###### fn fieldConfig.defaults.custom.withSpanNulls - -```jsonnet -fieldConfig.defaults.custom.withSpanNulls(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Indicate if null values should be treated as gaps or connected. -When the value is a number, it represents the maximum delta in the -X axis that should be considered connected. For timeseries, this is milliseconds -###### fn fieldConfig.defaults.custom.withSpanNullsMixin - -```jsonnet -fieldConfig.defaults.custom.withSpanNullsMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Indicate if null values should be treated as gaps or connected. -When the value is a number, it represents the maximum delta in the -X axis that should be considered connected. For timeseries, this is milliseconds -###### fn fieldConfig.defaults.custom.withStacking - -```jsonnet -fieldConfig.defaults.custom.withStacking(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withStackingMixin - -```jsonnet -fieldConfig.defaults.custom.withStackingMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyle - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withThresholdsStyleMixin - -```jsonnet -fieldConfig.defaults.custom.withThresholdsStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -###### fn fieldConfig.defaults.custom.withTransform - -```jsonnet -fieldConfig.defaults.custom.withTransform(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"constant"`, `"negative-Y"` - -TODO docs -###### obj fieldConfig.defaults.custom.hideFrom - - -####### fn fieldConfig.defaults.custom.hideFrom.withLegend - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withTooltip - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -####### fn fieldConfig.defaults.custom.hideFrom.withViz - -```jsonnet -fieldConfig.defaults.custom.hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -###### obj fieldConfig.defaults.custom.lineStyle - - -####### fn fieldConfig.defaults.custom.lineStyle.withDash - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withDash(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn fieldConfig.defaults.custom.lineStyle.withDashMixin - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withDashMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn fieldConfig.defaults.custom.lineStyle.withFill - -```jsonnet -fieldConfig.defaults.custom.lineStyle.withFill(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` - - -###### obj fieldConfig.defaults.custom.scaleDistribution - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withLog - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -####### fn fieldConfig.defaults.custom.scaleDistribution.withType - -```jsonnet -fieldConfig.defaults.custom.scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs -###### obj fieldConfig.defaults.custom.stacking - - -####### fn fieldConfig.defaults.custom.stacking.withGroup - -```jsonnet -fieldConfig.defaults.custom.stacking.withGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -####### fn fieldConfig.defaults.custom.stacking.withMode - -```jsonnet -fieldConfig.defaults.custom.stacking.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"none"`, `"normal"`, `"percent"` - -TODO docs -###### obj fieldConfig.defaults.custom.thresholdsStyle - - -####### fn fieldConfig.defaults.custom.thresholdsStyle.withMode - -```jsonnet -fieldConfig.defaults.custom.thresholdsStyle.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"off"`, `"line"`, `"dashed"`, `"area"`, `"line+area"`, `"dashed+area"`, `"series"` - -TODO docs -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withXField - -```jsonnet -options.withXField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the x field to use (defaults to first number) -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/trend/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md deleted file mode 100644 index 9f89ebce5b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/index.md +++ /dev/null @@ -1,891 +0,0 @@ -# xyChart - -grafonnet.panel.xyChart - -## Subpackages - -* [options.series](options/series.md) -* [panelOptions.link](panelOptions/link.md) -* [queryOptions.transformation](queryOptions/transformation.md) -* [standardOptions.mapping](standardOptions/mapping.md) -* [standardOptions.override](standardOptions/override.md) -* [standardOptions.threshold.step](standardOptions/threshold/step.md) - -## Index - -* [`fn new(title)`](#fn-new) -* [`obj libraryPanel`](#obj-librarypanel) - * [`fn withName(value)`](#fn-librarypanelwithname) - * [`fn withUid(value)`](#fn-librarypanelwithuid) -* [`obj options`](#obj-options) - * [`fn withDims(value)`](#fn-optionswithdims) - * [`fn withDimsMixin(value)`](#fn-optionswithdimsmixin) - * [`fn withLegend(value)`](#fn-optionswithlegend) - * [`fn withLegendMixin(value)`](#fn-optionswithlegendmixin) - * [`fn withSeries(value)`](#fn-optionswithseries) - * [`fn withSeriesMapping(value)`](#fn-optionswithseriesmapping) - * [`fn withSeriesMixin(value)`](#fn-optionswithseriesmixin) - * [`fn withTooltip(value)`](#fn-optionswithtooltip) - * [`fn withTooltipMixin(value)`](#fn-optionswithtooltipmixin) - * [`obj dims`](#obj-optionsdims) - * [`fn withExclude(value)`](#fn-optionsdimswithexclude) - * [`fn withExcludeMixin(value)`](#fn-optionsdimswithexcludemixin) - * [`fn withFrame(value)`](#fn-optionsdimswithframe) - * [`fn withX(value)`](#fn-optionsdimswithx) - * [`obj legend`](#obj-optionslegend) - * [`fn withAsTable(value=true)`](#fn-optionslegendwithastable) - * [`fn withCalcs(value)`](#fn-optionslegendwithcalcs) - * [`fn withCalcsMixin(value)`](#fn-optionslegendwithcalcsmixin) - * [`fn withDisplayMode(value)`](#fn-optionslegendwithdisplaymode) - * [`fn withIsVisible(value=true)`](#fn-optionslegendwithisvisible) - * [`fn withPlacement(value)`](#fn-optionslegendwithplacement) - * [`fn withShowLegend(value=true)`](#fn-optionslegendwithshowlegend) - * [`fn withSortBy(value)`](#fn-optionslegendwithsortby) - * [`fn withSortDesc(value=true)`](#fn-optionslegendwithsortdesc) - * [`fn withWidth(value)`](#fn-optionslegendwithwidth) - * [`obj tooltip`](#obj-optionstooltip) - * [`fn withMode(value)`](#fn-optionstooltipwithmode) - * [`fn withSort(value)`](#fn-optionstooltipwithsort) -* [`obj panelOptions`](#obj-paneloptions) - * [`fn withDescription(value)`](#fn-paneloptionswithdescription) - * [`fn withGridPos(h="null", w="null", x="null", y="null")`](#fn-paneloptionswithgridpos) - * [`fn withLinks(value)`](#fn-paneloptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-paneloptionswithlinksmixin) - * [`fn withRepeat(value)`](#fn-paneloptionswithrepeat) - * [`fn withRepeatDirection(value="h")`](#fn-paneloptionswithrepeatdirection) - * [`fn withTitle(value)`](#fn-paneloptionswithtitle) - * [`fn withTransparent(value=true)`](#fn-paneloptionswithtransparent) -* [`obj queryOptions`](#obj-queryoptions) - * [`fn withDatasource(type, uid)`](#fn-queryoptionswithdatasource) - * [`fn withDatasourceMixin(value)`](#fn-queryoptionswithdatasourcemixin) - * [`fn withInterval(value)`](#fn-queryoptionswithinterval) - * [`fn withMaxDataPoints(value)`](#fn-queryoptionswithmaxdatapoints) - * [`fn withTargets(value)`](#fn-queryoptionswithtargets) - * [`fn withTargetsMixin(value)`](#fn-queryoptionswithtargetsmixin) - * [`fn withTimeFrom(value)`](#fn-queryoptionswithtimefrom) - * [`fn withTimeShift(value)`](#fn-queryoptionswithtimeshift) - * [`fn withTransformations(value)`](#fn-queryoptionswithtransformations) - * [`fn withTransformationsMixin(value)`](#fn-queryoptionswithtransformationsmixin) -* [`obj standardOptions`](#obj-standardoptions) - * [`fn withDecimals(value)`](#fn-standardoptionswithdecimals) - * [`fn withDisplayName(value)`](#fn-standardoptionswithdisplayname) - * [`fn withFilterable(value=true)`](#fn-standardoptionswithfilterable) - * [`fn withLinks(value)`](#fn-standardoptionswithlinks) - * [`fn withLinksMixin(value)`](#fn-standardoptionswithlinksmixin) - * [`fn withMappings(value)`](#fn-standardoptionswithmappings) - * [`fn withMappingsMixin(value)`](#fn-standardoptionswithmappingsmixin) - * [`fn withMax(value)`](#fn-standardoptionswithmax) - * [`fn withMin(value)`](#fn-standardoptionswithmin) - * [`fn withNoValue(value)`](#fn-standardoptionswithnovalue) - * [`fn withOverrides(value)`](#fn-standardoptionswithoverrides) - * [`fn withOverridesMixin(value)`](#fn-standardoptionswithoverridesmixin) - * [`fn withPath(value)`](#fn-standardoptionswithpath) - * [`fn withUnit(value)`](#fn-standardoptionswithunit) - * [`obj color`](#obj-standardoptionscolor) - * [`fn withFixedColor(value)`](#fn-standardoptionscolorwithfixedcolor) - * [`fn withMode(value)`](#fn-standardoptionscolorwithmode) - * [`fn withSeriesBy(value)`](#fn-standardoptionscolorwithseriesby) - * [`obj thresholds`](#obj-standardoptionsthresholds) - * [`fn withMode(value)`](#fn-standardoptionsthresholdswithmode) - * [`fn withSteps(value)`](#fn-standardoptionsthresholdswithsteps) - * [`fn withStepsMixin(value)`](#fn-standardoptionsthresholdswithstepsmixin) - -## Fields - -### fn new - -```jsonnet -new(title) -``` - -PARAMETERS: - -* **title** (`string`) - -Creates a new xyChart panel with a title. -### obj libraryPanel - - -#### fn libraryPanel.withName - -```jsonnet -libraryPanel.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn libraryPanel.withUid - -```jsonnet -libraryPanel.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj options - - -#### fn options.withDims - -```jsonnet -options.withDims(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withDimsMixin - -```jsonnet -options.withDimsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn options.withLegend - -```jsonnet -options.withLegend(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withLegendMixin - -```jsonnet -options.withLegendMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withSeries - -```jsonnet -options.withSeries(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withSeriesMapping - -```jsonnet -options.withSeriesMapping(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"manual"` - - -#### fn options.withSeriesMixin - -```jsonnet -options.withSeriesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn options.withTooltip - -```jsonnet -options.withTooltip(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### fn options.withTooltipMixin - -```jsonnet -options.withTooltipMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -#### obj options.dims - - -##### fn options.dims.withExclude - -```jsonnet -options.dims.withExclude(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.dims.withExcludeMixin - -```jsonnet -options.dims.withExcludeMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.dims.withFrame - -```jsonnet -options.dims.withFrame(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -##### fn options.dims.withX - -```jsonnet -options.dims.withX(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj options.legend - - -##### fn options.legend.withAsTable - -```jsonnet -options.legend.withAsTable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withCalcs - -```jsonnet -options.legend.withCalcs(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withCalcsMixin - -```jsonnet -options.legend.withCalcsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn options.legend.withDisplayMode - -```jsonnet -options.legend.withDisplayMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"list"`, `"table"`, `"hidden"` - -TODO docs -Note: "hidden" needs to remain as an option for plugins compatibility -##### fn options.legend.withIsVisible - -```jsonnet -options.legend.withIsVisible(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withPlacement - -```jsonnet -options.legend.withPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"bottom"`, `"right"` - -TODO docs -##### fn options.legend.withShowLegend - -```jsonnet -options.legend.withShowLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withSortBy - -```jsonnet -options.legend.withSortBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn options.legend.withSortDesc - -```jsonnet -options.legend.withSortDesc(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn options.legend.withWidth - -```jsonnet -options.legend.withWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### obj options.tooltip - - -##### fn options.tooltip.withMode - -```jsonnet -options.tooltip.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"single"`, `"multi"`, `"none"` - -TODO docs -##### fn options.tooltip.withSort - -```jsonnet -options.tooltip.withSort(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"asc"`, `"desc"`, `"none"` - -TODO docs -### obj panelOptions - - -#### fn panelOptions.withDescription - -```jsonnet -panelOptions.withDescription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Description. -#### fn panelOptions.withGridPos - -```jsonnet -panelOptions.withGridPos(h="null", w="null", x="null", y="null") -``` - -PARAMETERS: - -* **h** (`number`) - - default value: `"null"` -* **w** (`number`) - - default value: `"null"` -* **x** (`number`) - - default value: `"null"` -* **y** (`number`) - - default value: `"null"` - -`withGridPos` configures the height, width and xy coordinates of the panel. Also see `grafonnet.util.grid` for helper functions to calculate these fields. - -All arguments default to `null`, which means they will remain unchanged or unset. - -#### fn panelOptions.withLinks - -```jsonnet -panelOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withLinksMixin - -```jsonnet -panelOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Panel links. -TODO fill this out - seems there are a couple variants? -#### fn panelOptions.withRepeat - -```jsonnet -panelOptions.withRepeat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of template variable to repeat for. -#### fn panelOptions.withRepeatDirection - -```jsonnet -panelOptions.withRepeatDirection(value="h") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"h"` - - valid values: `"h"`, `"v"` - -Direction to repeat in if 'repeat' is set. -"h" for horizontal, "v" for vertical. -TODO this is probably optional -#### fn panelOptions.withTitle - -```jsonnet -panelOptions.withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Panel title. -#### fn panelOptions.withTransparent - -```jsonnet -panelOptions.withTransparent(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Whether to display the panel without a background. -### obj queryOptions - - -#### fn queryOptions.withDatasource - -```jsonnet -queryOptions.withDatasource(type, uid) -``` - -PARAMETERS: - -* **type** (`string`) -* **uid** (`string`) - -`withDatasource` sets the datasource for all queries in a panel. - -The default datasource for a panel is set to 'Mixed datasource' so panels can be datasource agnostic, which is a lot more interesting from a reusability standpoint. Note that this requires query targets to explicitly set datasource for the same reason. - -#### fn queryOptions.withDatasourceMixin - -```jsonnet -queryOptions.withDatasourceMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -The datasource used in all targets. -#### fn queryOptions.withInterval - -```jsonnet -queryOptions.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withMaxDataPoints - -```jsonnet -queryOptions.withMaxDataPoints(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -#### fn queryOptions.withTargets - -```jsonnet -queryOptions.withTargets(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTargetsMixin - -```jsonnet -queryOptions.withTargetsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -TODO docs -#### fn queryOptions.withTimeFrom - -```jsonnet -queryOptions.withTimeFrom(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTimeShift - -```jsonnet -queryOptions.withTimeShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO tighter constraint -#### fn queryOptions.withTransformations - -```jsonnet -queryOptions.withTransformations(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn queryOptions.withTransformationsMixin - -```jsonnet -queryOptions.withTransformationsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj standardOptions - - -#### fn standardOptions.withDecimals - -```jsonnet -standardOptions.withDecimals(value) -``` - -PARAMETERS: - -* **value** (`number`) - -Significant digits (for display) -#### fn standardOptions.withDisplayName - -```jsonnet -standardOptions.withDisplayName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The display value for this field. This supports template variables blank is auto -#### fn standardOptions.withFilterable - -```jsonnet -standardOptions.withFilterable(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -True if data source field supports ad-hoc filters -#### fn standardOptions.withLinks - -```jsonnet -standardOptions.withLinks(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withLinksMixin - -```jsonnet -standardOptions.withLinksMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The behavior when clicking on a result -#### fn standardOptions.withMappings - -```jsonnet -standardOptions.withMappings(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMappingsMixin - -```jsonnet -standardOptions.withMappingsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Convert input values into a display string -#### fn standardOptions.withMax - -```jsonnet -standardOptions.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withMin - -```jsonnet -standardOptions.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn standardOptions.withNoValue - -```jsonnet -standardOptions.withNoValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alternative to empty string -#### fn standardOptions.withOverrides - -```jsonnet -standardOptions.withOverrides(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withOverridesMixin - -```jsonnet -standardOptions.withOverridesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn standardOptions.withPath - -```jsonnet -standardOptions.withPath(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An explicit path to the field in the datasource. When the frame meta includes a path, -This will default to `${frame.meta.path}/${field.name} - -When defined, this value can be used as an identifier within the datasource scope, and -may be used to update the results -#### fn standardOptions.withUnit - -```jsonnet -standardOptions.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Numeric Options -#### obj standardOptions.color - - -##### fn standardOptions.color.withFixedColor - -```jsonnet -standardOptions.color.withFixedColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Stores the fixed color value if mode is fixed -##### fn standardOptions.color.withMode - -```jsonnet -standardOptions.color.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The main color scheme mode -##### fn standardOptions.color.withSeriesBy - -```jsonnet -standardOptions.color.withSeriesBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"min"`, `"max"`, `"last"` - -TODO docs -#### obj standardOptions.thresholds - - -##### fn standardOptions.thresholds.withMode - -```jsonnet -standardOptions.thresholds.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"absolute"`, `"percentage"` - - -##### fn standardOptions.thresholds.withSteps - -```jsonnet -standardOptions.thresholds.withSteps(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity -##### fn standardOptions.thresholds.withStepsMixin - -```jsonnet -standardOptions.thresholds.withStepsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Must be sorted by 'value', first value is always -Infinity \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md deleted file mode 100644 index 00891ab5d8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/options/series.md +++ /dev/null @@ -1,638 +0,0 @@ -# series - - - -## Index - -* [`fn withAxisCenteredZero(value=true)`](#fn-withaxiscenteredzero) -* [`fn withAxisColorMode(value)`](#fn-withaxiscolormode) -* [`fn withAxisGridShow(value=true)`](#fn-withaxisgridshow) -* [`fn withAxisLabel(value)`](#fn-withaxislabel) -* [`fn withAxisPlacement(value)`](#fn-withaxisplacement) -* [`fn withAxisSoftMax(value)`](#fn-withaxissoftmax) -* [`fn withAxisSoftMin(value)`](#fn-withaxissoftmin) -* [`fn withAxisWidth(value)`](#fn-withaxiswidth) -* [`fn withHideFrom(value)`](#fn-withhidefrom) -* [`fn withHideFromMixin(value)`](#fn-withhidefrommixin) -* [`fn withLabel(value)`](#fn-withlabel) -* [`fn withLabelValue(value)`](#fn-withlabelvalue) -* [`fn withLabelValueMixin(value)`](#fn-withlabelvaluemixin) -* [`fn withLineColor(value)`](#fn-withlinecolor) -* [`fn withLineColorMixin(value)`](#fn-withlinecolormixin) -* [`fn withLineStyle(value)`](#fn-withlinestyle) -* [`fn withLineStyleMixin(value)`](#fn-withlinestylemixin) -* [`fn withLineWidth(value)`](#fn-withlinewidth) -* [`fn withName(value)`](#fn-withname) -* [`fn withPointColor(value)`](#fn-withpointcolor) -* [`fn withPointColorMixin(value)`](#fn-withpointcolormixin) -* [`fn withPointSize(value)`](#fn-withpointsize) -* [`fn withPointSizeMixin(value)`](#fn-withpointsizemixin) -* [`fn withScaleDistribution(value)`](#fn-withscaledistribution) -* [`fn withScaleDistributionMixin(value)`](#fn-withscaledistributionmixin) -* [`fn withShow(value)`](#fn-withshow) -* [`fn withX(value)`](#fn-withx) -* [`fn withY(value)`](#fn-withy) -* [`obj hideFrom`](#obj-hidefrom) - * [`fn withLegend(value=true)`](#fn-hidefromwithlegend) - * [`fn withTooltip(value=true)`](#fn-hidefromwithtooltip) - * [`fn withViz(value=true)`](#fn-hidefromwithviz) -* [`obj labelValue`](#obj-labelvalue) - * [`fn withField(value)`](#fn-labelvaluewithfield) - * [`fn withFixed(value)`](#fn-labelvaluewithfixed) - * [`fn withMode(value)`](#fn-labelvaluewithmode) -* [`obj lineColor`](#obj-linecolor) - * [`fn withField(value)`](#fn-linecolorwithfield) - * [`fn withFixed(value)`](#fn-linecolorwithfixed) -* [`obj lineStyle`](#obj-linestyle) - * [`fn withDash(value)`](#fn-linestylewithdash) - * [`fn withDashMixin(value)`](#fn-linestylewithdashmixin) - * [`fn withFill(value)`](#fn-linestylewithfill) -* [`obj pointColor`](#obj-pointcolor) - * [`fn withField(value)`](#fn-pointcolorwithfield) - * [`fn withFixed(value)`](#fn-pointcolorwithfixed) -* [`obj pointSize`](#obj-pointsize) - * [`fn withField(value)`](#fn-pointsizewithfield) - * [`fn withFixed(value)`](#fn-pointsizewithfixed) - * [`fn withMax(value)`](#fn-pointsizewithmax) - * [`fn withMin(value)`](#fn-pointsizewithmin) - * [`fn withMode(value)`](#fn-pointsizewithmode) -* [`obj scaleDistribution`](#obj-scaledistribution) - * [`fn withLinearThreshold(value)`](#fn-scaledistributionwithlinearthreshold) - * [`fn withLog(value)`](#fn-scaledistributionwithlog) - * [`fn withType(value)`](#fn-scaledistributionwithtype) - -## Fields - -### fn withAxisCenteredZero - -```jsonnet -withAxisCenteredZero(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withAxisColorMode - -```jsonnet -withAxisColorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"text"`, `"series"` - -TODO docs -### fn withAxisGridShow - -```jsonnet -withAxisGridShow(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withAxisLabel - -```jsonnet -withAxisLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withAxisPlacement - -```jsonnet -withAxisPlacement(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"top"`, `"right"`, `"bottom"`, `"left"`, `"hidden"` - -TODO docs -### fn withAxisSoftMax - -```jsonnet -withAxisSoftMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -### fn withAxisSoftMin - -```jsonnet -withAxisSoftMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -### fn withAxisWidth - -```jsonnet -withAxisWidth(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -### fn withHideFrom - -```jsonnet -withHideFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withHideFromMixin - -```jsonnet -withHideFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withLabel - -```jsonnet -withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"auto"`, `"never"`, `"always"` - -TODO docs -### fn withLabelValue - -```jsonnet -withLabelValue(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLabelValueMixin - -```jsonnet -withLabelValueMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLineColor - -```jsonnet -withLineColor(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLineColorMixin - -```jsonnet -withLineColorMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withLineStyle - -```jsonnet -withLineStyle(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withLineStyleMixin - -```jsonnet -withLineStyleMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withLineWidth - -```jsonnet -withLineWidth(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withPointColor - -```jsonnet -withPointColor(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withPointColorMixin - -```jsonnet -withPointColorMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withPointSize - -```jsonnet -withPointSize(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withPointSizeMixin - -```jsonnet -withPointSizeMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withScaleDistribution - -```jsonnet -withScaleDistribution(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withScaleDistributionMixin - -```jsonnet -withScaleDistributionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -### fn withShow - -```jsonnet -withShow(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"points"`, `"lines"`, `"points+lines"` - - -### fn withX - -```jsonnet -withX(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withY - -```jsonnet -withY(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj hideFrom - - -#### fn hideFrom.withLegend - -```jsonnet -hideFrom.withLegend(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn hideFrom.withTooltip - -```jsonnet -hideFrom.withTooltip(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn hideFrom.withViz - -```jsonnet -hideFrom.withViz(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### obj labelValue - - -#### fn labelValue.withField - -```jsonnet -labelValue.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -fixed: T -- will be added by each element -#### fn labelValue.withFixed - -```jsonnet -labelValue.withFixed(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn labelValue.withMode - -```jsonnet -labelValue.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"fixed"`, `"field"`, `"template"` - - -### obj lineColor - - -#### fn lineColor.withField - -```jsonnet -lineColor.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -fixed: T -- will be added by each element -#### fn lineColor.withFixed - -```jsonnet -lineColor.withFixed(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj lineStyle - - -#### fn lineStyle.withDash - -```jsonnet -lineStyle.withDash(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn lineStyle.withDashMixin - -```jsonnet -lineStyle.withDashMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn lineStyle.withFill - -```jsonnet -lineStyle.withFill(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"solid"`, `"dash"`, `"dot"`, `"square"` - - -### obj pointColor - - -#### fn pointColor.withField - -```jsonnet -pointColor.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -fixed: T -- will be added by each element -#### fn pointColor.withFixed - -```jsonnet -pointColor.withFixed(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj pointSize - - -#### fn pointSize.withField - -```jsonnet -pointSize.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -fixed: T -- will be added by each element -#### fn pointSize.withFixed - -```jsonnet -pointSize.withFixed(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn pointSize.withMax - -```jsonnet -pointSize.withMax(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn pointSize.withMin - -```jsonnet -pointSize.withMin(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn pointSize.withMode - -```jsonnet -pointSize.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"quad"` - - -### obj scaleDistribution - - -#### fn scaleDistribution.withLinearThreshold - -```jsonnet -scaleDistribution.withLinearThreshold(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn scaleDistribution.withLog - -```jsonnet -scaleDistribution.withLog(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn scaleDistribution.withType - -```jsonnet -scaleDistribution.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"linear"`, `"log"`, `"ordinal"`, `"symlog"` - -TODO docs \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md deleted file mode 100644 index 106f9d2edb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/panelOptions/link.md +++ /dev/null @@ -1,145 +0,0 @@ -# link - - - -## Index - -* [`fn withAsDropdown(value=true)`](#fn-withasdropdown) -* [`fn withIcon(value)`](#fn-withicon) -* [`fn withIncludeVars(value=true)`](#fn-withincludevars) -* [`fn withKeepTime(value=true)`](#fn-withkeeptime) -* [`fn withTags(value)`](#fn-withtags) -* [`fn withTagsMixin(value)`](#fn-withtagsmixin) -* [`fn withTargetBlank(value=true)`](#fn-withtargetblank) -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withTooltip(value)`](#fn-withtooltip) -* [`fn withType(value)`](#fn-withtype) -* [`fn withUrl(value)`](#fn-withurl) - -## Fields - -### fn withAsDropdown - -```jsonnet -withAsDropdown(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withIcon - -```jsonnet -withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withIncludeVars - -```jsonnet -withIncludeVars(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withKeepTime - -```jsonnet -withKeepTime(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTags - -```jsonnet -withTags(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTagsMixin - -```jsonnet -withTagsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withTargetBlank - -```jsonnet -withTargetBlank(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTooltip - -```jsonnet -withTooltip(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"link"`, `"dashboards"` - -TODO docs -### fn withUrl - -```jsonnet -withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md deleted file mode 100644 index dc832f653d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/queryOptions/transformation.md +++ /dev/null @@ -1,99 +0,0 @@ -# transformation - - - -## Index - -* [`fn withDisabled(value=true)`](#fn-withdisabled) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilterMixin(value)`](#fn-withfiltermixin) -* [`fn withId(value)`](#fn-withid) -* [`fn withOptions(value)`](#fn-withoptions) -* [`obj filter`](#obj-filter) - * [`fn withId(value="")`](#fn-filterwithid) - * [`fn withOptions(value)`](#fn-filterwithoptions) - -## Fields - -### fn withDisabled - -```jsonnet -withDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Disabled transformations are skipped -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withFilterMixin - -```jsonnet -withFilterMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique identifier of transformer -### fn withOptions - -```jsonnet -withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Options to be passed to the transformer -Valid options depend on the transformer id -### obj filter - - -#### fn filter.withId - -```jsonnet -filter.withId(value="") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `""` - - -#### fn filter.withOptions - -```jsonnet -filter.withOptions(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md deleted file mode 100644 index 93296972e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/mapping.md +++ /dev/null @@ -1,469 +0,0 @@ -# mapping - - - -## Index - -* [`obj RangeMap`](#obj-rangemap) - * [`fn withOptions(value)`](#fn-rangemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-rangemapwithoptionsmixin) - * [`fn withType(value)`](#fn-rangemapwithtype) - * [`obj options`](#obj-rangemapoptions) - * [`fn withFrom(value)`](#fn-rangemapoptionswithfrom) - * [`fn withResult(value)`](#fn-rangemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-rangemapoptionswithresultmixin) - * [`fn withTo(value)`](#fn-rangemapoptionswithto) - * [`obj result`](#obj-rangemapoptionsresult) - * [`fn withColor(value)`](#fn-rangemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-rangemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-rangemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-rangemapoptionsresultwithtext) -* [`obj RegexMap`](#obj-regexmap) - * [`fn withOptions(value)`](#fn-regexmapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-regexmapwithoptionsmixin) - * [`fn withType(value)`](#fn-regexmapwithtype) - * [`obj options`](#obj-regexmapoptions) - * [`fn withPattern(value)`](#fn-regexmapoptionswithpattern) - * [`fn withResult(value)`](#fn-regexmapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-regexmapoptionswithresultmixin) - * [`obj result`](#obj-regexmapoptionsresult) - * [`fn withColor(value)`](#fn-regexmapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-regexmapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-regexmapoptionsresultwithindex) - * [`fn withText(value)`](#fn-regexmapoptionsresultwithtext) -* [`obj SpecialValueMap`](#obj-specialvaluemap) - * [`fn withOptions(value)`](#fn-specialvaluemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-specialvaluemapwithoptionsmixin) - * [`fn withType(value)`](#fn-specialvaluemapwithtype) - * [`obj options`](#obj-specialvaluemapoptions) - * [`fn withMatch(value)`](#fn-specialvaluemapoptionswithmatch) - * [`fn withPattern(value)`](#fn-specialvaluemapoptionswithpattern) - * [`fn withResult(value)`](#fn-specialvaluemapoptionswithresult) - * [`fn withResultMixin(value)`](#fn-specialvaluemapoptionswithresultmixin) - * [`obj result`](#obj-specialvaluemapoptionsresult) - * [`fn withColor(value)`](#fn-specialvaluemapoptionsresultwithcolor) - * [`fn withIcon(value)`](#fn-specialvaluemapoptionsresultwithicon) - * [`fn withIndex(value)`](#fn-specialvaluemapoptionsresultwithindex) - * [`fn withText(value)`](#fn-specialvaluemapoptionsresultwithtext) -* [`obj ValueMap`](#obj-valuemap) - * [`fn withOptions(value)`](#fn-valuemapwithoptions) - * [`fn withOptionsMixin(value)`](#fn-valuemapwithoptionsmixin) - * [`fn withType(value)`](#fn-valuemapwithtype) - -## Fields - -### obj RangeMap - - -#### fn RangeMap.withOptions - -```jsonnet -RangeMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withOptionsMixin - -```jsonnet -RangeMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RangeMap.withType - -```jsonnet -RangeMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RangeMap.options - - -##### fn RangeMap.options.withFrom - -```jsonnet -RangeMap.options.withFrom(value) -``` - -PARAMETERS: - -* **value** (`number`) - -to and from are `number | null` in current ts, really not sure what to do -##### fn RangeMap.options.withResult - -```jsonnet -RangeMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withResultMixin - -```jsonnet -RangeMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RangeMap.options.withTo - -```jsonnet -RangeMap.options.withTo(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### obj RangeMap.options.result - - -###### fn RangeMap.options.result.withColor - -```jsonnet -RangeMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIcon - -```jsonnet -RangeMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RangeMap.options.result.withIndex - -```jsonnet -RangeMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RangeMap.options.result.withText - -```jsonnet -RangeMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj RegexMap - - -#### fn RegexMap.withOptions - -```jsonnet -RegexMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withOptionsMixin - -```jsonnet -RegexMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn RegexMap.withType - -```jsonnet -RegexMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj RegexMap.options - - -##### fn RegexMap.options.withPattern - -```jsonnet -RegexMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn RegexMap.options.withResult - -```jsonnet -RegexMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn RegexMap.options.withResultMixin - -```jsonnet -RegexMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj RegexMap.options.result - - -###### fn RegexMap.options.result.withColor - -```jsonnet -RegexMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIcon - -```jsonnet -RegexMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn RegexMap.options.result.withIndex - -```jsonnet -RegexMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn RegexMap.options.result.withText - -```jsonnet -RegexMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj SpecialValueMap - - -#### fn SpecialValueMap.withOptions - -```jsonnet -SpecialValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withOptionsMixin - -```jsonnet -SpecialValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn SpecialValueMap.withType - -```jsonnet -SpecialValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj SpecialValueMap.options - - -##### fn SpecialValueMap.options.withMatch - -```jsonnet -SpecialValueMap.options.withMatch(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"true"`, `"false"` - - -##### fn SpecialValueMap.options.withPattern - -```jsonnet -SpecialValueMap.options.withPattern(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn SpecialValueMap.options.withResult - -```jsonnet -SpecialValueMap.options.withResult(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### fn SpecialValueMap.options.withResultMixin - -```jsonnet -SpecialValueMap.options.withResultMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -TODO docs -##### obj SpecialValueMap.options.result - - -###### fn SpecialValueMap.options.result.withColor - -```jsonnet -SpecialValueMap.options.result.withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIcon - -```jsonnet -SpecialValueMap.options.result.withIcon(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn SpecialValueMap.options.result.withIndex - -```jsonnet -SpecialValueMap.options.result.withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -###### fn SpecialValueMap.options.result.withText - -```jsonnet -SpecialValueMap.options.result.withText(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj ValueMap - - -#### fn ValueMap.withOptions - -```jsonnet -ValueMap.withOptions(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withOptionsMixin - -```jsonnet -ValueMap.withOptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn ValueMap.withType - -```jsonnet -ValueMap.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md deleted file mode 100644 index 154f3dbdac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/override.md +++ /dev/null @@ -1,244 +0,0 @@ -# override - -Overrides allow you to customize visualization settings for specific fields or -series. This is accomplished by adding an override rule that targets -a particular set of fields and that can each define multiple options. - -```jsonnet -override.byType.new('number') -+ override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('s') -) -``` - - -## Index - -* [`obj byName`](#obj-byname) - * [`fn new(value)`](#fn-bynamenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bynamewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bynamewithproperty) -* [`obj byQuery`](#obj-byquery) - * [`fn new(value)`](#fn-byquerynew) - * [`fn withPropertiesFromOptions(options)`](#fn-byquerywithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byquerywithproperty) -* [`obj byRegexp`](#obj-byregexp) - * [`fn new(value)`](#fn-byregexpnew) - * [`fn withPropertiesFromOptions(options)`](#fn-byregexpwithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byregexpwithproperty) -* [`obj byType`](#obj-bytype) - * [`fn new(value)`](#fn-bytypenew) - * [`fn withPropertiesFromOptions(options)`](#fn-bytypewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-bytypewithproperty) -* [`obj byValue`](#obj-byvalue) - * [`fn new(value)`](#fn-byvaluenew) - * [`fn withPropertiesFromOptions(options)`](#fn-byvaluewithpropertiesfromoptions) - * [`fn withProperty(id, value)`](#fn-byvaluewithproperty) - -## Fields - -### obj byName - - -#### fn byName.new - -```jsonnet -byName.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byName`. -#### fn byName.withPropertiesFromOptions - -```jsonnet -byName.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byName.withProperty - -```jsonnet -byName.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byQuery - - -#### fn byQuery.new - -```jsonnet -byQuery.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byQuery`. -#### fn byQuery.withPropertiesFromOptions - -```jsonnet -byQuery.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byQuery.withProperty - -```jsonnet -byQuery.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byRegexp - - -#### fn byRegexp.new - -```jsonnet -byRegexp.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byRegexp`. -#### fn byRegexp.withPropertiesFromOptions - -```jsonnet -byRegexp.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byRegexp.withProperty - -```jsonnet -byRegexp.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byType - - -#### fn byType.new - -```jsonnet -byType.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byType`. -#### fn byType.withPropertiesFromOptions - -```jsonnet -byType.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byType.withProperty - -```jsonnet -byType.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. - -### obj byValue - - -#### fn byValue.new - -```jsonnet -byValue.new(value) -``` - -PARAMETERS: - -* **value** (`string`) - -`new` creates a new override of type `byValue`. -#### fn byValue.withPropertiesFromOptions - -```jsonnet -byValue.withPropertiesFromOptions(options) -``` - -PARAMETERS: - -* **options** (`object`) - -`withPropertiesFromOptions` takes an object with properties that need to be -overridden. See example code above. - -#### fn byValue.withProperty - -```jsonnet -byValue.withProperty(id, value) -``` - -PARAMETERS: - -* **id** (`string`) -* **value** (`any`) - -`withProperty` adds a property that needs to be overridden. This function can -be called multiple time, adding more properties. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md deleted file mode 100644 index dd2dd227ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/panel/xyChart/standardOptions/threshold/step.md +++ /dev/null @@ -1,60 +0,0 @@ -# threshold.step - - - -## Index - -* [`fn withColor(value)`](#fn-withcolor) -* [`fn withIndex(value)`](#fn-withindex) -* [`fn withState(value)`](#fn-withstate) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withColor - -```jsonnet -withColor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -### fn withIndex - -```jsonnet -withIndex(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Threshold index, an old property that is not needed an should only appear in older dashboards -### fn withState - -```jsonnet -withState(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TODO docs -TODO are the values here enumerable into a disjunction? -Some seem to be listed in typescript comment -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - -TODO docs -FIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md deleted file mode 100644 index 27624b512c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/index.md +++ /dev/null @@ -1,78 +0,0 @@ -# playlist - -grafonnet.playlist - -## Subpackages - -* [items](items.md) - -## Index - -* [`fn withInterval(value="5m")`](#fn-withinterval) -* [`fn withItems(value)`](#fn-withitems) -* [`fn withItemsMixin(value)`](#fn-withitemsmixin) -* [`fn withName(value)`](#fn-withname) -* [`fn withUid(value)`](#fn-withuid) - -## Fields - -### fn withInterval - -```jsonnet -withInterval(value="5m") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"5m"` - -Interval sets the time between switching views in a playlist. -FIXME: Is this based on a standardized format or what options are available? Can datemath be used? -### fn withItems - -```jsonnet -withItems(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The ordered list of items that the playlist will iterate over. -FIXME! This should not be optional, but changing it makes the godegen awkward -### fn withItemsMixin - -```jsonnet -withItemsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -The ordered list of items that the playlist will iterate over. -FIXME! This should not be optional, but changing it makes the godegen awkward -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the playlist. -### fn withUid - -```jsonnet -withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique playlist identifier. Generated on creation, either by the -creator of the playlist of by the application. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md deleted file mode 100644 index 8361764359..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/playlist/items.md +++ /dev/null @@ -1,53 +0,0 @@ -# items - - - -## Index - -* [`fn withTitle(value)`](#fn-withtitle) -* [`fn withType(value)`](#fn-withtype) -* [`fn withValue(value)`](#fn-withvalue) - -## Fields - -### fn withTitle - -```jsonnet -withTitle(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Title is an unused property -- it will be removed in the future -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"dashboard_by_uid"`, `"dashboard_by_id"`, `"dashboard_by_tag"` - -Type of the item. -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Value depends on type and describes the playlist item. - - - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This - is not portable as the numerical identifier is non-deterministic between different instances. - Will be replaced by dashboard_by_uid in the future. (deprecated) - - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All - dashboards behind the tag will be added to the playlist. - - dashboard_by_uid: The value is the dashboard UID \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md deleted file mode 100644 index 7f6f9d5e11..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/preferences.md +++ /dev/null @@ -1,110 +0,0 @@ -# preferences - -grafonnet.preferences - -## Index - -* [`fn withHomeDashboardUID(value)`](#fn-withhomedashboarduid) -* [`fn withLanguage(value)`](#fn-withlanguage) -* [`fn withQueryHistory(value)`](#fn-withqueryhistory) -* [`fn withQueryHistoryMixin(value)`](#fn-withqueryhistorymixin) -* [`fn withTheme(value)`](#fn-withtheme) -* [`fn withTimezone(value)`](#fn-withtimezone) -* [`fn withWeekStart(value)`](#fn-withweekstart) -* [`obj queryHistory`](#obj-queryhistory) - * [`fn withHomeTab(value)`](#fn-queryhistorywithhometab) - -## Fields - -### fn withHomeDashboardUID - -```jsonnet -withHomeDashboardUID(value) -``` - -PARAMETERS: - -* **value** (`string`) - -UID for the home dashboard -### fn withLanguage - -```jsonnet -withLanguage(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Selected language (beta) -### fn withQueryHistory - -```jsonnet -withQueryHistory(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withQueryHistoryMixin - -```jsonnet -withQueryHistoryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withTheme - -```jsonnet -withTheme(value) -``` - -PARAMETERS: - -* **value** (`string`) - -light, dark, empty is default -### fn withTimezone - -```jsonnet -withTimezone(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The timezone selection -TODO: this should use the timezone defined in common -### fn withWeekStart - -```jsonnet -withWeekStart(value) -``` - -PARAMETERS: - -* **value** (`string`) - -day of the week (sunday, monday, etc) -### obj queryHistory - - -#### fn queryHistory.withHomeTab - -```jsonnet -queryHistory.withHomeTab(value) -``` - -PARAMETERS: - -* **value** (`string`) - -one of: '' | 'query' | 'starred'; \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md deleted file mode 100644 index 9cb78fbd5c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/publicdashboard.md +++ /dev/null @@ -1,84 +0,0 @@ -# publicdashboard - -grafonnet.publicdashboard - -## Index - -* [`fn withAccessToken(value)`](#fn-withaccesstoken) -* [`fn withAnnotationsEnabled(value=true)`](#fn-withannotationsenabled) -* [`fn withDashboardUid(value)`](#fn-withdashboarduid) -* [`fn withIsEnabled(value=true)`](#fn-withisenabled) -* [`fn withTimeSelectionEnabled(value=true)`](#fn-withtimeselectionenabled) -* [`fn withUid(value)`](#fn-withuid) - -## Fields - -### fn withAccessToken - -```jsonnet -withAccessToken(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique public access token -### fn withAnnotationsEnabled - -```jsonnet -withAnnotationsEnabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Flag that indicates if annotations are enabled -### fn withDashboardUid - -```jsonnet -withDashboardUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Dashboard unique identifier referenced by this public dashboard -### fn withIsEnabled - -```jsonnet -withIsEnabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Flag that indicates if the public dashboard is enabled -### fn withTimeSelectionEnabled - -```jsonnet -withTimeSelectionEnabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Flag that indicates if the time range picker is enabled -### fn withUid - -```jsonnet -withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Unique public dashboard identifier \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md deleted file mode 100644 index 43b6cf5503..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/dimensionFilters.md +++ /dev/null @@ -1,69 +0,0 @@ -# dimensionFilters - - - -## Index - -* [`fn withDimension(value)`](#fn-withdimension) -* [`fn withFilter(value)`](#fn-withfilter) -* [`fn withFilters(value)`](#fn-withfilters) -* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) -* [`fn withOperator(value)`](#fn-withoperator) - -## Fields - -### fn withDimension - -```jsonnet -withDimension(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of Dimension to be filtered on. -### fn withFilter - -```jsonnet -withFilter(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated filter is deprecated in favour of filters to support multiselect. -### fn withFilters - -```jsonnet -withFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Values to match with the filter. -### fn withFiltersMixin - -```jsonnet -withFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Values to match with the filter. -### fn withOperator - -```jsonnet -withOperator(value) -``` - -PARAMETERS: - -* **value** (`string`) - -String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md deleted file mode 100644 index 18bb633afc..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureMonitor/resources.md +++ /dev/null @@ -1,68 +0,0 @@ -# resources - - - -## Index - -* [`fn withMetricNamespace(value)`](#fn-withmetricnamespace) -* [`fn withRegion(value)`](#fn-withregion) -* [`fn withResourceGroup(value)`](#fn-withresourcegroup) -* [`fn withResourceName(value)`](#fn-withresourcename) -* [`fn withSubscription(value)`](#fn-withsubscription) - -## Fields - -### fn withMetricNamespace - -```jsonnet -withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withRegion - -```jsonnet -withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withResourceGroup - -```jsonnet -withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withResourceName - -```jsonnet -withResourceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withSubscription - -```jsonnet -withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md deleted file mode 100644 index 0c5c7182a8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/azureTraces/filters.md +++ /dev/null @@ -1,57 +0,0 @@ -# filters - - - -## Index - -* [`fn withFilters(value)`](#fn-withfilters) -* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) -* [`fn withOperation(value)`](#fn-withoperation) -* [`fn withProperty(value)`](#fn-withproperty) - -## Fields - -### fn withFilters - -```jsonnet -withFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Values to filter by. -### fn withFiltersMixin - -```jsonnet -withFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Values to filter by. -### fn withOperation - -```jsonnet -withOperation(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Comparison operator to use. Either equals or not equals. -### fn withProperty - -```jsonnet -withProperty(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Property name, auto-populated based on available traces. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md deleted file mode 100644 index b836b44e3c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/azureMonitor/index.md +++ /dev/null @@ -1,1502 +0,0 @@ -# azureMonitor - -grafonnet.query.azureMonitor - -## Subpackages - -* [azureMonitor.dimensionFilters](azureMonitor/dimensionFilters.md) -* [azureMonitor.resources](azureMonitor/resources.md) -* [azureTraces.filters](azureTraces/filters.md) - -## Index - -* [`fn withAzureLogAnalytics(value)`](#fn-withazureloganalytics) -* [`fn withAzureLogAnalyticsMixin(value)`](#fn-withazureloganalyticsmixin) -* [`fn withAzureMonitor(value)`](#fn-withazuremonitor) -* [`fn withAzureMonitorMixin(value)`](#fn-withazuremonitormixin) -* [`fn withAzureResourceGraph(value)`](#fn-withazureresourcegraph) -* [`fn withAzureResourceGraphMixin(value)`](#fn-withazureresourcegraphmixin) -* [`fn withAzureTraces(value)`](#fn-withazuretraces) -* [`fn withAzureTracesMixin(value)`](#fn-withazuretracesmixin) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withGrafanaTemplateVariableFn(value)`](#fn-withgrafanatemplatevariablefn) -* [`fn withGrafanaTemplateVariableFnMixin(value)`](#fn-withgrafanatemplatevariablefnmixin) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withNamespace(value)`](#fn-withnamespace) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withRegion(value)`](#fn-withregion) -* [`fn withResource(value)`](#fn-withresource) -* [`fn withResourceGroup(value)`](#fn-withresourcegroup) -* [`fn withSubscription(value)`](#fn-withsubscription) -* [`fn withSubscriptions(value)`](#fn-withsubscriptions) -* [`fn withSubscriptionsMixin(value)`](#fn-withsubscriptionsmixin) -* [`obj azureLogAnalytics`](#obj-azureloganalytics) - * [`fn withQuery(value)`](#fn-azureloganalyticswithquery) - * [`fn withResource(value)`](#fn-azureloganalyticswithresource) - * [`fn withResources(value)`](#fn-azureloganalyticswithresources) - * [`fn withResourcesMixin(value)`](#fn-azureloganalyticswithresourcesmixin) - * [`fn withResultFormat(value)`](#fn-azureloganalyticswithresultformat) - * [`fn withWorkspace(value)`](#fn-azureloganalyticswithworkspace) -* [`obj azureMonitor`](#obj-azuremonitor) - * [`fn withAggregation(value)`](#fn-azuremonitorwithaggregation) - * [`fn withAlias(value)`](#fn-azuremonitorwithalias) - * [`fn withAllowedTimeGrainsMs(value)`](#fn-azuremonitorwithallowedtimegrainsms) - * [`fn withAllowedTimeGrainsMsMixin(value)`](#fn-azuremonitorwithallowedtimegrainsmsmixin) - * [`fn withCustomNamespace(value)`](#fn-azuremonitorwithcustomnamespace) - * [`fn withDimension(value)`](#fn-azuremonitorwithdimension) - * [`fn withDimensionFilter(value)`](#fn-azuremonitorwithdimensionfilter) - * [`fn withDimensionFilters(value)`](#fn-azuremonitorwithdimensionfilters) - * [`fn withDimensionFiltersMixin(value)`](#fn-azuremonitorwithdimensionfiltersmixin) - * [`fn withMetricDefinition(value)`](#fn-azuremonitorwithmetricdefinition) - * [`fn withMetricName(value)`](#fn-azuremonitorwithmetricname) - * [`fn withMetricNamespace(value)`](#fn-azuremonitorwithmetricnamespace) - * [`fn withRegion(value)`](#fn-azuremonitorwithregion) - * [`fn withResourceGroup(value)`](#fn-azuremonitorwithresourcegroup) - * [`fn withResourceName(value)`](#fn-azuremonitorwithresourcename) - * [`fn withResourceUri(value)`](#fn-azuremonitorwithresourceuri) - * [`fn withResources(value)`](#fn-azuremonitorwithresources) - * [`fn withResourcesMixin(value)`](#fn-azuremonitorwithresourcesmixin) - * [`fn withTimeGrain(value)`](#fn-azuremonitorwithtimegrain) - * [`fn withTimeGrainUnit(value)`](#fn-azuremonitorwithtimegrainunit) - * [`fn withTop(value)`](#fn-azuremonitorwithtop) -* [`obj azureResourceGraph`](#obj-azureresourcegraph) - * [`fn withQuery(value)`](#fn-azureresourcegraphwithquery) - * [`fn withResultFormat(value)`](#fn-azureresourcegraphwithresultformat) -* [`obj azureTraces`](#obj-azuretraces) - * [`fn withFilters(value)`](#fn-azuretraceswithfilters) - * [`fn withFiltersMixin(value)`](#fn-azuretraceswithfiltersmixin) - * [`fn withOperationId(value)`](#fn-azuretraceswithoperationid) - * [`fn withQuery(value)`](#fn-azuretraceswithquery) - * [`fn withResources(value)`](#fn-azuretraceswithresources) - * [`fn withResourcesMixin(value)`](#fn-azuretraceswithresourcesmixin) - * [`fn withResultFormat(value)`](#fn-azuretraceswithresultformat) - * [`fn withTraceTypes(value)`](#fn-azuretraceswithtracetypes) - * [`fn withTraceTypesMixin(value)`](#fn-azuretraceswithtracetypesmixin) -* [`obj grafanaTemplateVariableFn`](#obj-grafanatemplatevariablefn) - * [`fn withAppInsightsGroupByQuery(value)`](#fn-grafanatemplatevariablefnwithappinsightsgroupbyquery) - * [`fn withAppInsightsGroupByQueryMixin(value)`](#fn-grafanatemplatevariablefnwithappinsightsgroupbyquerymixin) - * [`fn withAppInsightsMetricNameQuery(value)`](#fn-grafanatemplatevariablefnwithappinsightsmetricnamequery) - * [`fn withAppInsightsMetricNameQueryMixin(value)`](#fn-grafanatemplatevariablefnwithappinsightsmetricnamequerymixin) - * [`fn withMetricDefinitionsQuery(value)`](#fn-grafanatemplatevariablefnwithmetricdefinitionsquery) - * [`fn withMetricDefinitionsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricdefinitionsquerymixin) - * [`fn withMetricNamesQuery(value)`](#fn-grafanatemplatevariablefnwithmetricnamesquery) - * [`fn withMetricNamesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricnamesquerymixin) - * [`fn withMetricNamespaceQuery(value)`](#fn-grafanatemplatevariablefnwithmetricnamespacequery) - * [`fn withMetricNamespaceQueryMixin(value)`](#fn-grafanatemplatevariablefnwithmetricnamespacequerymixin) - * [`fn withResourceGroupsQuery(value)`](#fn-grafanatemplatevariablefnwithresourcegroupsquery) - * [`fn withResourceGroupsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithresourcegroupsquerymixin) - * [`fn withResourceNamesQuery(value)`](#fn-grafanatemplatevariablefnwithresourcenamesquery) - * [`fn withResourceNamesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithresourcenamesquerymixin) - * [`fn withSubscriptionsQuery(value)`](#fn-grafanatemplatevariablefnwithsubscriptionsquery) - * [`fn withSubscriptionsQueryMixin(value)`](#fn-grafanatemplatevariablefnwithsubscriptionsquerymixin) - * [`fn withUnknownQuery(value)`](#fn-grafanatemplatevariablefnwithunknownquery) - * [`fn withUnknownQueryMixin(value)`](#fn-grafanatemplatevariablefnwithunknownquerymixin) - * [`fn withWorkspacesQuery(value)`](#fn-grafanatemplatevariablefnwithworkspacesquery) - * [`fn withWorkspacesQueryMixin(value)`](#fn-grafanatemplatevariablefnwithworkspacesquerymixin) - * [`obj AppInsightsGroupByQuery`](#obj-grafanatemplatevariablefnappinsightsgroupbyquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithkind) - * [`fn withMetricName(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithmetricname) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnappinsightsgroupbyquerywithrawquery) - * [`obj AppInsightsMetricNameQuery`](#obj-grafanatemplatevariablefnappinsightsmetricnamequery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnappinsightsmetricnamequerywithkind) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnappinsightsmetricnamequerywithrawquery) - * [`obj MetricDefinitionsQuery`](#obj-grafanatemplatevariablefnmetricdefinitionsquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithkind) - * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithmetricnamespace) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithrawquery) - * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithresourcegroup) - * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithresourcename) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricdefinitionsquerywithsubscription) - * [`obj MetricNamesQuery`](#obj-grafanatemplatevariablefnmetricnamesquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithkind) - * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithmetricnamespace) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithrawquery) - * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithresourcegroup) - * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithresourcename) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricnamesquerywithsubscription) - * [`obj MetricNamespaceQuery`](#obj-grafanatemplatevariablefnmetricnamespacequery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithkind) - * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithmetricnamespace) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithrawquery) - * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithresourcegroup) - * [`fn withResourceName(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithresourcename) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnmetricnamespacequerywithsubscription) - * [`obj ResourceGroupsQuery`](#obj-grafanatemplatevariablefnresourcegroupsquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithkind) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithrawquery) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnresourcegroupsquerywithsubscription) - * [`obj ResourceNamesQuery`](#obj-grafanatemplatevariablefnresourcenamesquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithkind) - * [`fn withMetricNamespace(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithmetricnamespace) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithrawquery) - * [`fn withResourceGroup(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithresourcegroup) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnresourcenamesquerywithsubscription) - * [`obj SubscriptionsQuery`](#obj-grafanatemplatevariablefnsubscriptionsquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnsubscriptionsquerywithkind) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnsubscriptionsquerywithrawquery) - * [`obj UnknownQuery`](#obj-grafanatemplatevariablefnunknownquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnunknownquerywithkind) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnunknownquerywithrawquery) - * [`obj WorkspacesQuery`](#obj-grafanatemplatevariablefnworkspacesquery) - * [`fn withKind(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithkind) - * [`fn withRawQuery(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithrawquery) - * [`fn withSubscription(value)`](#fn-grafanatemplatevariablefnworkspacesquerywithsubscription) - -## Fields - -### fn withAzureLogAnalytics - -```jsonnet -withAzureLogAnalytics(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Azure Monitor Logs sub-query properties -### fn withAzureLogAnalyticsMixin - -```jsonnet -withAzureLogAnalyticsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Azure Monitor Logs sub-query properties -### fn withAzureMonitor - -```jsonnet -withAzureMonitor(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withAzureMonitorMixin - -```jsonnet -withAzureMonitorMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withAzureResourceGraph - -```jsonnet -withAzureResourceGraph(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withAzureResourceGraphMixin - -```jsonnet -withAzureResourceGraphMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withAzureTraces - -```jsonnet -withAzureTraces(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Application Insights Traces sub-query properties -### fn withAzureTracesMixin - -```jsonnet -withAzureTracesMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -Application Insights Traces sub-query properties -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -### fn withGrafanaTemplateVariableFn - -```jsonnet -withGrafanaTemplateVariableFn(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withGrafanaTemplateVariableFnMixin - -```jsonnet -withGrafanaTemplateVariableFnMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withNamespace - -```jsonnet -withNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -### fn withRegion - -```jsonnet -withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Azure Monitor query type. -queryType: #AzureQueryType -### fn withResource - -```jsonnet -withResource(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withResourceGroup - -```jsonnet -withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Template variables params. These exist for backwards compatiblity with legacy template variables. -### fn withSubscription - -```jsonnet -withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Azure subscription containing the resource(s) to be queried. -### fn withSubscriptions - -```jsonnet -withSubscriptions(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Subscriptions to be queried via Azure Resource Graph. -### fn withSubscriptionsMixin - -```jsonnet -withSubscriptionsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Subscriptions to be queried via Azure Resource Graph. -### obj azureLogAnalytics - - -#### fn azureLogAnalytics.withQuery - -```jsonnet -azureLogAnalytics.withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -KQL query to be executed. -#### fn azureLogAnalytics.withResource - -```jsonnet -azureLogAnalytics.withResource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated Use resources instead -#### fn azureLogAnalytics.withResources - -```jsonnet -azureLogAnalytics.withResources(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureLogAnalytics.withResourcesMixin - -```jsonnet -azureLogAnalytics.withResourcesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureLogAnalytics.withResultFormat - -```jsonnet -azureLogAnalytics.withResultFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"table"`, `"time_series"`, `"trace"` - - -#### fn azureLogAnalytics.withWorkspace - -```jsonnet -azureLogAnalytics.withWorkspace(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Workspace ID. This was removed in Grafana 8, but remains for backwards compat -### obj azureMonitor - - -#### fn azureMonitor.withAggregation - -```jsonnet -azureMonitor.withAggregation(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric. -#### fn azureMonitor.withAlias - -```jsonnet -azureMonitor.withAlias(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail. -#### fn azureMonitor.withAllowedTimeGrainsMs - -```jsonnet -azureMonitor.withAllowedTimeGrainsMs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Time grains that are supported by the metric. -#### fn azureMonitor.withAllowedTimeGrainsMsMixin - -```jsonnet -azureMonitor.withAllowedTimeGrainsMsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Time grains that are supported by the metric. -#### fn azureMonitor.withCustomNamespace - -```jsonnet -azureMonitor.withCustomNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Used as the value for the metricNamespace property when it's different from the resource namespace. -#### fn azureMonitor.withDimension - -```jsonnet -azureMonitor.withDimension(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration -#### fn azureMonitor.withDimensionFilter - -```jsonnet -azureMonitor.withDimensionFilter(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration -#### fn azureMonitor.withDimensionFilters - -```jsonnet -azureMonitor.withDimensionFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric. -#### fn azureMonitor.withDimensionFiltersMixin - -```jsonnet -azureMonitor.withDimensionFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric. -#### fn azureMonitor.withMetricDefinition - -```jsonnet -azureMonitor.withMetricDefinition(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated Use metricNamespace instead -#### fn azureMonitor.withMetricName - -```jsonnet -azureMonitor.withMetricName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The metric to query data for within the specified metricNamespace. e.g. UsedCapacity -#### fn azureMonitor.withMetricNamespace - -```jsonnet -azureMonitor.withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - -metricNamespace is used as the resource type (or resource namespace). -It's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts -Kept the name of the variable as metricNamespace to avoid backward incompatibility issues. -#### fn azureMonitor.withRegion - -```jsonnet -azureMonitor.withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The Azure region containing the resource(s). -#### fn azureMonitor.withResourceGroup - -```jsonnet -azureMonitor.withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated Use resources instead -#### fn azureMonitor.withResourceName - -```jsonnet -azureMonitor.withResourceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated Use resources instead -#### fn azureMonitor.withResourceUri - -```jsonnet -azureMonitor.withResourceUri(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated Use resourceGroup, resourceName and metricNamespace instead -#### fn azureMonitor.withResources - -```jsonnet -azureMonitor.withResources(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureMonitor.withResourcesMixin - -```jsonnet -azureMonitor.withResourcesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureMonitor.withTimeGrain - -```jsonnet -azureMonitor.withTimeGrain(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The granularity of data points to be queried. Defaults to auto. -#### fn azureMonitor.withTimeGrainUnit - -```jsonnet -azureMonitor.withTimeGrainUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - -@deprecated -#### fn azureMonitor.withTop - -```jsonnet -azureMonitor.withTop(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Maximum number of records to return. Defaults to 10. -### obj azureResourceGraph - - -#### fn azureResourceGraph.withQuery - -```jsonnet -azureResourceGraph.withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Azure Resource Graph KQL query to be executed. -#### fn azureResourceGraph.withResultFormat - -```jsonnet -azureResourceGraph.withResultFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specifies the format results should be returned as. Defaults to table. -### obj azureTraces - - -#### fn azureTraces.withFilters - -```jsonnet -azureTraces.withFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Filters for property values. -#### fn azureTraces.withFiltersMixin - -```jsonnet -azureTraces.withFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Filters for property values. -#### fn azureTraces.withOperationId - -```jsonnet -azureTraces.withOperationId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Operation ID. Used only for Traces queries. -#### fn azureTraces.withQuery - -```jsonnet -azureTraces.withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -KQL query to be executed. -#### fn azureTraces.withResources - -```jsonnet -azureTraces.withResources(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureTraces.withResourcesMixin - -```jsonnet -azureTraces.withResourcesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Array of resource URIs to be queried. -#### fn azureTraces.withResultFormat - -```jsonnet -azureTraces.withResultFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"table"`, `"time_series"`, `"trace"` - - -#### fn azureTraces.withTraceTypes - -```jsonnet -azureTraces.withTraceTypes(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Types of events to filter by. -#### fn azureTraces.withTraceTypesMixin - -```jsonnet -azureTraces.withTraceTypesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Types of events to filter by. -### obj grafanaTemplateVariableFn - - -#### fn grafanaTemplateVariableFn.withAppInsightsGroupByQuery - -```jsonnet -grafanaTemplateVariableFn.withAppInsightsGroupByQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withAppInsightsGroupByQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withAppInsightsGroupByQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withAppInsightsMetricNameQuery - -```jsonnet -grafanaTemplateVariableFn.withAppInsightsMetricNameQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withAppInsightsMetricNameQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withAppInsightsMetricNameQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withMetricDefinitionsQuery - -```jsonnet -grafanaTemplateVariableFn.withMetricDefinitionsQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - -@deprecated Use MetricNamespaceQuery instead -#### fn grafanaTemplateVariableFn.withMetricDefinitionsQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withMetricDefinitionsQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -@deprecated Use MetricNamespaceQuery instead -#### fn grafanaTemplateVariableFn.withMetricNamesQuery - -```jsonnet -grafanaTemplateVariableFn.withMetricNamesQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withMetricNamesQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withMetricNamesQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withMetricNamespaceQuery - -```jsonnet -grafanaTemplateVariableFn.withMetricNamespaceQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withMetricNamespaceQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withMetricNamespaceQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withResourceGroupsQuery - -```jsonnet -grafanaTemplateVariableFn.withResourceGroupsQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withResourceGroupsQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withResourceGroupsQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withResourceNamesQuery - -```jsonnet -grafanaTemplateVariableFn.withResourceNamesQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withResourceNamesQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withResourceNamesQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withSubscriptionsQuery - -```jsonnet -grafanaTemplateVariableFn.withSubscriptionsQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withSubscriptionsQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withSubscriptionsQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withUnknownQuery - -```jsonnet -grafanaTemplateVariableFn.withUnknownQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withUnknownQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withUnknownQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withWorkspacesQuery - -```jsonnet -grafanaTemplateVariableFn.withWorkspacesQuery(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn grafanaTemplateVariableFn.withWorkspacesQueryMixin - -```jsonnet -grafanaTemplateVariableFn.withWorkspacesQueryMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### obj grafanaTemplateVariableFn.AppInsightsGroupByQuery - - -##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.AppInsightsGroupByQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"AppInsightsGroupByQuery"` - - -##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withMetricName - -```jsonnet -grafanaTemplateVariableFn.AppInsightsGroupByQuery.withMetricName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.AppInsightsGroupByQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.AppInsightsGroupByQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.AppInsightsMetricNameQuery - - -##### fn grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"AppInsightsMetricNameQuery"` - - -##### fn grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.AppInsightsMetricNameQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.MetricDefinitionsQuery - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"MetricDefinitionsQuery"` - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withMetricNamespace - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceGroup - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceName - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withResourceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricDefinitionsQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.MetricDefinitionsQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.MetricNamesQuery - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"MetricNamesQuery"` - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withMetricNamespace - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withResourceGroup - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withResourceName - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withResourceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamesQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.MetricNamesQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.MetricNamespaceQuery - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"MetricNamespaceQuery"` - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withMetricNamespace - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceGroup - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceName - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withResourceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.MetricNamespaceQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.MetricNamespaceQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.ResourceGroupsQuery - - -##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.ResourceGroupsQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"ResourceGroupsQuery"` - - -##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.ResourceGroupsQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.ResourceGroupsQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.ResourceGroupsQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.ResourceNamesQuery - - -##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.ResourceNamesQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"ResourceNamesQuery"` - - -##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withMetricNamespace - -```jsonnet -grafanaTemplateVariableFn.ResourceNamesQuery.withMetricNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.ResourceNamesQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withResourceGroup - -```jsonnet -grafanaTemplateVariableFn.ResourceNamesQuery.withResourceGroup(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.ResourceNamesQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.ResourceNamesQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.SubscriptionsQuery - - -##### fn grafanaTemplateVariableFn.SubscriptionsQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.SubscriptionsQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"SubscriptionsQuery"` - - -##### fn grafanaTemplateVariableFn.SubscriptionsQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.SubscriptionsQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.UnknownQuery - - -##### fn grafanaTemplateVariableFn.UnknownQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.UnknownQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"UnknownQuery"` - - -##### fn grafanaTemplateVariableFn.UnknownQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.UnknownQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj grafanaTemplateVariableFn.WorkspacesQuery - - -##### fn grafanaTemplateVariableFn.WorkspacesQuery.withKind - -```jsonnet -grafanaTemplateVariableFn.WorkspacesQuery.withKind(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"WorkspacesQuery"` - - -##### fn grafanaTemplateVariableFn.WorkspacesQuery.withRawQuery - -```jsonnet -grafanaTemplateVariableFn.WorkspacesQuery.withRawQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn grafanaTemplateVariableFn.WorkspacesQuery.withSubscription - -```jsonnet -grafanaTemplateVariableFn.WorkspacesQuery.withSubscription(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md deleted file mode 100644 index a59d7777be..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchLogsQuery/logGroups.md +++ /dev/null @@ -1,57 +0,0 @@ -# logGroups - - - -## Index - -* [`fn withAccountId(value)`](#fn-withaccountid) -* [`fn withAccountLabel(value)`](#fn-withaccountlabel) -* [`fn withArn(value)`](#fn-witharn) -* [`fn withName(value)`](#fn-withname) - -## Fields - -### fn withAccountId - -```jsonnet -withAccountId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AccountId of the log group -### fn withAccountLabel - -```jsonnet -withAccountLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Label of the log group -### fn withArn - -```jsonnet -withArn(value) -``` - -PARAMETERS: - -* **value** (`string`) - -ARN of the log group -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the log group \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md deleted file mode 100644 index a7f0402012..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md +++ /dev/null @@ -1,32 +0,0 @@ -# parameters - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withType(value)`](#fn-withtype) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md deleted file mode 100644 index a7f0402012..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/orderBy/parameters.md +++ /dev/null @@ -1,32 +0,0 @@ -# parameters - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withType(value)`](#fn-withtype) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md deleted file mode 100644 index a7f0402012..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/CloudWatchMetricsQuery/sql/select/parameters.md +++ /dev/null @@ -1,32 +0,0 @@ -# parameters - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withType(value)`](#fn-withtype) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withType - -```jsonnet -withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md deleted file mode 100644 index 36cc721989..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/cloudWatch/index.md +++ /dev/null @@ -1,1272 +0,0 @@ -# cloudWatch - -grafonnet.query.cloudWatch - -## Subpackages - -* [CloudWatchLogsQuery.logGroups](CloudWatchLogsQuery/logGroups.md) -* [CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.parameters](CloudWatchMetricsQuery/sql/from/QueryEditorFunctionExpression/parameters.md) -* [CloudWatchMetricsQuery.sql.orderBy.parameters](CloudWatchMetricsQuery/sql/orderBy/parameters.md) -* [CloudWatchMetricsQuery.sql.select.parameters](CloudWatchMetricsQuery/sql/select/parameters.md) - -## Index - -* [`obj CloudWatchAnnotationQuery`](#obj-cloudwatchannotationquery) - * [`fn withAccountId(value)`](#fn-cloudwatchannotationquerywithaccountid) - * [`fn withActionPrefix(value)`](#fn-cloudwatchannotationquerywithactionprefix) - * [`fn withAlarmNamePrefix(value)`](#fn-cloudwatchannotationquerywithalarmnameprefix) - * [`fn withDatasource(value)`](#fn-cloudwatchannotationquerywithdatasource) - * [`fn withDimensions(value)`](#fn-cloudwatchannotationquerywithdimensions) - * [`fn withDimensionsMixin(value)`](#fn-cloudwatchannotationquerywithdimensionsmixin) - * [`fn withHide(value=true)`](#fn-cloudwatchannotationquerywithhide) - * [`fn withMatchExact(value=true)`](#fn-cloudwatchannotationquerywithmatchexact) - * [`fn withMetricName(value)`](#fn-cloudwatchannotationquerywithmetricname) - * [`fn withNamespace(value)`](#fn-cloudwatchannotationquerywithnamespace) - * [`fn withPeriod(value)`](#fn-cloudwatchannotationquerywithperiod) - * [`fn withPrefixMatching(value=true)`](#fn-cloudwatchannotationquerywithprefixmatching) - * [`fn withQueryMode(value)`](#fn-cloudwatchannotationquerywithquerymode) - * [`fn withQueryType(value)`](#fn-cloudwatchannotationquerywithquerytype) - * [`fn withRefId(value)`](#fn-cloudwatchannotationquerywithrefid) - * [`fn withRegion(value)`](#fn-cloudwatchannotationquerywithregion) - * [`fn withStatistic(value)`](#fn-cloudwatchannotationquerywithstatistic) - * [`fn withStatistics(value)`](#fn-cloudwatchannotationquerywithstatistics) - * [`fn withStatisticsMixin(value)`](#fn-cloudwatchannotationquerywithstatisticsmixin) -* [`obj CloudWatchLogsQuery`](#obj-cloudwatchlogsquery) - * [`fn withDatasource(value)`](#fn-cloudwatchlogsquerywithdatasource) - * [`fn withExpression(value)`](#fn-cloudwatchlogsquerywithexpression) - * [`fn withHide(value=true)`](#fn-cloudwatchlogsquerywithhide) - * [`fn withId(value)`](#fn-cloudwatchlogsquerywithid) - * [`fn withLogGroupNames(value)`](#fn-cloudwatchlogsquerywithloggroupnames) - * [`fn withLogGroupNamesMixin(value)`](#fn-cloudwatchlogsquerywithloggroupnamesmixin) - * [`fn withLogGroups(value)`](#fn-cloudwatchlogsquerywithloggroups) - * [`fn withLogGroupsMixin(value)`](#fn-cloudwatchlogsquerywithloggroupsmixin) - * [`fn withQueryMode(value)`](#fn-cloudwatchlogsquerywithquerymode) - * [`fn withQueryType(value)`](#fn-cloudwatchlogsquerywithquerytype) - * [`fn withRefId(value)`](#fn-cloudwatchlogsquerywithrefid) - * [`fn withRegion(value)`](#fn-cloudwatchlogsquerywithregion) - * [`fn withStatsGroups(value)`](#fn-cloudwatchlogsquerywithstatsgroups) - * [`fn withStatsGroupsMixin(value)`](#fn-cloudwatchlogsquerywithstatsgroupsmixin) -* [`obj CloudWatchMetricsQuery`](#obj-cloudwatchmetricsquery) - * [`fn withAccountId(value)`](#fn-cloudwatchmetricsquerywithaccountid) - * [`fn withAlias(value)`](#fn-cloudwatchmetricsquerywithalias) - * [`fn withDatasource(value)`](#fn-cloudwatchmetricsquerywithdatasource) - * [`fn withDimensions(value)`](#fn-cloudwatchmetricsquerywithdimensions) - * [`fn withDimensionsMixin(value)`](#fn-cloudwatchmetricsquerywithdimensionsmixin) - * [`fn withExpression(value)`](#fn-cloudwatchmetricsquerywithexpression) - * [`fn withHide(value=true)`](#fn-cloudwatchmetricsquerywithhide) - * [`fn withId(value)`](#fn-cloudwatchmetricsquerywithid) - * [`fn withLabel(value)`](#fn-cloudwatchmetricsquerywithlabel) - * [`fn withMatchExact(value=true)`](#fn-cloudwatchmetricsquerywithmatchexact) - * [`fn withMetricEditorMode(value)`](#fn-cloudwatchmetricsquerywithmetriceditormode) - * [`fn withMetricName(value)`](#fn-cloudwatchmetricsquerywithmetricname) - * [`fn withMetricQueryType(value)`](#fn-cloudwatchmetricsquerywithmetricquerytype) - * [`fn withNamespace(value)`](#fn-cloudwatchmetricsquerywithnamespace) - * [`fn withPeriod(value)`](#fn-cloudwatchmetricsquerywithperiod) - * [`fn withQueryMode(value)`](#fn-cloudwatchmetricsquerywithquerymode) - * [`fn withQueryType(value)`](#fn-cloudwatchmetricsquerywithquerytype) - * [`fn withRefId(value)`](#fn-cloudwatchmetricsquerywithrefid) - * [`fn withRegion(value)`](#fn-cloudwatchmetricsquerywithregion) - * [`fn withSql(value)`](#fn-cloudwatchmetricsquerywithsql) - * [`fn withSqlExpression(value)`](#fn-cloudwatchmetricsquerywithsqlexpression) - * [`fn withSqlMixin(value)`](#fn-cloudwatchmetricsquerywithsqlmixin) - * [`fn withStatistic(value)`](#fn-cloudwatchmetricsquerywithstatistic) - * [`fn withStatistics(value)`](#fn-cloudwatchmetricsquerywithstatistics) - * [`fn withStatisticsMixin(value)`](#fn-cloudwatchmetricsquerywithstatisticsmixin) - * [`obj sql`](#obj-cloudwatchmetricsquerysql) - * [`fn withFrom(value)`](#fn-cloudwatchmetricsquerysqlwithfrom) - * [`fn withFromMixin(value)`](#fn-cloudwatchmetricsquerysqlwithfrommixin) - * [`fn withGroupBy(value)`](#fn-cloudwatchmetricsquerysqlwithgroupby) - * [`fn withGroupByMixin(value)`](#fn-cloudwatchmetricsquerysqlwithgroupbymixin) - * [`fn withLimit(value)`](#fn-cloudwatchmetricsquerysqlwithlimit) - * [`fn withOrderBy(value)`](#fn-cloudwatchmetricsquerysqlwithorderby) - * [`fn withOrderByDirection(value)`](#fn-cloudwatchmetricsquerysqlwithorderbydirection) - * [`fn withOrderByMixin(value)`](#fn-cloudwatchmetricsquerysqlwithorderbymixin) - * [`fn withSelect(value)`](#fn-cloudwatchmetricsquerysqlwithselect) - * [`fn withSelectMixin(value)`](#fn-cloudwatchmetricsquerysqlwithselectmixin) - * [`fn withWhere(value)`](#fn-cloudwatchmetricsquerysqlwithwhere) - * [`fn withWhereMixin(value)`](#fn-cloudwatchmetricsquerysqlwithwheremixin) - * [`obj from`](#obj-cloudwatchmetricsquerysqlfrom) - * [`fn withQueryEditorFunctionExpression(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorfunctionexpression) - * [`fn withQueryEditorFunctionExpressionMixin(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorfunctionexpressionmixin) - * [`fn withQueryEditorPropertyExpression(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorpropertyexpression) - * [`fn withQueryEditorPropertyExpressionMixin(value)`](#fn-cloudwatchmetricsquerysqlfromwithqueryeditorpropertyexpressionmixin) - * [`obj QueryEditorFunctionExpression`](#obj-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpression) - * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithname) - * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithparameters) - * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithparametersmixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorfunctionexpressionwithtype) - * [`obj QueryEditorPropertyExpression`](#obj-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpression) - * [`fn withProperty(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithproperty) - * [`fn withPropertyMixin(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithpropertymixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionwithtype) - * [`obj property`](#obj-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionproperty) - * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionpropertywithname) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlfromqueryeditorpropertyexpressionpropertywithtype) - * [`obj groupBy`](#obj-cloudwatchmetricsquerysqlgroupby) - * [`fn withExpressions(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithexpressions) - * [`fn withExpressionsMixin(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithexpressionsmixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlgroupbywithtype) - * [`obj orderBy`](#obj-cloudwatchmetricsquerysqlorderby) - * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlorderbywithname) - * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlorderbywithparameters) - * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlorderbywithparametersmixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlorderbywithtype) - * [`obj select`](#obj-cloudwatchmetricsquerysqlselect) - * [`fn withName(value)`](#fn-cloudwatchmetricsquerysqlselectwithname) - * [`fn withParameters(value)`](#fn-cloudwatchmetricsquerysqlselectwithparameters) - * [`fn withParametersMixin(value)`](#fn-cloudwatchmetricsquerysqlselectwithparametersmixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlselectwithtype) - * [`obj where`](#obj-cloudwatchmetricsquerysqlwhere) - * [`fn withExpressions(value)`](#fn-cloudwatchmetricsquerysqlwherewithexpressions) - * [`fn withExpressionsMixin(value)`](#fn-cloudwatchmetricsquerysqlwherewithexpressionsmixin) - * [`fn withType(value)`](#fn-cloudwatchmetricsquerysqlwherewithtype) - -## Fields - -### obj CloudWatchAnnotationQuery - - -#### fn CloudWatchAnnotationQuery.withAccountId - -```jsonnet -CloudWatchAnnotationQuery.withAccountId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query. -#### fn CloudWatchAnnotationQuery.withActionPrefix - -```jsonnet -CloudWatchAnnotationQuery.withActionPrefix(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Use this parameter to filter the results of the operation to only those alarms -that use a certain alarm action. For example, you could specify the ARN of -an SNS topic to find all alarms that send notifications to that topic. -e.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action` -but not match `arn:aws:sns:us-east-1:123456789012:your-app-action` -#### fn CloudWatchAnnotationQuery.withAlarmNamePrefix - -```jsonnet -CloudWatchAnnotationQuery.withAlarmNamePrefix(value) -``` - -PARAMETERS: - -* **value** (`string`) - -An alarm name prefix. If you specify this parameter, you receive information -about all alarms that have names that start with this prefix. -e.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu` -#### fn CloudWatchAnnotationQuery.withDatasource - -```jsonnet -CloudWatchAnnotationQuery.withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -#### fn CloudWatchAnnotationQuery.withDimensions - -```jsonnet -CloudWatchAnnotationQuery.withDimensions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. -#### fn CloudWatchAnnotationQuery.withDimensionsMixin - -```jsonnet -CloudWatchAnnotationQuery.withDimensionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. -#### fn CloudWatchAnnotationQuery.withHide - -```jsonnet -CloudWatchAnnotationQuery.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -#### fn CloudWatchAnnotationQuery.withMatchExact - -```jsonnet -CloudWatchAnnotationQuery.withMatchExact(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Only show metrics that exactly match all defined dimension names. -#### fn CloudWatchAnnotationQuery.withMetricName - -```jsonnet -CloudWatchAnnotationQuery.withMetricName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the metric -#### fn CloudWatchAnnotationQuery.withNamespace - -```jsonnet -CloudWatchAnnotationQuery.withNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace. -#### fn CloudWatchAnnotationQuery.withPeriod - -```jsonnet -CloudWatchAnnotationQuery.withPeriod(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes -#### fn CloudWatchAnnotationQuery.withPrefixMatching - -```jsonnet -CloudWatchAnnotationQuery.withPrefixMatching(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix -#### fn CloudWatchAnnotationQuery.withQueryMode - -```jsonnet -CloudWatchAnnotationQuery.withQueryMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` - - -#### fn CloudWatchAnnotationQuery.withQueryType - -```jsonnet -CloudWatchAnnotationQuery.withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -#### fn CloudWatchAnnotationQuery.withRefId - -```jsonnet -CloudWatchAnnotationQuery.withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -#### fn CloudWatchAnnotationQuery.withRegion - -```jsonnet -CloudWatchAnnotationQuery.withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AWS region to query for the metric -#### fn CloudWatchAnnotationQuery.withStatistic - -```jsonnet -CloudWatchAnnotationQuery.withStatistic(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html. -#### fn CloudWatchAnnotationQuery.withStatistics - -```jsonnet -CloudWatchAnnotationQuery.withStatistics(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use statistic -#### fn CloudWatchAnnotationQuery.withStatisticsMixin - -```jsonnet -CloudWatchAnnotationQuery.withStatisticsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use statistic -### obj CloudWatchLogsQuery - - -#### fn CloudWatchLogsQuery.withDatasource - -```jsonnet -CloudWatchLogsQuery.withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -#### fn CloudWatchLogsQuery.withExpression - -```jsonnet -CloudWatchLogsQuery.withExpression(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The CloudWatch Logs Insights query to execute -#### fn CloudWatchLogsQuery.withHide - -```jsonnet -CloudWatchLogsQuery.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -#### fn CloudWatchLogsQuery.withId - -```jsonnet -CloudWatchLogsQuery.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn CloudWatchLogsQuery.withLogGroupNames - -```jsonnet -CloudWatchLogsQuery.withLogGroupNames(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use logGroups -#### fn CloudWatchLogsQuery.withLogGroupNamesMixin - -```jsonnet -CloudWatchLogsQuery.withLogGroupNamesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use logGroups -#### fn CloudWatchLogsQuery.withLogGroups - -```jsonnet -CloudWatchLogsQuery.withLogGroups(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Log groups to query -#### fn CloudWatchLogsQuery.withLogGroupsMixin - -```jsonnet -CloudWatchLogsQuery.withLogGroupsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Log groups to query -#### fn CloudWatchLogsQuery.withQueryMode - -```jsonnet -CloudWatchLogsQuery.withQueryMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` - - -#### fn CloudWatchLogsQuery.withQueryType - -```jsonnet -CloudWatchLogsQuery.withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -#### fn CloudWatchLogsQuery.withRefId - -```jsonnet -CloudWatchLogsQuery.withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -#### fn CloudWatchLogsQuery.withRegion - -```jsonnet -CloudWatchLogsQuery.withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AWS region to query for the logs -#### fn CloudWatchLogsQuery.withStatsGroups - -```jsonnet -CloudWatchLogsQuery.withStatsGroups(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Fields to group the results by, this field is automatically populated whenever the query is updated -#### fn CloudWatchLogsQuery.withStatsGroupsMixin - -```jsonnet -CloudWatchLogsQuery.withStatsGroupsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Fields to group the results by, this field is automatically populated whenever the query is updated -### obj CloudWatchMetricsQuery - - -#### fn CloudWatchMetricsQuery.withAccountId - -```jsonnet -CloudWatchMetricsQuery.withAccountId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query. -#### fn CloudWatchMetricsQuery.withAlias - -```jsonnet -CloudWatchMetricsQuery.withAlias(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Deprecated: use label -@deprecated use label -#### fn CloudWatchMetricsQuery.withDatasource - -```jsonnet -CloudWatchMetricsQuery.withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -#### fn CloudWatchMetricsQuery.withDimensions - -```jsonnet -CloudWatchMetricsQuery.withDimensions(value) -``` - -PARAMETERS: - -* **value** (`object`) - -A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. -#### fn CloudWatchMetricsQuery.withDimensionsMixin - -```jsonnet -CloudWatchMetricsQuery.withDimensionsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics. -#### fn CloudWatchMetricsQuery.withExpression - -```jsonnet -CloudWatchMetricsQuery.withExpression(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Math expression query -#### fn CloudWatchMetricsQuery.withHide - -```jsonnet -CloudWatchMetricsQuery.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -#### fn CloudWatchMetricsQuery.withId - -```jsonnet -CloudWatchMetricsQuery.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter. -#### fn CloudWatchMetricsQuery.withLabel - -```jsonnet -CloudWatchMetricsQuery.withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details. -#### fn CloudWatchMetricsQuery.withMatchExact - -```jsonnet -CloudWatchMetricsQuery.withMatchExact(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Only show metrics that exactly match all defined dimension names. -#### fn CloudWatchMetricsQuery.withMetricEditorMode - -```jsonnet -CloudWatchMetricsQuery.withMetricEditorMode(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - valid values: `0`, `1` - - -#### fn CloudWatchMetricsQuery.withMetricName - -```jsonnet -CloudWatchMetricsQuery.withMetricName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the metric -#### fn CloudWatchMetricsQuery.withMetricQueryType - -```jsonnet -CloudWatchMetricsQuery.withMetricQueryType(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - valid values: `0`, `1` - - -#### fn CloudWatchMetricsQuery.withNamespace - -```jsonnet -CloudWatchMetricsQuery.withNamespace(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace. -#### fn CloudWatchMetricsQuery.withPeriod - -```jsonnet -CloudWatchMetricsQuery.withPeriod(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes -#### fn CloudWatchMetricsQuery.withQueryMode - -```jsonnet -CloudWatchMetricsQuery.withQueryMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Metrics"`, `"Logs"`, `"Annotations"` - - -#### fn CloudWatchMetricsQuery.withQueryType - -```jsonnet -CloudWatchMetricsQuery.withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -#### fn CloudWatchMetricsQuery.withRefId - -```jsonnet -CloudWatchMetricsQuery.withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -#### fn CloudWatchMetricsQuery.withRegion - -```jsonnet -CloudWatchMetricsQuery.withRegion(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AWS region to query for the metric -#### fn CloudWatchMetricsQuery.withSql - -```jsonnet -CloudWatchMetricsQuery.withSql(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn CloudWatchMetricsQuery.withSqlExpression - -```jsonnet -CloudWatchMetricsQuery.withSqlExpression(value) -``` - -PARAMETERS: - -* **value** (`string`) - -When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string. -#### fn CloudWatchMetricsQuery.withSqlMixin - -```jsonnet -CloudWatchMetricsQuery.withSqlMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn CloudWatchMetricsQuery.withStatistic - -```jsonnet -CloudWatchMetricsQuery.withStatistic(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html. -#### fn CloudWatchMetricsQuery.withStatistics - -```jsonnet -CloudWatchMetricsQuery.withStatistics(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use statistic -#### fn CloudWatchMetricsQuery.withStatisticsMixin - -```jsonnet -CloudWatchMetricsQuery.withStatisticsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -@deprecated use statistic -#### obj CloudWatchMetricsQuery.sql - - -##### fn CloudWatchMetricsQuery.sql.withFrom - -```jsonnet -CloudWatchMetricsQuery.sql.withFrom(value) -``` - -PARAMETERS: - -* **value** (`object`) - -FROM part of the SQL expression -##### fn CloudWatchMetricsQuery.sql.withFromMixin - -```jsonnet -CloudWatchMetricsQuery.sql.withFromMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -FROM part of the SQL expression -##### fn CloudWatchMetricsQuery.sql.withGroupBy - -```jsonnet -CloudWatchMetricsQuery.sql.withGroupBy(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withGroupByMixin - -```jsonnet -CloudWatchMetricsQuery.sql.withGroupByMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withLimit - -```jsonnet -CloudWatchMetricsQuery.sql.withLimit(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -LIMIT part of the SQL expression -##### fn CloudWatchMetricsQuery.sql.withOrderBy - -```jsonnet -CloudWatchMetricsQuery.sql.withOrderBy(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withOrderByDirection - -```jsonnet -CloudWatchMetricsQuery.sql.withOrderByDirection(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The sort order of the SQL expression, `ASC` or `DESC` -##### fn CloudWatchMetricsQuery.sql.withOrderByMixin - -```jsonnet -CloudWatchMetricsQuery.sql.withOrderByMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withSelect - -```jsonnet -CloudWatchMetricsQuery.sql.withSelect(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withSelectMixin - -```jsonnet -CloudWatchMetricsQuery.sql.withSelectMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withWhere - -```jsonnet -CloudWatchMetricsQuery.sql.withWhere(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn CloudWatchMetricsQuery.sql.withWhereMixin - -```jsonnet -CloudWatchMetricsQuery.sql.withWhereMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### obj CloudWatchMetricsQuery.sql.from - - -###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpression - -```jsonnet -CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpression(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpressionMixin - -```jsonnet -CloudWatchMetricsQuery.sql.from.withQueryEditorFunctionExpressionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpression - -```jsonnet -CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpression(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -###### fn CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpressionMixin - -```jsonnet -CloudWatchMetricsQuery.sql.from.withQueryEditorPropertyExpressionMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -###### obj CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withName - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParameters - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParameters(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParametersMixin - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withParametersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withType - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorFunctionExpression.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withProperty - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withProperty(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withPropertyMixin - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withPropertyMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -####### fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withType - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -####### obj CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property - - -######## fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withName - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -######## fn CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withType - -```jsonnet -CloudWatchMetricsQuery.sql.from.QueryEditorPropertyExpression.property.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"string"` - - -##### obj CloudWatchMetricsQuery.sql.groupBy - - -###### fn CloudWatchMetricsQuery.sql.groupBy.withExpressions - -```jsonnet -CloudWatchMetricsQuery.sql.groupBy.withExpressions(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.groupBy.withExpressionsMixin - -```jsonnet -CloudWatchMetricsQuery.sql.groupBy.withExpressionsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.groupBy.withType - -```jsonnet -CloudWatchMetricsQuery.sql.groupBy.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"and"`, `"or"` - - -##### obj CloudWatchMetricsQuery.sql.orderBy - - -###### fn CloudWatchMetricsQuery.sql.orderBy.withName - -```jsonnet -CloudWatchMetricsQuery.sql.orderBy.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn CloudWatchMetricsQuery.sql.orderBy.withParameters - -```jsonnet -CloudWatchMetricsQuery.sql.orderBy.withParameters(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.orderBy.withParametersMixin - -```jsonnet -CloudWatchMetricsQuery.sql.orderBy.withParametersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.orderBy.withType - -```jsonnet -CloudWatchMetricsQuery.sql.orderBy.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj CloudWatchMetricsQuery.sql.select - - -###### fn CloudWatchMetricsQuery.sql.select.withName - -```jsonnet -CloudWatchMetricsQuery.sql.select.withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn CloudWatchMetricsQuery.sql.select.withParameters - -```jsonnet -CloudWatchMetricsQuery.sql.select.withParameters(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.select.withParametersMixin - -```jsonnet -CloudWatchMetricsQuery.sql.select.withParametersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.select.withType - -```jsonnet -CloudWatchMetricsQuery.sql.select.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj CloudWatchMetricsQuery.sql.where - - -###### fn CloudWatchMetricsQuery.sql.where.withExpressions - -```jsonnet -CloudWatchMetricsQuery.sql.where.withExpressions(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.where.withExpressionsMixin - -```jsonnet -CloudWatchMetricsQuery.sql.where.withExpressionsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn CloudWatchMetricsQuery.sql.where.withType - -```jsonnet -CloudWatchMetricsQuery.sql.where.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"and"`, `"or"` - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md deleted file mode 100644 index 34d28192c5..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/Filters/settings/filters.md +++ /dev/null @@ -1,32 +0,0 @@ -# filters - - - -## Index - -* [`fn withLabel(value)`](#fn-withlabel) -* [`fn withQuery(value)`](#fn-withquery) - -## Fields - -### fn withLabel - -```jsonnet -withLabel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withQuery - -```jsonnet -withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md deleted file mode 100644 index 07316dbca1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/bucketAggs/index.md +++ /dev/null @@ -1,585 +0,0 @@ -# bucketAggs - - - -## Subpackages - -* [Filters.settings.filters](Filters/settings/filters.md) - -## Index - -* [`obj DateHistogram`](#obj-datehistogram) - * [`fn withField(value)`](#fn-datehistogramwithfield) - * [`fn withId(value)`](#fn-datehistogramwithid) - * [`fn withSettings(value)`](#fn-datehistogramwithsettings) - * [`fn withSettingsMixin(value)`](#fn-datehistogramwithsettingsmixin) - * [`fn withType(value)`](#fn-datehistogramwithtype) - * [`obj settings`](#obj-datehistogramsettings) - * [`fn withInterval(value)`](#fn-datehistogramsettingswithinterval) - * [`fn withMinDocCount(value)`](#fn-datehistogramsettingswithmindoccount) - * [`fn withOffset(value)`](#fn-datehistogramsettingswithoffset) - * [`fn withTimeZone(value)`](#fn-datehistogramsettingswithtimezone) - * [`fn withTrimEdges(value)`](#fn-datehistogramsettingswithtrimedges) -* [`obj Filters`](#obj-filters) - * [`fn withId(value)`](#fn-filterswithid) - * [`fn withSettings(value)`](#fn-filterswithsettings) - * [`fn withSettingsMixin(value)`](#fn-filterswithsettingsmixin) - * [`fn withType(value)`](#fn-filterswithtype) - * [`obj settings`](#obj-filterssettings) - * [`fn withFilters(value)`](#fn-filterssettingswithfilters) - * [`fn withFiltersMixin(value)`](#fn-filterssettingswithfiltersmixin) -* [`obj GeoHashGrid`](#obj-geohashgrid) - * [`fn withField(value)`](#fn-geohashgridwithfield) - * [`fn withId(value)`](#fn-geohashgridwithid) - * [`fn withSettings(value)`](#fn-geohashgridwithsettings) - * [`fn withSettingsMixin(value)`](#fn-geohashgridwithsettingsmixin) - * [`fn withType(value)`](#fn-geohashgridwithtype) - * [`obj settings`](#obj-geohashgridsettings) - * [`fn withPrecision(value)`](#fn-geohashgridsettingswithprecision) -* [`obj Histogram`](#obj-histogram) - * [`fn withField(value)`](#fn-histogramwithfield) - * [`fn withId(value)`](#fn-histogramwithid) - * [`fn withSettings(value)`](#fn-histogramwithsettings) - * [`fn withSettingsMixin(value)`](#fn-histogramwithsettingsmixin) - * [`fn withType(value)`](#fn-histogramwithtype) - * [`obj settings`](#obj-histogramsettings) - * [`fn withInterval(value)`](#fn-histogramsettingswithinterval) - * [`fn withMinDocCount(value)`](#fn-histogramsettingswithmindoccount) -* [`obj Nested`](#obj-nested) - * [`fn withField(value)`](#fn-nestedwithfield) - * [`fn withId(value)`](#fn-nestedwithid) - * [`fn withSettings(value)`](#fn-nestedwithsettings) - * [`fn withSettingsMixin(value)`](#fn-nestedwithsettingsmixin) - * [`fn withType(value)`](#fn-nestedwithtype) -* [`obj Terms`](#obj-terms) - * [`fn withField(value)`](#fn-termswithfield) - * [`fn withId(value)`](#fn-termswithid) - * [`fn withSettings(value)`](#fn-termswithsettings) - * [`fn withSettingsMixin(value)`](#fn-termswithsettingsmixin) - * [`fn withType(value)`](#fn-termswithtype) - * [`obj settings`](#obj-termssettings) - * [`fn withMinDocCount(value)`](#fn-termssettingswithmindoccount) - * [`fn withMissing(value)`](#fn-termssettingswithmissing) - * [`fn withOrder(value)`](#fn-termssettingswithorder) - * [`fn withOrderBy(value)`](#fn-termssettingswithorderby) - * [`fn withSize(value)`](#fn-termssettingswithsize) - -## Fields - -### obj DateHistogram - - -#### fn DateHistogram.withField - -```jsonnet -DateHistogram.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn DateHistogram.withId - -```jsonnet -DateHistogram.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn DateHistogram.withSettings - -```jsonnet -DateHistogram.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn DateHistogram.withSettingsMixin - -```jsonnet -DateHistogram.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn DateHistogram.withType - -```jsonnet -DateHistogram.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj DateHistogram.settings - - -##### fn DateHistogram.settings.withInterval - -```jsonnet -DateHistogram.settings.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn DateHistogram.settings.withMinDocCount - -```jsonnet -DateHistogram.settings.withMinDocCount(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn DateHistogram.settings.withOffset - -```jsonnet -DateHistogram.settings.withOffset(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn DateHistogram.settings.withTimeZone - -```jsonnet -DateHistogram.settings.withTimeZone(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn DateHistogram.settings.withTrimEdges - -```jsonnet -DateHistogram.settings.withTrimEdges(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj Filters - - -#### fn Filters.withId - -```jsonnet -Filters.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Filters.withSettings - -```jsonnet -Filters.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Filters.withSettingsMixin - -```jsonnet -Filters.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Filters.withType - -```jsonnet -Filters.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj Filters.settings - - -##### fn Filters.settings.withFilters - -```jsonnet -Filters.settings.withFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn Filters.settings.withFiltersMixin - -```jsonnet -Filters.settings.withFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### obj GeoHashGrid - - -#### fn GeoHashGrid.withField - -```jsonnet -GeoHashGrid.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn GeoHashGrid.withId - -```jsonnet -GeoHashGrid.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn GeoHashGrid.withSettings - -```jsonnet -GeoHashGrid.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn GeoHashGrid.withSettingsMixin - -```jsonnet -GeoHashGrid.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn GeoHashGrid.withType - -```jsonnet -GeoHashGrid.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj GeoHashGrid.settings - - -##### fn GeoHashGrid.settings.withPrecision - -```jsonnet -GeoHashGrid.settings.withPrecision(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj Histogram - - -#### fn Histogram.withField - -```jsonnet -Histogram.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Histogram.withId - -```jsonnet -Histogram.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Histogram.withSettings - -```jsonnet -Histogram.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Histogram.withSettingsMixin - -```jsonnet -Histogram.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Histogram.withType - -```jsonnet -Histogram.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj Histogram.settings - - -##### fn Histogram.settings.withInterval - -```jsonnet -Histogram.settings.withInterval(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn Histogram.settings.withMinDocCount - -```jsonnet -Histogram.settings.withMinDocCount(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj Nested - - -#### fn Nested.withField - -```jsonnet -Nested.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Nested.withId - -```jsonnet -Nested.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Nested.withSettings - -```jsonnet -Nested.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Nested.withSettingsMixin - -```jsonnet -Nested.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Nested.withType - -```jsonnet -Nested.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj Terms - - -#### fn Terms.withField - -```jsonnet -Terms.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Terms.withId - -```jsonnet -Terms.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Terms.withSettings - -```jsonnet -Terms.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Terms.withSettingsMixin - -```jsonnet -Terms.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn Terms.withType - -```jsonnet -Terms.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj Terms.settings - - -##### fn Terms.settings.withMinDocCount - -```jsonnet -Terms.settings.withMinDocCount(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn Terms.settings.withMissing - -```jsonnet -Terms.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn Terms.settings.withOrder - -```jsonnet -Terms.settings.withOrder(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"desc"`, `"asc"` - - -##### fn Terms.settings.withOrderBy - -```jsonnet -Terms.settings.withOrderBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn Terms.settings.withSize - -```jsonnet -Terms.settings.withSize(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md deleted file mode 100644 index b5926b0b05..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/index.md +++ /dev/null @@ -1,155 +0,0 @@ -# elasticsearch - -grafonnet.query.elasticsearch - -## Subpackages - -* [bucketAggs](bucketAggs/index.md) -* [metrics](metrics/index.md) - -## Index - -* [`fn withAlias(value)`](#fn-withalias) -* [`fn withBucketAggs(value)`](#fn-withbucketaggs) -* [`fn withBucketAggsMixin(value)`](#fn-withbucketaggsmixin) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withMetrics(value)`](#fn-withmetrics) -* [`fn withMetricsMixin(value)`](#fn-withmetricsmixin) -* [`fn withQuery(value)`](#fn-withquery) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withTimeField(value)`](#fn-withtimefield) - -## Fields - -### fn withAlias - -```jsonnet -withAlias(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Alias pattern -### fn withBucketAggs - -```jsonnet -withBucketAggs(value) -``` - -PARAMETERS: - -* **value** (`array`) - -List of bucket aggregations -### fn withBucketAggsMixin - -```jsonnet -withBucketAggsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -List of bucket aggregations -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withMetrics - -```jsonnet -withMetrics(value) -``` - -PARAMETERS: - -* **value** (`array`) - -List of metric aggregations -### fn withMetricsMixin - -```jsonnet -withMetricsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -List of metric aggregations -### fn withQuery - -```jsonnet -withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Lucene query -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -### fn withTimeField - -```jsonnet -withTimeField(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of time field \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md deleted file mode 100644 index 98f8952413..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/MetricAggregationWithSettings/BucketScript/pipelineVariables.md +++ /dev/null @@ -1,32 +0,0 @@ -# pipelineVariables - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withPipelineAgg(value)`](#fn-withpipelineagg) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withPipelineAgg - -```jsonnet -withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md deleted file mode 100644 index 98f8952413..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/PipelineMetricAggregation/BucketScript/pipelineVariables.md +++ /dev/null @@ -1,32 +0,0 @@ -# pipelineVariables - - - -## Index - -* [`fn withName(value)`](#fn-withname) -* [`fn withPipelineAgg(value)`](#fn-withpipelineagg) - -## Fields - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withPipelineAgg - -```jsonnet -withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md deleted file mode 100644 index 3289312711..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/elasticsearch/metrics/index.md +++ /dev/null @@ -1,2616 +0,0 @@ -# metrics - - - -## Subpackages - -* [MetricAggregationWithSettings.BucketScript.pipelineVariables](MetricAggregationWithSettings/BucketScript/pipelineVariables.md) -* [PipelineMetricAggregation.BucketScript.pipelineVariables](PipelineMetricAggregation/BucketScript/pipelineVariables.md) - -## Index - -* [`obj Count`](#obj-count) - * [`fn withHide(value=true)`](#fn-countwithhide) - * [`fn withId(value)`](#fn-countwithid) - * [`fn withType(value)`](#fn-countwithtype) -* [`obj MetricAggregationWithSettings`](#obj-metricaggregationwithsettings) - * [`obj Average`](#obj-metricaggregationwithsettingsaverage) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsaveragewithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsaveragewithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsaveragewithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsaveragewithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsaveragewithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsaveragewithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsaveragesettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsaveragesettingswithmissing) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsaveragesettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsaveragesettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingsaveragesettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsaveragesettingsscriptwithinline) - * [`obj BucketScript`](#obj-metricaggregationwithsettingsbucketscript) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsbucketscriptwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsbucketscriptwithid) - * [`fn withPipelineVariables(value)`](#fn-metricaggregationwithsettingsbucketscriptwithpipelinevariables) - * [`fn withPipelineVariablesMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptwithpipelinevariablesmixin) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsbucketscriptwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsbucketscriptwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsbucketscriptsettings) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingsbucketscriptsettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsbucketscriptsettingsscriptwithinline) - * [`obj CumulativeSum`](#obj-metricaggregationwithsettingscumulativesum) - * [`fn withField(value)`](#fn-metricaggregationwithsettingscumulativesumwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingscumulativesumwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingscumulativesumwithid) - * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingscumulativesumwithpipelineagg) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingscumulativesumwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingscumulativesumwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingscumulativesumwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingscumulativesumsettings) - * [`fn withFormat(value)`](#fn-metricaggregationwithsettingscumulativesumsettingswithformat) - * [`obj Derivative`](#obj-metricaggregationwithsettingsderivative) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsderivativewithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsderivativewithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsderivativewithid) - * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsderivativewithpipelineagg) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsderivativewithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsderivativewithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsderivativewithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsderivativesettings) - * [`fn withUnit(value)`](#fn-metricaggregationwithsettingsderivativesettingswithunit) - * [`obj ExtendedStats`](#obj-metricaggregationwithsettingsextendedstats) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsextendedstatswithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsextendedstatswithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsextendedstatswithid) - * [`fn withMeta(value)`](#fn-metricaggregationwithsettingsextendedstatswithmeta) - * [`fn withMetaMixin(value)`](#fn-metricaggregationwithsettingsextendedstatswithmetamixin) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsextendedstatswithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsextendedstatswithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsextendedstatswithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsextendedstatssettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithmissing) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithscriptmixin) - * [`fn withSigma(value)`](#fn-metricaggregationwithsettingsextendedstatssettingswithsigma) - * [`obj script`](#obj-metricaggregationwithsettingsextendedstatssettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsextendedstatssettingsscriptwithinline) - * [`obj Logs`](#obj-metricaggregationwithsettingslogs) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingslogswithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingslogswithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingslogswithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingslogswithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingslogswithtype) - * [`obj settings`](#obj-metricaggregationwithsettingslogssettings) - * [`fn withLimit(value)`](#fn-metricaggregationwithsettingslogssettingswithlimit) - * [`obj Max`](#obj-metricaggregationwithsettingsmax) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsmaxwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmaxwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsmaxwithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmaxwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmaxwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsmaxwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsmaxsettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsmaxsettingswithmissing) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsmaxsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsmaxsettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingsmaxsettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsmaxsettingsscriptwithinline) - * [`obj Min`](#obj-metricaggregationwithsettingsmin) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsminwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsminwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsminwithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsminwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsminwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsminwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsminsettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsminsettingswithmissing) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsminsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsminsettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingsminsettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsminsettingsscriptwithinline) - * [`obj MovingAverage`](#obj-metricaggregationwithsettingsmovingaverage) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsmovingaveragewithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmovingaveragewithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsmovingaveragewithid) - * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsmovingaveragewithpipelineagg) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmovingaveragewithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmovingaveragewithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsmovingaveragewithtype) - * [`obj MovingFunction`](#obj-metricaggregationwithsettingsmovingfunction) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsmovingfunctionwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithid) - * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithpipelineagg) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsmovingfunctionwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsmovingfunctionsettings) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithscriptmixin) - * [`fn withShift(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithshift) - * [`fn withWindow(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingswithwindow) - * [`obj script`](#obj-metricaggregationwithsettingsmovingfunctionsettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingsmovingfunctionsettingsscriptwithinline) - * [`obj Percentiles`](#obj-metricaggregationwithsettingspercentiles) - * [`fn withField(value)`](#fn-metricaggregationwithsettingspercentileswithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingspercentileswithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingspercentileswithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingspercentileswithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingspercentileswithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingspercentileswithtype) - * [`obj settings`](#obj-metricaggregationwithsettingspercentilessettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingspercentilessettingswithmissing) - * [`fn withPercents(value)`](#fn-metricaggregationwithsettingspercentilessettingswithpercents) - * [`fn withPercentsMixin(value)`](#fn-metricaggregationwithsettingspercentilessettingswithpercentsmixin) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingspercentilessettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingspercentilessettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingspercentilessettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingspercentilessettingsscriptwithinline) - * [`obj Rate`](#obj-metricaggregationwithsettingsrate) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsratewithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsratewithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsratewithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsratewithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsratewithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsratewithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsratesettings) - * [`fn withMode(value)`](#fn-metricaggregationwithsettingsratesettingswithmode) - * [`fn withUnit(value)`](#fn-metricaggregationwithsettingsratesettingswithunit) - * [`obj RawData`](#obj-metricaggregationwithsettingsrawdata) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsrawdatawithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsrawdatawithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsrawdatawithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsrawdatawithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsrawdatawithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsrawdatasettings) - * [`fn withSize(value)`](#fn-metricaggregationwithsettingsrawdatasettingswithsize) - * [`obj RawDocument`](#obj-metricaggregationwithsettingsrawdocument) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsrawdocumentwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsrawdocumentwithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsrawdocumentwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsrawdocumentwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsrawdocumentwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsrawdocumentsettings) - * [`fn withSize(value)`](#fn-metricaggregationwithsettingsrawdocumentsettingswithsize) - * [`obj SerialDiff`](#obj-metricaggregationwithsettingsserialdiff) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsserialdiffwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsserialdiffwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsserialdiffwithid) - * [`fn withPipelineAgg(value)`](#fn-metricaggregationwithsettingsserialdiffwithpipelineagg) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsserialdiffwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsserialdiffwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsserialdiffwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsserialdiffsettings) - * [`fn withLag(value)`](#fn-metricaggregationwithsettingsserialdiffsettingswithlag) - * [`obj Sum`](#obj-metricaggregationwithsettingssum) - * [`fn withField(value)`](#fn-metricaggregationwithsettingssumwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingssumwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingssumwithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingssumwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingssumwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingssumwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingssumsettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingssumsettingswithmissing) - * [`fn withScript(value)`](#fn-metricaggregationwithsettingssumsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-metricaggregationwithsettingssumsettingswithscriptmixin) - * [`obj script`](#obj-metricaggregationwithsettingssumsettingsscript) - * [`fn withInline(value)`](#fn-metricaggregationwithsettingssumsettingsscriptwithinline) - * [`obj TopMetrics`](#obj-metricaggregationwithsettingstopmetrics) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingstopmetricswithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingstopmetricswithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingstopmetricswithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingstopmetricswithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingstopmetricswithtype) - * [`obj settings`](#obj-metricaggregationwithsettingstopmetricssettings) - * [`fn withMetrics(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithmetrics) - * [`fn withMetricsMixin(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithmetricsmixin) - * [`fn withOrder(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithorder) - * [`fn withOrderBy(value)`](#fn-metricaggregationwithsettingstopmetricssettingswithorderby) - * [`obj UniqueCount`](#obj-metricaggregationwithsettingsuniquecount) - * [`fn withField(value)`](#fn-metricaggregationwithsettingsuniquecountwithfield) - * [`fn withHide(value=true)`](#fn-metricaggregationwithsettingsuniquecountwithhide) - * [`fn withId(value)`](#fn-metricaggregationwithsettingsuniquecountwithid) - * [`fn withSettings(value)`](#fn-metricaggregationwithsettingsuniquecountwithsettings) - * [`fn withSettingsMixin(value)`](#fn-metricaggregationwithsettingsuniquecountwithsettingsmixin) - * [`fn withType(value)`](#fn-metricaggregationwithsettingsuniquecountwithtype) - * [`obj settings`](#obj-metricaggregationwithsettingsuniquecountsettings) - * [`fn withMissing(value)`](#fn-metricaggregationwithsettingsuniquecountsettingswithmissing) - * [`fn withPrecisionThreshold(value)`](#fn-metricaggregationwithsettingsuniquecountsettingswithprecisionthreshold) -* [`obj PipelineMetricAggregation`](#obj-pipelinemetricaggregation) - * [`obj BucketScript`](#obj-pipelinemetricaggregationbucketscript) - * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationbucketscriptwithhide) - * [`fn withId(value)`](#fn-pipelinemetricaggregationbucketscriptwithid) - * [`fn withPipelineVariables(value)`](#fn-pipelinemetricaggregationbucketscriptwithpipelinevariables) - * [`fn withPipelineVariablesMixin(value)`](#fn-pipelinemetricaggregationbucketscriptwithpipelinevariablesmixin) - * [`fn withSettings(value)`](#fn-pipelinemetricaggregationbucketscriptwithsettings) - * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationbucketscriptwithsettingsmixin) - * [`fn withType(value)`](#fn-pipelinemetricaggregationbucketscriptwithtype) - * [`obj settings`](#obj-pipelinemetricaggregationbucketscriptsettings) - * [`fn withScript(value)`](#fn-pipelinemetricaggregationbucketscriptsettingswithscript) - * [`fn withScriptMixin(value)`](#fn-pipelinemetricaggregationbucketscriptsettingswithscriptmixin) - * [`obj script`](#obj-pipelinemetricaggregationbucketscriptsettingsscript) - * [`fn withInline(value)`](#fn-pipelinemetricaggregationbucketscriptsettingsscriptwithinline) - * [`obj CumulativeSum`](#obj-pipelinemetricaggregationcumulativesum) - * [`fn withField(value)`](#fn-pipelinemetricaggregationcumulativesumwithfield) - * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationcumulativesumwithhide) - * [`fn withId(value)`](#fn-pipelinemetricaggregationcumulativesumwithid) - * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationcumulativesumwithpipelineagg) - * [`fn withSettings(value)`](#fn-pipelinemetricaggregationcumulativesumwithsettings) - * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationcumulativesumwithsettingsmixin) - * [`fn withType(value)`](#fn-pipelinemetricaggregationcumulativesumwithtype) - * [`obj settings`](#obj-pipelinemetricaggregationcumulativesumsettings) - * [`fn withFormat(value)`](#fn-pipelinemetricaggregationcumulativesumsettingswithformat) - * [`obj Derivative`](#obj-pipelinemetricaggregationderivative) - * [`fn withField(value)`](#fn-pipelinemetricaggregationderivativewithfield) - * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationderivativewithhide) - * [`fn withId(value)`](#fn-pipelinemetricaggregationderivativewithid) - * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationderivativewithpipelineagg) - * [`fn withSettings(value)`](#fn-pipelinemetricaggregationderivativewithsettings) - * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationderivativewithsettingsmixin) - * [`fn withType(value)`](#fn-pipelinemetricaggregationderivativewithtype) - * [`obj settings`](#obj-pipelinemetricaggregationderivativesettings) - * [`fn withUnit(value)`](#fn-pipelinemetricaggregationderivativesettingswithunit) - * [`obj MovingAverage`](#obj-pipelinemetricaggregationmovingaverage) - * [`fn withField(value)`](#fn-pipelinemetricaggregationmovingaveragewithfield) - * [`fn withHide(value=true)`](#fn-pipelinemetricaggregationmovingaveragewithhide) - * [`fn withId(value)`](#fn-pipelinemetricaggregationmovingaveragewithid) - * [`fn withPipelineAgg(value)`](#fn-pipelinemetricaggregationmovingaveragewithpipelineagg) - * [`fn withSettings(value)`](#fn-pipelinemetricaggregationmovingaveragewithsettings) - * [`fn withSettingsMixin(value)`](#fn-pipelinemetricaggregationmovingaveragewithsettingsmixin) - * [`fn withType(value)`](#fn-pipelinemetricaggregationmovingaveragewithtype) - -## Fields - -### obj Count - - -#### fn Count.withHide - -```jsonnet -Count.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn Count.withId - -```jsonnet -Count.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn Count.withType - -```jsonnet -Count.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj MetricAggregationWithSettings - - -#### obj MetricAggregationWithSettings.Average - - -##### fn MetricAggregationWithSettings.Average.withField - -```jsonnet -MetricAggregationWithSettings.Average.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Average.withHide - -```jsonnet -MetricAggregationWithSettings.Average.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Average.withId - -```jsonnet -MetricAggregationWithSettings.Average.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Average.withSettings - -```jsonnet -MetricAggregationWithSettings.Average.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Average.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Average.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Average.withType - -```jsonnet -MetricAggregationWithSettings.Average.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Average.settings - - -###### fn MetricAggregationWithSettings.Average.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.Average.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Average.settings.withScript - -```jsonnet -MetricAggregationWithSettings.Average.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Average.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.Average.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.Average.settings.script - - -####### fn MetricAggregationWithSettings.Average.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.Average.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.BucketScript - - -##### fn MetricAggregationWithSettings.BucketScript.withHide - -```jsonnet -MetricAggregationWithSettings.BucketScript.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.BucketScript.withId - -```jsonnet -MetricAggregationWithSettings.BucketScript.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.BucketScript.withPipelineVariables - -```jsonnet -MetricAggregationWithSettings.BucketScript.withPipelineVariables(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn MetricAggregationWithSettings.BucketScript.withPipelineVariablesMixin - -```jsonnet -MetricAggregationWithSettings.BucketScript.withPipelineVariablesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn MetricAggregationWithSettings.BucketScript.withSettings - -```jsonnet -MetricAggregationWithSettings.BucketScript.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.BucketScript.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.BucketScript.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.BucketScript.withType - -```jsonnet -MetricAggregationWithSettings.BucketScript.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.BucketScript.settings - - -###### fn MetricAggregationWithSettings.BucketScript.settings.withScript - -```jsonnet -MetricAggregationWithSettings.BucketScript.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.BucketScript.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.BucketScript.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.BucketScript.settings.script - - -####### fn MetricAggregationWithSettings.BucketScript.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.BucketScript.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.CumulativeSum - - -##### fn MetricAggregationWithSettings.CumulativeSum.withField - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.CumulativeSum.withHide - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.CumulativeSum.withId - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.CumulativeSum.withPipelineAgg - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.CumulativeSum.withSettings - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.CumulativeSum.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.CumulativeSum.withType - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.CumulativeSum.settings - - -###### fn MetricAggregationWithSettings.CumulativeSum.settings.withFormat - -```jsonnet -MetricAggregationWithSettings.CumulativeSum.settings.withFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Derivative - - -##### fn MetricAggregationWithSettings.Derivative.withField - -```jsonnet -MetricAggregationWithSettings.Derivative.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Derivative.withHide - -```jsonnet -MetricAggregationWithSettings.Derivative.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Derivative.withId - -```jsonnet -MetricAggregationWithSettings.Derivative.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Derivative.withPipelineAgg - -```jsonnet -MetricAggregationWithSettings.Derivative.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Derivative.withSettings - -```jsonnet -MetricAggregationWithSettings.Derivative.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Derivative.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Derivative.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Derivative.withType - -```jsonnet -MetricAggregationWithSettings.Derivative.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Derivative.settings - - -###### fn MetricAggregationWithSettings.Derivative.settings.withUnit - -```jsonnet -MetricAggregationWithSettings.Derivative.settings.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.ExtendedStats - - -##### fn MetricAggregationWithSettings.ExtendedStats.withField - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withHide - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.ExtendedStats.withId - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withMeta - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withMeta(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withMetaMixin - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withMetaMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withSettings - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.ExtendedStats.withType - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.ExtendedStats.settings - - -###### fn MetricAggregationWithSettings.ExtendedStats.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.ExtendedStats.settings.withScript - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.ExtendedStats.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.ExtendedStats.settings.withSigma - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.settings.withSigma(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.ExtendedStats.settings.script - - -####### fn MetricAggregationWithSettings.ExtendedStats.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.ExtendedStats.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Logs - - -##### fn MetricAggregationWithSettings.Logs.withHide - -```jsonnet -MetricAggregationWithSettings.Logs.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Logs.withId - -```jsonnet -MetricAggregationWithSettings.Logs.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Logs.withSettings - -```jsonnet -MetricAggregationWithSettings.Logs.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Logs.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Logs.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Logs.withType - -```jsonnet -MetricAggregationWithSettings.Logs.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Logs.settings - - -###### fn MetricAggregationWithSettings.Logs.settings.withLimit - -```jsonnet -MetricAggregationWithSettings.Logs.settings.withLimit(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Max - - -##### fn MetricAggregationWithSettings.Max.withField - -```jsonnet -MetricAggregationWithSettings.Max.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Max.withHide - -```jsonnet -MetricAggregationWithSettings.Max.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Max.withId - -```jsonnet -MetricAggregationWithSettings.Max.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Max.withSettings - -```jsonnet -MetricAggregationWithSettings.Max.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Max.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Max.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Max.withType - -```jsonnet -MetricAggregationWithSettings.Max.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Max.settings - - -###### fn MetricAggregationWithSettings.Max.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.Max.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Max.settings.withScript - -```jsonnet -MetricAggregationWithSettings.Max.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Max.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.Max.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.Max.settings.script - - -####### fn MetricAggregationWithSettings.Max.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.Max.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Min - - -##### fn MetricAggregationWithSettings.Min.withField - -```jsonnet -MetricAggregationWithSettings.Min.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Min.withHide - -```jsonnet -MetricAggregationWithSettings.Min.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Min.withId - -```jsonnet -MetricAggregationWithSettings.Min.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Min.withSettings - -```jsonnet -MetricAggregationWithSettings.Min.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Min.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Min.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Min.withType - -```jsonnet -MetricAggregationWithSettings.Min.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Min.settings - - -###### fn MetricAggregationWithSettings.Min.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.Min.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Min.settings.withScript - -```jsonnet -MetricAggregationWithSettings.Min.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Min.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.Min.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.Min.settings.script - - -####### fn MetricAggregationWithSettings.Min.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.Min.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.MovingAverage - - -##### fn MetricAggregationWithSettings.MovingAverage.withField - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingAverage.withHide - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.MovingAverage.withId - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingAverage.withPipelineAgg - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingAverage.withSettings - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.MovingAverage.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.MovingAverage.withType - -```jsonnet -MetricAggregationWithSettings.MovingAverage.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.MovingFunction - - -##### fn MetricAggregationWithSettings.MovingFunction.withField - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingFunction.withHide - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.MovingFunction.withId - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingFunction.withPipelineAgg - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.MovingFunction.withSettings - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.MovingFunction.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.MovingFunction.withType - -```jsonnet -MetricAggregationWithSettings.MovingFunction.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.MovingFunction.settings - - -###### fn MetricAggregationWithSettings.MovingFunction.settings.withScript - -```jsonnet -MetricAggregationWithSettings.MovingFunction.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.MovingFunction.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.MovingFunction.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.MovingFunction.settings.withShift - -```jsonnet -MetricAggregationWithSettings.MovingFunction.settings.withShift(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.MovingFunction.settings.withWindow - -```jsonnet -MetricAggregationWithSettings.MovingFunction.settings.withWindow(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.MovingFunction.settings.script - - -####### fn MetricAggregationWithSettings.MovingFunction.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.MovingFunction.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Percentiles - - -##### fn MetricAggregationWithSettings.Percentiles.withField - -```jsonnet -MetricAggregationWithSettings.Percentiles.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Percentiles.withHide - -```jsonnet -MetricAggregationWithSettings.Percentiles.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Percentiles.withId - -```jsonnet -MetricAggregationWithSettings.Percentiles.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Percentiles.withSettings - -```jsonnet -MetricAggregationWithSettings.Percentiles.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Percentiles.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Percentiles.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Percentiles.withType - -```jsonnet -MetricAggregationWithSettings.Percentiles.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Percentiles.settings - - -###### fn MetricAggregationWithSettings.Percentiles.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Percentiles.settings.withPercents - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.withPercents(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn MetricAggregationWithSettings.Percentiles.settings.withPercentsMixin - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.withPercentsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn MetricAggregationWithSettings.Percentiles.settings.withScript - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Percentiles.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.Percentiles.settings.script - - -####### fn MetricAggregationWithSettings.Percentiles.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.Percentiles.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Rate - - -##### fn MetricAggregationWithSettings.Rate.withField - -```jsonnet -MetricAggregationWithSettings.Rate.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Rate.withHide - -```jsonnet -MetricAggregationWithSettings.Rate.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Rate.withId - -```jsonnet -MetricAggregationWithSettings.Rate.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Rate.withSettings - -```jsonnet -MetricAggregationWithSettings.Rate.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Rate.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Rate.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Rate.withType - -```jsonnet -MetricAggregationWithSettings.Rate.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Rate.settings - - -###### fn MetricAggregationWithSettings.Rate.settings.withMode - -```jsonnet -MetricAggregationWithSettings.Rate.settings.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Rate.settings.withUnit - -```jsonnet -MetricAggregationWithSettings.Rate.settings.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.RawData - - -##### fn MetricAggregationWithSettings.RawData.withHide - -```jsonnet -MetricAggregationWithSettings.RawData.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.RawData.withId - -```jsonnet -MetricAggregationWithSettings.RawData.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.RawData.withSettings - -```jsonnet -MetricAggregationWithSettings.RawData.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.RawData.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.RawData.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.RawData.withType - -```jsonnet -MetricAggregationWithSettings.RawData.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.RawData.settings - - -###### fn MetricAggregationWithSettings.RawData.settings.withSize - -```jsonnet -MetricAggregationWithSettings.RawData.settings.withSize(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.RawDocument - - -##### fn MetricAggregationWithSettings.RawDocument.withHide - -```jsonnet -MetricAggregationWithSettings.RawDocument.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.RawDocument.withId - -```jsonnet -MetricAggregationWithSettings.RawDocument.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.RawDocument.withSettings - -```jsonnet -MetricAggregationWithSettings.RawDocument.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.RawDocument.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.RawDocument.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.RawDocument.withType - -```jsonnet -MetricAggregationWithSettings.RawDocument.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.RawDocument.settings - - -###### fn MetricAggregationWithSettings.RawDocument.settings.withSize - -```jsonnet -MetricAggregationWithSettings.RawDocument.settings.withSize(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.SerialDiff - - -##### fn MetricAggregationWithSettings.SerialDiff.withField - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.SerialDiff.withHide - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.SerialDiff.withId - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.SerialDiff.withPipelineAgg - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.SerialDiff.withSettings - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.SerialDiff.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.SerialDiff.withType - -```jsonnet -MetricAggregationWithSettings.SerialDiff.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.SerialDiff.settings - - -###### fn MetricAggregationWithSettings.SerialDiff.settings.withLag - -```jsonnet -MetricAggregationWithSettings.SerialDiff.settings.withLag(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.Sum - - -##### fn MetricAggregationWithSettings.Sum.withField - -```jsonnet -MetricAggregationWithSettings.Sum.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Sum.withHide - -```jsonnet -MetricAggregationWithSettings.Sum.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.Sum.withId - -```jsonnet -MetricAggregationWithSettings.Sum.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.Sum.withSettings - -```jsonnet -MetricAggregationWithSettings.Sum.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Sum.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.Sum.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.Sum.withType - -```jsonnet -MetricAggregationWithSettings.Sum.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.Sum.settings - - -###### fn MetricAggregationWithSettings.Sum.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.Sum.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Sum.settings.withScript - -```jsonnet -MetricAggregationWithSettings.Sum.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.Sum.settings.withScriptMixin - -```jsonnet -MetricAggregationWithSettings.Sum.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj MetricAggregationWithSettings.Sum.settings.script - - -####### fn MetricAggregationWithSettings.Sum.settings.script.withInline - -```jsonnet -MetricAggregationWithSettings.Sum.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.TopMetrics - - -##### fn MetricAggregationWithSettings.TopMetrics.withHide - -```jsonnet -MetricAggregationWithSettings.TopMetrics.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.TopMetrics.withId - -```jsonnet -MetricAggregationWithSettings.TopMetrics.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.TopMetrics.withSettings - -```jsonnet -MetricAggregationWithSettings.TopMetrics.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.TopMetrics.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.TopMetrics.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.TopMetrics.withType - -```jsonnet -MetricAggregationWithSettings.TopMetrics.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.TopMetrics.settings - - -###### fn MetricAggregationWithSettings.TopMetrics.settings.withMetrics - -```jsonnet -MetricAggregationWithSettings.TopMetrics.settings.withMetrics(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn MetricAggregationWithSettings.TopMetrics.settings.withMetricsMixin - -```jsonnet -MetricAggregationWithSettings.TopMetrics.settings.withMetricsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -###### fn MetricAggregationWithSettings.TopMetrics.settings.withOrder - -```jsonnet -MetricAggregationWithSettings.TopMetrics.settings.withOrder(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.TopMetrics.settings.withOrderBy - -```jsonnet -MetricAggregationWithSettings.TopMetrics.settings.withOrderBy(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj MetricAggregationWithSettings.UniqueCount - - -##### fn MetricAggregationWithSettings.UniqueCount.withField - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.UniqueCount.withHide - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn MetricAggregationWithSettings.UniqueCount.withId - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn MetricAggregationWithSettings.UniqueCount.withSettings - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.UniqueCount.withSettingsMixin - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn MetricAggregationWithSettings.UniqueCount.withType - -```jsonnet -MetricAggregationWithSettings.UniqueCount.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj MetricAggregationWithSettings.UniqueCount.settings - - -###### fn MetricAggregationWithSettings.UniqueCount.settings.withMissing - -```jsonnet -MetricAggregationWithSettings.UniqueCount.settings.withMissing(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn MetricAggregationWithSettings.UniqueCount.settings.withPrecisionThreshold - -```jsonnet -MetricAggregationWithSettings.UniqueCount.settings.withPrecisionThreshold(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj PipelineMetricAggregation - - -#### obj PipelineMetricAggregation.BucketScript - - -##### fn PipelineMetricAggregation.BucketScript.withHide - -```jsonnet -PipelineMetricAggregation.BucketScript.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn PipelineMetricAggregation.BucketScript.withId - -```jsonnet -PipelineMetricAggregation.BucketScript.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.BucketScript.withPipelineVariables - -```jsonnet -PipelineMetricAggregation.BucketScript.withPipelineVariables(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn PipelineMetricAggregation.BucketScript.withPipelineVariablesMixin - -```jsonnet -PipelineMetricAggregation.BucketScript.withPipelineVariablesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -##### fn PipelineMetricAggregation.BucketScript.withSettings - -```jsonnet -PipelineMetricAggregation.BucketScript.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.BucketScript.withSettingsMixin - -```jsonnet -PipelineMetricAggregation.BucketScript.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.BucketScript.withType - -```jsonnet -PipelineMetricAggregation.BucketScript.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj PipelineMetricAggregation.BucketScript.settings - - -###### fn PipelineMetricAggregation.BucketScript.settings.withScript - -```jsonnet -PipelineMetricAggregation.BucketScript.settings.withScript(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### fn PipelineMetricAggregation.BucketScript.settings.withScriptMixin - -```jsonnet -PipelineMetricAggregation.BucketScript.settings.withScriptMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -###### obj PipelineMetricAggregation.BucketScript.settings.script - - -####### fn PipelineMetricAggregation.BucketScript.settings.script.withInline - -```jsonnet -PipelineMetricAggregation.BucketScript.settings.script.withInline(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj PipelineMetricAggregation.CumulativeSum - - -##### fn PipelineMetricAggregation.CumulativeSum.withField - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.CumulativeSum.withHide - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn PipelineMetricAggregation.CumulativeSum.withId - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.CumulativeSum.withPipelineAgg - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.CumulativeSum.withSettings - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.CumulativeSum.withSettingsMixin - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.CumulativeSum.withType - -```jsonnet -PipelineMetricAggregation.CumulativeSum.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj PipelineMetricAggregation.CumulativeSum.settings - - -###### fn PipelineMetricAggregation.CumulativeSum.settings.withFormat - -```jsonnet -PipelineMetricAggregation.CumulativeSum.settings.withFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj PipelineMetricAggregation.Derivative - - -##### fn PipelineMetricAggregation.Derivative.withField - -```jsonnet -PipelineMetricAggregation.Derivative.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.Derivative.withHide - -```jsonnet -PipelineMetricAggregation.Derivative.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn PipelineMetricAggregation.Derivative.withId - -```jsonnet -PipelineMetricAggregation.Derivative.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.Derivative.withPipelineAgg - -```jsonnet -PipelineMetricAggregation.Derivative.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.Derivative.withSettings - -```jsonnet -PipelineMetricAggregation.Derivative.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.Derivative.withSettingsMixin - -```jsonnet -PipelineMetricAggregation.Derivative.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.Derivative.withType - -```jsonnet -PipelineMetricAggregation.Derivative.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### obj PipelineMetricAggregation.Derivative.settings - - -###### fn PipelineMetricAggregation.Derivative.settings.withUnit - -```jsonnet -PipelineMetricAggregation.Derivative.settings.withUnit(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### obj PipelineMetricAggregation.MovingAverage - - -##### fn PipelineMetricAggregation.MovingAverage.withField - -```jsonnet -PipelineMetricAggregation.MovingAverage.withField(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.MovingAverage.withHide - -```jsonnet -PipelineMetricAggregation.MovingAverage.withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -##### fn PipelineMetricAggregation.MovingAverage.withId - -```jsonnet -PipelineMetricAggregation.MovingAverage.withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.MovingAverage.withPipelineAgg - -```jsonnet -PipelineMetricAggregation.MovingAverage.withPipelineAgg(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn PipelineMetricAggregation.MovingAverage.withSettings - -```jsonnet -PipelineMetricAggregation.MovingAverage.withSettings(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.MovingAverage.withSettingsMixin - -```jsonnet -PipelineMetricAggregation.MovingAverage.withSettingsMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -##### fn PipelineMetricAggregation.MovingAverage.withType - -```jsonnet -PipelineMetricAggregation.MovingAverage.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md deleted file mode 100644 index 69779d9133..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/grafanaPyroscope.md +++ /dev/null @@ -1,127 +0,0 @@ -# grafanaPyroscope - -grafonnet.query.grafanaPyroscope - -## Index - -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withGroupBy(value)`](#fn-withgroupby) -* [`fn withGroupByMixin(value)`](#fn-withgroupbymixin) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withLabelSelector(value="{}")`](#fn-withlabelselector) -* [`fn withMaxNodes(value)`](#fn-withmaxnodes) -* [`fn withProfileTypeId(value)`](#fn-withprofiletypeid) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) - -## Fields - -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -### fn withGroupBy - -```jsonnet -withGroupBy(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Allows to group the results. -### fn withGroupByMixin - -```jsonnet -withGroupByMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Allows to group the results. -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withLabelSelector - -```jsonnet -withLabelSelector(value="{}") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"{}"` - -Specifies the query label selectors. -### fn withMaxNodes - -```jsonnet -withMaxNodes(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Sets the maximum number of nodes in the flamegraph. -### fn withProfileTypeId - -```jsonnet -withProfileTypeId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specifies the type of profile to query. -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md deleted file mode 100644 index f1f6ee6c04..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/index.md +++ /dev/null @@ -1,15 +0,0 @@ -# query - -grafonnet.query - -## Subpackages - -* [azureMonitor](azureMonitor/index.md) -* [cloudWatch](cloudWatch/index.md) -* [elasticsearch](elasticsearch/index.md) -* [grafanaPyroscope](grafanaPyroscope.md) -* [loki](loki.md) -* [parca](parca.md) -* [prometheus](prometheus.md) -* [tempo](tempo/index.md) -* [testData](testData/index.md) diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md deleted file mode 100644 index 99fd4081b2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/loki.md +++ /dev/null @@ -1,163 +0,0 @@ -# loki - -grafonnet.query.loki - -## Index - -* [`fn new(datasource, expr)`](#fn-new) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withEditorMode(value)`](#fn-witheditormode) -* [`fn withExpr(value)`](#fn-withexpr) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withInstant(value=true)`](#fn-withinstant) -* [`fn withLegendFormat(value)`](#fn-withlegendformat) -* [`fn withMaxLines(value)`](#fn-withmaxlines) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRange(value=true)`](#fn-withrange) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withResolution(value)`](#fn-withresolution) - -## Fields - -### fn new - -```jsonnet -new(datasource, expr) -``` - -PARAMETERS: - -* **datasource** (`string`) -* **expr** (`string`) - -Creates a new loki query target for panels. -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the datasource for this query. -### fn withEditorMode - -```jsonnet -withEditorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"code"`, `"builder"` - - -### fn withExpr - -```jsonnet -withExpr(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The LogQL query. -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withInstant - -```jsonnet -withInstant(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -@deprecated, now use queryType. -### fn withLegendFormat - -```jsonnet -withLegendFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Used to override the name of the series. -### fn withMaxLines - -```jsonnet -withMaxLines(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Used to limit the number of log rows returned. -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRange - -```jsonnet -withRange(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -@deprecated, now use queryType. -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -### fn withResolution - -```jsonnet -withResolution(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Used to scale the interval value. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md deleted file mode 100644 index 6edbee5f4c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/parca.md +++ /dev/null @@ -1,91 +0,0 @@ -# parca - -grafonnet.query.parca - -## Index - -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withLabelSelector(value="{}")`](#fn-withlabelselector) -* [`fn withProfileTypeId(value)`](#fn-withprofiletypeid) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) - -## Fields - -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withLabelSelector - -```jsonnet -withLabelSelector(value="{}") -``` - -PARAMETERS: - -* **value** (`string`) - - default value: `"{}"` - -Specifies the query label selectors. -### fn withProfileTypeId - -```jsonnet -withProfileTypeId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specifies the type of profile to query. -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md deleted file mode 100644 index d211529495..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/prometheus.md +++ /dev/null @@ -1,177 +0,0 @@ -# prometheus - -grafonnet.query.prometheus - -## Index - -* [`fn new(datasource, expr)`](#fn-new) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withEditorMode(value)`](#fn-witheditormode) -* [`fn withExemplar(value=true)`](#fn-withexemplar) -* [`fn withExpr(value)`](#fn-withexpr) -* [`fn withFormat(value)`](#fn-withformat) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withInstant(value=true)`](#fn-withinstant) -* [`fn withIntervalFactor(value)`](#fn-withintervalfactor) -* [`fn withLegendFormat(value)`](#fn-withlegendformat) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRange(value=true)`](#fn-withrange) -* [`fn withRefId(value)`](#fn-withrefid) - -## Fields - -### fn new - -```jsonnet -new(datasource, expr) -``` - -PARAMETERS: - -* **datasource** (`string`) -* **expr** (`string`) - -Creates a new prometheus query target for panels. -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the datasource for this query. -### fn withEditorMode - -```jsonnet -withEditorMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"code"`, `"builder"` - - -### fn withExemplar - -```jsonnet -withExemplar(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Execute an additional query to identify interesting raw samples relevant for the given expr -### fn withExpr - -```jsonnet -withExpr(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The actual expression/query that will be evaluated by Prometheus -### fn withFormat - -```jsonnet -withFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"time_series"`, `"table"`, `"heatmap"` - - -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withInstant - -```jsonnet -withInstant(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Returns only the latest value that Prometheus has scraped for the requested time series -### fn withIntervalFactor - -```jsonnet -withIntervalFactor(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the interval factor for this query. -### fn withLegendFormat - -```jsonnet -withLegendFormat(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the legend format for this query. -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRange - -```jsonnet -withRange(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md deleted file mode 100644 index b0ecd49145..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/filters.md +++ /dev/null @@ -1,94 +0,0 @@ -# filters - - - -## Index - -* [`fn withId(value)`](#fn-withid) -* [`fn withOperator(value)`](#fn-withoperator) -* [`fn withScope(value)`](#fn-withscope) -* [`fn withTag(value)`](#fn-withtag) -* [`fn withValue(value)`](#fn-withvalue) -* [`fn withValueMixin(value)`](#fn-withvaluemixin) -* [`fn withValueType(value)`](#fn-withvaluetype) - -## Fields - -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Uniquely identify the filter, will not be used in the query generation -### fn withOperator - -```jsonnet -withOperator(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The operator that connects the tag to the value, for example: =, >, !=, =~ -### fn withScope - -```jsonnet -withScope(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"unscoped"`, `"resource"`, `"span"` - -static fields are pre-set in the UI, dynamic fields are added by the user -### fn withTag - -```jsonnet -withTag(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The tag for the search filter, for example: .http.status_code, .service.name, status -### fn withValue - -```jsonnet -withValue(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The value for the search filter -### fn withValueMixin - -```jsonnet -withValueMixin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The value for the search filter -### fn withValueType - -```jsonnet -withValueType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md deleted file mode 100644 index 9949daae06..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/tempo/index.md +++ /dev/null @@ -1,201 +0,0 @@ -# tempo - -grafonnet.query.tempo - -## Subpackages - -* [filters](filters.md) - -## Index - -* [`fn new(datasource, query, filters)`](#fn-new) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withFilters(value)`](#fn-withfilters) -* [`fn withFiltersMixin(value)`](#fn-withfiltersmixin) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withLimit(value)`](#fn-withlimit) -* [`fn withMaxDuration(value)`](#fn-withmaxduration) -* [`fn withMinDuration(value)`](#fn-withminduration) -* [`fn withQuery(value)`](#fn-withquery) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withSearch(value)`](#fn-withsearch) -* [`fn withServiceMapQuery(value)`](#fn-withservicemapquery) -* [`fn withServiceName(value)`](#fn-withservicename) -* [`fn withSpanName(value)`](#fn-withspanname) - -## Fields - -### fn new - -```jsonnet -new(datasource, query, filters) -``` - -PARAMETERS: - -* **datasource** (`string`) -* **query** (`string`) -* **filters** (`array`) - -Creates a new tempo query target for panels. -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Set the datasource for this query. -### fn withFilters - -```jsonnet -withFilters(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withFiltersMixin - -```jsonnet -withFiltersMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withLimit - -```jsonnet -withLimit(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Defines the maximum number of traces that are returned from Tempo -### fn withMaxDuration - -```jsonnet -withMaxDuration(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms -### fn withMinDuration - -```jsonnet -withMinDuration(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms -### fn withQuery - -```jsonnet -withQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -TraceQL query or trace ID -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -### fn withSearch - -```jsonnet -withSearch(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true -### fn withServiceMapQuery - -```jsonnet -withServiceMapQuery(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"} -### fn withServiceName - -```jsonnet -withServiceName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Query traces by service name -### fn withSpanName - -```jsonnet -withSpanName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Query traces by span name \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md deleted file mode 100644 index 8927e1ccd4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/csvWave.md +++ /dev/null @@ -1,56 +0,0 @@ -# csvWave - - - -## Index - -* [`fn withLabels(value)`](#fn-withlabels) -* [`fn withName(value)`](#fn-withname) -* [`fn withTimeStep(value)`](#fn-withtimestep) -* [`fn withValuesCSV(value)`](#fn-withvaluescsv) - -## Fields - -### fn withLabels - -```jsonnet -withLabels(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withTimeStep - -```jsonnet -withTimeStep(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withValuesCSV - -```jsonnet -withValuesCSV(value) -``` - -PARAMETERS: - -* **value** (`string`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md deleted file mode 100644 index 5387d19959..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/query/testData/index.md +++ /dev/null @@ -1,760 +0,0 @@ -# testData - -grafonnet.query.testData - -## Subpackages - -* [csvWave](csvWave.md) - -## Index - -* [`fn withAlias(value)`](#fn-withalias) -* [`fn withChannel(value)`](#fn-withchannel) -* [`fn withCsvContent(value)`](#fn-withcsvcontent) -* [`fn withCsvFileName(value)`](#fn-withcsvfilename) -* [`fn withCsvWave(value)`](#fn-withcsvwave) -* [`fn withCsvWaveMixin(value)`](#fn-withcsvwavemixin) -* [`fn withDatasource(value)`](#fn-withdatasource) -* [`fn withErrorType(value)`](#fn-witherrortype) -* [`fn withHide(value=true)`](#fn-withhide) -* [`fn withLabels(value)`](#fn-withlabels) -* [`fn withLevelColumn(value=true)`](#fn-withlevelcolumn) -* [`fn withLines(value)`](#fn-withlines) -* [`fn withNodes(value)`](#fn-withnodes) -* [`fn withNodesMixin(value)`](#fn-withnodesmixin) -* [`fn withPoints(value)`](#fn-withpoints) -* [`fn withPointsMixin(value)`](#fn-withpointsmixin) -* [`fn withPulseWave(value)`](#fn-withpulsewave) -* [`fn withPulseWaveMixin(value)`](#fn-withpulsewavemixin) -* [`fn withQueryType(value)`](#fn-withquerytype) -* [`fn withRawFrameContent(value)`](#fn-withrawframecontent) -* [`fn withRefId(value)`](#fn-withrefid) -* [`fn withScenarioId(value)`](#fn-withscenarioid) -* [`fn withSeriesCount(value)`](#fn-withseriescount) -* [`fn withSim(value)`](#fn-withsim) -* [`fn withSimMixin(value)`](#fn-withsimmixin) -* [`fn withSpanCount(value)`](#fn-withspancount) -* [`fn withStream(value)`](#fn-withstream) -* [`fn withStreamMixin(value)`](#fn-withstreammixin) -* [`fn withStringInput(value)`](#fn-withstringinput) -* [`fn withUsa(value)`](#fn-withusa) -* [`fn withUsaMixin(value)`](#fn-withusamixin) -* [`obj nodes`](#obj-nodes) - * [`fn withCount(value)`](#fn-nodeswithcount) - * [`fn withType(value)`](#fn-nodeswithtype) -* [`obj pulseWave`](#obj-pulsewave) - * [`fn withOffCount(value)`](#fn-pulsewavewithoffcount) - * [`fn withOffValue(value)`](#fn-pulsewavewithoffvalue) - * [`fn withOnCount(value)`](#fn-pulsewavewithoncount) - * [`fn withOnValue(value)`](#fn-pulsewavewithonvalue) - * [`fn withTimeStep(value)`](#fn-pulsewavewithtimestep) -* [`obj sim`](#obj-sim) - * [`fn withConfig(value)`](#fn-simwithconfig) - * [`fn withConfigMixin(value)`](#fn-simwithconfigmixin) - * [`fn withKey(value)`](#fn-simwithkey) - * [`fn withKeyMixin(value)`](#fn-simwithkeymixin) - * [`fn withLast(value=true)`](#fn-simwithlast) - * [`fn withStream(value=true)`](#fn-simwithstream) - * [`obj key`](#obj-simkey) - * [`fn withTick(value)`](#fn-simkeywithtick) - * [`fn withType(value)`](#fn-simkeywithtype) - * [`fn withUid(value)`](#fn-simkeywithuid) -* [`obj stream`](#obj-stream) - * [`fn withBands(value)`](#fn-streamwithbands) - * [`fn withNoise(value)`](#fn-streamwithnoise) - * [`fn withSpeed(value)`](#fn-streamwithspeed) - * [`fn withSpread(value)`](#fn-streamwithspread) - * [`fn withType(value)`](#fn-streamwithtype) - * [`fn withUrl(value)`](#fn-streamwithurl) -* [`obj usa`](#obj-usa) - * [`fn withFields(value)`](#fn-usawithfields) - * [`fn withFieldsMixin(value)`](#fn-usawithfieldsmixin) - * [`fn withMode(value)`](#fn-usawithmode) - * [`fn withPeriod(value)`](#fn-usawithperiod) - * [`fn withStates(value)`](#fn-usawithstates) - * [`fn withStatesMixin(value)`](#fn-usawithstatesmixin) - -## Fields - -### fn withAlias - -```jsonnet -withAlias(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withChannel - -```jsonnet -withChannel(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withCsvContent - -```jsonnet -withCsvContent(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withCsvFileName - -```jsonnet -withCsvFileName(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withCsvWave - -```jsonnet -withCsvWave(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withCsvWaveMixin - -```jsonnet -withCsvWaveMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withDatasource - -```jsonnet -withDatasource(value) -``` - -PARAMETERS: - -* **value** (`string`) - -For mixed data sources the selected datasource is on the query level. -For non mixed scenarios this is undefined. -TODO find a better way to do this ^ that's friendly to schema -TODO this shouldn't be unknown but DataSourceRef | null -### fn withErrorType - -```jsonnet -withErrorType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"server_panic"`, `"frontend_exception"`, `"frontend_observable"` - - -### fn withHide - -```jsonnet -withHide(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -true if query is disabled (ie should not be returned to the dashboard) -Note this does not always imply that the query should not be executed since -the results from a hidden query may be used as the input to other queries (SSE etc) -### fn withLabels - -```jsonnet -withLabels(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withLevelColumn - -```jsonnet -withLevelColumn(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -### fn withLines - -```jsonnet -withLines(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withNodes - -```jsonnet -withNodes(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withNodesMixin - -```jsonnet -withNodesMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withPoints - -```jsonnet -withPoints(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPointsMixin - -```jsonnet -withPointsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -### fn withPulseWave - -```jsonnet -withPulseWave(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withPulseWaveMixin - -```jsonnet -withPulseWaveMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withQueryType - -```jsonnet -withQueryType(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Specify the query flavor -TODO make this required and give it a default -### fn withRawFrameContent - -```jsonnet -withRawFrameContent(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withRefId - -```jsonnet -withRefId(value) -``` - -PARAMETERS: - -* **value** (`string`) - -A unique identifier for the query within the list of targets. -In server side expressions, the refId is used as a variable name to identify results. -By default, the UI will assign A->Z; however setting meaningful names may be useful. -### fn withScenarioId - -```jsonnet -withScenarioId(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"random_walk"`, `"slow_query"`, `"random_walk_with_error"`, `"random_walk_table"`, `"exponential_heatmap_bucket_data"`, `"linear_heatmap_bucket_data"`, `"no_data_points"`, `"datapoints_outside_range"`, `"csv_metric_values"`, `"predictable_pulse"`, `"predictable_csv_wave"`, `"streaming_client"`, `"simulation"`, `"usa"`, `"live"`, `"grafana_api"`, `"arrow"`, `"annotations"`, `"table_static"`, `"server_error_500"`, `"logs"`, `"node_graph"`, `"flame_graph"`, `"raw_frame"`, `"csv_file"`, `"csv_content"`, `"trace"`, `"manual_entry"`, `"variables-query"` - - -### fn withSeriesCount - -```jsonnet -withSeriesCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withSim - -```jsonnet -withSim(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withSimMixin - -```jsonnet -withSimMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withSpanCount - -```jsonnet -withSpanCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### fn withStream - -```jsonnet -withStream(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withStreamMixin - -```jsonnet -withStreamMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withStringInput - -```jsonnet -withStringInput(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### fn withUsa - -```jsonnet -withUsa(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### fn withUsaMixin - -```jsonnet -withUsaMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -### obj nodes - - -#### fn nodes.withCount - -```jsonnet -nodes.withCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn nodes.withType - -```jsonnet -nodes.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"random"`, `"response"`, `"random edges"` - - -### obj pulseWave - - -#### fn pulseWave.withOffCount - -```jsonnet -pulseWave.withOffCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn pulseWave.withOffValue - -```jsonnet -pulseWave.withOffValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn pulseWave.withOnCount - -```jsonnet -pulseWave.withOnCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn pulseWave.withOnValue - -```jsonnet -pulseWave.withOnValue(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -#### fn pulseWave.withTimeStep - -```jsonnet -pulseWave.withTimeStep(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -### obj sim - - -#### fn sim.withConfig - -```jsonnet -sim.withConfig(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn sim.withConfigMixin - -```jsonnet -sim.withConfigMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn sim.withKey - -```jsonnet -sim.withKey(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn sim.withKeyMixin - -```jsonnet -sim.withKeyMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - - -#### fn sim.withLast - -```jsonnet -sim.withLast(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### fn sim.withStream - -```jsonnet -sim.withStream(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - - -#### obj sim.key - - -##### fn sim.key.withTick - -```jsonnet -sim.key.withTick(value) -``` - -PARAMETERS: - -* **value** (`number`) - - -##### fn sim.key.withType - -```jsonnet -sim.key.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -##### fn sim.key.withUid - -```jsonnet -sim.key.withUid(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj stream - - -#### fn stream.withBands - -```jsonnet -stream.withBands(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn stream.withNoise - -```jsonnet -stream.withNoise(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn stream.withSpeed - -```jsonnet -stream.withSpeed(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn stream.withSpread - -```jsonnet -stream.withSpread(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - -#### fn stream.withType - -```jsonnet -stream.withType(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"signal"`, `"logs"`, `"fetch"` - - -#### fn stream.withUrl - -```jsonnet -stream.withUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -### obj usa - - -#### fn usa.withFields - -```jsonnet -usa.withFields(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn usa.withFieldsMixin - -```jsonnet -usa.withFieldsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn usa.withMode - -```jsonnet -usa.withMode(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn usa.withPeriod - -```jsonnet -usa.withPeriod(value) -``` - -PARAMETERS: - -* **value** (`string`) - - -#### fn usa.withStates - -```jsonnet -usa.withStates(value) -``` - -PARAMETERS: - -* **value** (`array`) - - -#### fn usa.withStatesMixin - -```jsonnet -usa.withStatesMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md deleted file mode 100644 index 0e83b435af..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/serviceaccount.md +++ /dev/null @@ -1,157 +0,0 @@ -# serviceaccount - -grafonnet.serviceaccount - -## Index - -* [`fn withAccessControl(value)`](#fn-withaccesscontrol) -* [`fn withAccessControlMixin(value)`](#fn-withaccesscontrolmixin) -* [`fn withAvatarUrl(value)`](#fn-withavatarurl) -* [`fn withId(value)`](#fn-withid) -* [`fn withIsDisabled(value=true)`](#fn-withisdisabled) -* [`fn withLogin(value)`](#fn-withlogin) -* [`fn withName(value)`](#fn-withname) -* [`fn withOrgId(value)`](#fn-withorgid) -* [`fn withRole(value)`](#fn-withrole) -* [`fn withTeams(value)`](#fn-withteams) -* [`fn withTeamsMixin(value)`](#fn-withteamsmixin) -* [`fn withTokens(value)`](#fn-withtokens) - -## Fields - -### fn withAccessControl - -```jsonnet -withAccessControl(value) -``` - -PARAMETERS: - -* **value** (`object`) - -AccessControl metadata associated with a given resource. -### fn withAccessControlMixin - -```jsonnet -withAccessControlMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -AccessControl metadata associated with a given resource. -### fn withAvatarUrl - -```jsonnet -withAvatarUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front -of the service account. -### fn withId - -```jsonnet -withId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -ID is the unique identifier of the service account in the database. -### fn withIsDisabled - -```jsonnet -withIsDisabled(value=true) -``` - -PARAMETERS: - -* **value** (`boolean`) - - default value: `true` - -IsDisabled indicates if the service account is disabled. -### fn withLogin - -```jsonnet -withLogin(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Login of the service account. -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the service account. -### fn withOrgId - -```jsonnet -withOrgId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -OrgId is the ID of an organisation the service account belongs to. -### fn withRole - -```jsonnet -withRole(value) -``` - -PARAMETERS: - -* **value** (`string`) - - valid values: `"Admin"`, `"Editor"`, `"Viewer"` - -OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'. -### fn withTeams - -```jsonnet -withTeams(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Teams is a list of teams the service account belongs to. -### fn withTeamsMixin - -```jsonnet -withTeamsMixin(value) -``` - -PARAMETERS: - -* **value** (`array`) - -Teams is a list of teams the service account belongs to. -### fn withTokens - -```jsonnet -withTokens(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -Tokens is the number of active tokens for the service account. -Tokens are used to authenticate the service account against Grafana. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md deleted file mode 100644 index c15a0cd98a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/team.md +++ /dev/null @@ -1,105 +0,0 @@ -# team - -grafonnet.team - -## Index - -* [`fn withAccessControl(value)`](#fn-withaccesscontrol) -* [`fn withAccessControlMixin(value)`](#fn-withaccesscontrolmixin) -* [`fn withAvatarUrl(value)`](#fn-withavatarurl) -* [`fn withEmail(value)`](#fn-withemail) -* [`fn withMemberCount(value)`](#fn-withmembercount) -* [`fn withName(value)`](#fn-withname) -* [`fn withOrgId(value)`](#fn-withorgid) -* [`fn withPermission(value)`](#fn-withpermission) - -## Fields - -### fn withAccessControl - -```jsonnet -withAccessControl(value) -``` - -PARAMETERS: - -* **value** (`object`) - -AccessControl metadata associated with a given resource. -### fn withAccessControlMixin - -```jsonnet -withAccessControlMixin(value) -``` - -PARAMETERS: - -* **value** (`object`) - -AccessControl metadata associated with a given resource. -### fn withAvatarUrl - -```jsonnet -withAvatarUrl(value) -``` - -PARAMETERS: - -* **value** (`string`) - -AvatarUrl is the team's avatar URL. -### fn withEmail - -```jsonnet -withEmail(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Email of the team. -### fn withMemberCount - -```jsonnet -withMemberCount(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -MemberCount is the number of the team members. -### fn withName - -```jsonnet -withName(value) -``` - -PARAMETERS: - -* **value** (`string`) - -Name of the team. -### fn withOrgId - -```jsonnet -withOrgId(value) -``` - -PARAMETERS: - -* **value** (`integer`) - -OrgId is the ID of an organisation the team belongs to. -### fn withPermission - -```jsonnet -withPermission(value) -``` - -PARAMETERS: - -* **value** (`integer`) - - valid values: `0`, `1`, `2`, `4` - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md deleted file mode 100644 index 2e140363fc..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/docs/util.md +++ /dev/null @@ -1,115 +0,0 @@ -# util - -Helper functions that work well with Grafonnet. - -## Index - -* [`obj dashboard`](#obj-dashboard) - * [`fn getOptionsForCustomQuery(query)`](#fn-dashboardgetoptionsforcustomquery) -* [`obj grid`](#obj-grid) - * [`fn makeGrid(panels, panelWidth, panelHeight, startY)`](#fn-gridmakegrid) - * [`fn wrapPanels(panels, panelWidth, panelHeight, startY)`](#fn-gridwrappanels) -* [`obj panel`](#obj-panel) - * [`fn setPanelIDs(panels)`](#fn-panelsetpanelids) -* [`obj string`](#obj-string) - * [`fn slugify(string)`](#fn-stringslugify) - -## Fields - -### obj dashboard - - -#### fn dashboard.getOptionsForCustomQuery - -```jsonnet -dashboard.getOptionsForCustomQuery(query) -``` - -PARAMETERS: - -* **query** (`string`) - -`getOptionsForCustomQuery` provides values for the `options` and `current` fields. -These are required for template variables of type 'custom'but do not automatically -get populated by Grafana when importing a dashboard from JSON. - -This is a bit of a hack and should always be called on functions that set `type` on -a template variable. Ideally Grafana populates these fields from the `query` value -but this provides a backwards compatible solution. - -### obj grid - - -#### fn grid.makeGrid - -```jsonnet -grid.makeGrid(panels, panelWidth, panelHeight, startY) -``` - -PARAMETERS: - -* **panels** (`array`) -* **panelWidth** (`number`) -* **panelHeight** (`number`) -* **startY** (`number`) - -`makeGrid` returns an array of `panels` organized in a grid with equal `panelWidth` -and `panelHeight`. Row panels are used as "linebreaks", if a Row panel is collapsed, -then all panels below it will be folded into the row. - -This function will use the full grid of 24 columns, setting `panelWidth` to a value -that can divide 24 into equal parts will fill up the page nicely. (1, 2, 3, 4, 6, 8, 12) -Other value for `panelWidth` will leave a gap on the far right. - -Optional `startY` can be provided to place generated grid above or below existing panels. - -#### fn grid.wrapPanels - -```jsonnet -grid.wrapPanels(panels, panelWidth, panelHeight, startY) -``` - -PARAMETERS: - -* **panels** (`array`) -* **panelWidth** (`number`) -* **panelHeight** (`number`) -* **startY** (`number`) - -`wrapPanels` returns an array of `panels` organized in a grid, wrapping up to next 'row' if total width exceeds full grid of 24 columns. -'panelHeight' and 'panelWidth' are used unless panels already have height and width defined. - -### obj panel - - -#### fn panel.setPanelIDs - -```jsonnet -panel.setPanelIDs(panels) -``` - -PARAMETERS: - -* **panels** (`array`) - -`setPanelIDs` ensures that all `panels` have a unique ID, this functions is used in -`dashboard.withPanels` and `dashboard.withPanelsMixin` to provide a consistent -experience. - -used in ../dashboard.libsonnet - -### obj string - - -#### fn string.slugify - -```jsonnet -string.slugify(string) -``` - -PARAMETERS: - -* **string** (`string`) - -`slugify` will create a simple slug from `string`, keeping only alphanumeric -characters and replacing spaces with dashes. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json deleted file mode 100644 index 8479d5a931..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/jsonnetfile.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/jsonnet-libs/docsonnet.git", - "subdir": "doc-util" - } - }, - "version": "master" - }, - { - "source": { - "git": { - "remote": "https://github.com/jsonnet-libs/xtd.git", - "subdir": "" - } - }, - "version": "master" - } - ], - "legacyImports": true, - "version": 1 -} \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet deleted file mode 100644 index 660b0abaed..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet +++ /dev/null @@ -1,24 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { - filename: 'main.libsonnet', - help: 'Jsonnet library for rendering Grafana resources\n## Install\n\n```\njb install github.com/grafana/grafonnet/gen/grafonnet-v10.0.0@main\n```\n\n## Usage\n\n```jsonnet\nlocal grafonnet = import "github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet"\n```\n', - 'import': 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet', - installTemplate: '\n## Install\n\n```\njb install %(url)s@%(version)s\n```\n', - name: 'grafonnet', - url: 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0', - usageTemplate: '\n## Usage\n\n```jsonnet\nlocal %(name)s = import "%(import)s"\n```\n', - version: 'main', - }, - dashboard: import 'clean/dashboard.libsonnet', - librarypanel: import 'raw/librarypanel.libsonnet', - playlist: import 'raw/playlist.libsonnet', - preferences: import 'raw/preferences.libsonnet', - publicdashboard: import 'raw/publicdashboard.libsonnet', - serviceaccount: import 'raw/serviceaccount.libsonnet', - team: import 'raw/team.libsonnet', - panel: import 'panel.libsonnet', - query: import 'query.libsonnet', - util: import 'custom/util/main.libsonnet', - alerting: import 'alerting.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet deleted file mode 100644 index 3e3ea3f036..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/panel.libsonnet +++ /dev/null @@ -1,31 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel', name: 'panel' }, - candlestick: import 'clean/panel/candlestick.libsonnet', - canvas: import 'clean/panel/canvas.libsonnet', - alertList: import 'clean/panel/alertList.libsonnet', - alertGroups: import 'clean/panel/alertGroups.libsonnet', - annotationsList: import 'clean/panel/annotationsList.libsonnet', - barChart: import 'clean/panel/barChart.libsonnet', - barGauge: import 'clean/panel/barGauge.libsonnet', - dashboardList: import 'clean/panel/dashboardList.libsonnet', - datagrid: import 'clean/panel/datagrid.libsonnet', - debug: import 'clean/panel/debug.libsonnet', - gauge: import 'clean/panel/gauge.libsonnet', - geomap: import 'clean/panel/geomap.libsonnet', - heatmap: import 'clean/panel/heatmap.libsonnet', - histogram: import 'clean/panel/histogram.libsonnet', - logs: import 'clean/panel/logs.libsonnet', - news: import 'clean/panel/news.libsonnet', - nodeGraph: import 'clean/panel/nodeGraph.libsonnet', - pieChart: import 'clean/panel/pieChart.libsonnet', - stat: import 'clean/panel/stat.libsonnet', - stateTimeline: import 'clean/panel/stateTimeline.libsonnet', - statusHistory: import 'clean/panel/statusHistory.libsonnet', - table: import 'clean/panel/table.libsonnet', - text: import 'clean/panel/text.libsonnet', - timeSeries: import 'clean/panel/timeSeries.libsonnet', - trend: import 'clean/panel/trend.libsonnet', - xyChart: import 'clean/panel/xyChart.libsonnet', - row: import 'raw/panel/row.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet deleted file mode 100644 index fbbe20cf0f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/query.libsonnet +++ /dev/null @@ -1,13 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query', name: 'query' }, - azureMonitor: import 'raw/query/azureMonitor.libsonnet', - cloudWatch: import 'raw/query/cloudWatch.libsonnet', - elasticsearch: import 'raw/query/elasticsearch.libsonnet', - loki: import 'clean/query/loki.libsonnet', - parca: import 'raw/query/parca.libsonnet', - grafanaPyroscope: import 'raw/query/grafanaPyroscope.libsonnet', - prometheus: import 'clean/query/prometheus.libsonnet', - tempo: import 'clean/query/tempo.libsonnet', - testData: import 'raw/query/testData.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet deleted file mode 100644 index 0298dfa68b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/contactPoint.libsonnet +++ /dev/null @@ -1,18 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.contactPoint', name: 'contactPoint' }, - '#withDisableResolveMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDisableResolveMessage(value=true): { disableResolveMessage: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name is used as grouping key in the UI. Contact points with the\nsame name will be grouped in the UI.' } }, - withName(value): { name: value }, - '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withProvenance(value): { provenance: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['alertmanager', ' dingding', ' discord', ' email', ' googlechat', ' kafka', ' line', ' opsgenie', ' pagerduty', ' pushover', ' sensugo', ' slack', ' teams', ' telegram', ' threema', ' victorops', ' webhook', ' wecom'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID is the unique identifier of the contact point. The UID can be\nset by the user.' } }, - withUid(value): { uid: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet deleted file mode 100644 index edc2472963..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/messageTemplate.libsonnet +++ /dev/null @@ -1,10 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.messageTemplate', name: 'messageTemplate' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withProvenance(value): { provenance: value }, - '#withTemplate': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTemplate(value): { template: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet deleted file mode 100644 index ced4beb0e9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/muteTiming.libsonnet +++ /dev/null @@ -1,68 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.muteTiming', name: 'muteTiming' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimeIntervals(value): { time_intervals: (if std.isArray(value) - then value - else [value]) }, - '#withTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimeIntervalsMixin(value): { time_intervals+: (if std.isArray(value) - then value - else [value]) }, - time_intervals+: - { - '#': { help: '', name: 'time_intervals' }, - '#withDaysOfMonth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDaysOfMonth(value): { days_of_month: (if std.isArray(value) - then value - else [value]) }, - '#withDaysOfMonthMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDaysOfMonthMixin(value): { days_of_month+: (if std.isArray(value) - then value - else [value]) }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLocation(value): { location: value }, - '#withMonths': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMonths(value): { months: (if std.isArray(value) - then value - else [value]) }, - '#withMonthsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMonthsMixin(value): { months+: (if std.isArray(value) - then value - else [value]) }, - '#withTimes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimes(value): { times: (if std.isArray(value) - then value - else [value]) }, - '#withTimesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimesMixin(value): { times+: (if std.isArray(value) - then value - else [value]) }, - times+: - { - '#': { help: '', name: 'times' }, - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFrom(value): { from: value }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTo(value): { to: value }, - }, - '#withWeekdays': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withWeekdays(value): { weekdays: (if std.isArray(value) - then value - else [value]) }, - '#withWeekdaysMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withWeekdaysMixin(value): { weekdays+: (if std.isArray(value) - then value - else [value]) }, - '#withYears': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withYears(value): { years: (if std.isArray(value) - then value - else [value]) }, - '#withYearsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withYearsMixin(value): { years+: (if std.isArray(value) - then value - else [value]) }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet deleted file mode 100644 index 957c104280..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/notificationPolicy.libsonnet +++ /dev/null @@ -1,84 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.notificationPolicy', name: 'notificationPolicy' }, - '#withContinue': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withContinue(value=true): { continue: value }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupBy(value): { group_by: (if std.isArray(value) - then value - else [value]) }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupByMixin(value): { group_by+: (if std.isArray(value) - then value - else [value]) }, - '#withGroupInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroupInterval(value): { group_interval: value }, - '#withGroupWait': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroupWait(value): { group_wait: value }, - '#withMatch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Deprecated. Remove before v1.0 release.' } }, - withMatch(value): { match: value }, - '#withMatchMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Deprecated. Remove before v1.0 release.' } }, - withMatchMixin(value): { match+: value }, - '#withMatchRe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'MatchRegexps represents a map of Regexp.' } }, - withMatchRe(value): { match_re: value }, - '#withMatchReMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'MatchRegexps represents a map of Regexp.' } }, - withMatchReMixin(value): { match_re+: value }, - '#withMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withMatchers(value): { matchers: (if std.isArray(value) - then value - else [value]) }, - '#withMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withMatchersMixin(value): { matchers+: (if std.isArray(value) - then value - else [value]) }, - matchers+: - { - '#': { help: '', name: 'matchers' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { Name: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, - withType(value): { Type: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValue(value): { Value: value }, - }, - '#withMuteTimeIntervals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMuteTimeIntervals(value): { mute_time_intervals: (if std.isArray(value) - then value - else [value]) }, - '#withMuteTimeIntervalsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMuteTimeIntervalsMixin(value): { mute_time_intervals+: (if std.isArray(value) - then value - else [value]) }, - '#withObjectMatchers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withObjectMatchers(value): { object_matchers: (if std.isArray(value) - then value - else [value]) }, - '#withObjectMatchersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.' } }, - withObjectMatchersMixin(value): { object_matchers+: (if std.isArray(value) - then value - else [value]) }, - object_matchers+: - { - '#': { help: '', name: 'object_matchers' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { Name: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['=', '!=', '=~', '!~'], name: 'value', type: 'string' }], help: 'MatchType is an enum for label matching types.' } }, - withType(value): { Type: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValue(value): { Value: value }, - }, - '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withProvenance(value): { provenance: value }, - '#withReceiver': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withReceiver(value): { receiver: value }, - '#withRepeatInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRepeatInterval(value): { repeat_interval: value }, - '#withRoutes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRoutes(value): { routes: (if std.isArray(value) - then value - else [value]) }, - '#withRoutesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRoutesMixin(value): { routes+: (if std.isArray(value) - then value - else [value]) }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet deleted file mode 100644 index e7dced96ae..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/alerting/ruleGroup.libsonnet +++ /dev/null @@ -1,89 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.alerting.ruleGroup', name: 'ruleGroup' }, - '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFolderUid(value): { folderUid: value }, - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withInterval(value): { interval: value }, - '#withRules': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRules(value): { rules: (if std.isArray(value) - then value - else [value]) }, - '#withRulesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withRulesMixin(value): { rules+: (if std.isArray(value) - then value - else [value]) }, - rules+: - { - '#': { help: '', name: 'rules' }, - '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAnnotations(value): { annotations: value }, - '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAnnotationsMixin(value): { annotations+: value }, - '#withCondition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withCondition(value): { condition: value }, - '#withData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withData(value): { data: (if std.isArray(value) - then value - else [value]) }, - '#withDataMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDataMixin(value): { data+: (if std.isArray(value) - then value - else [value]) }, - data+: - { - '#': { help: '', name: 'data' }, - '#withDatasourceUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Grafana data source unique identifier; it should be '__expr__' for a Server Side Expression operation." } }, - withDatasourceUid(value): { datasourceUid: value }, - '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, - withModel(value): { model: value }, - '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'JSON is the raw JSON query and includes the above properties as well as custom properties.' } }, - withModelMixin(value): { model+: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'RefID is the unique identifier of the query, set by the frontend call.' } }, - withRefId(value): { refId: value }, - '#withRelativeTimeRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, - withRelativeTimeRange(value): { relativeTimeRange: value }, - '#withRelativeTimeRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'RelativeTimeRange is the per query start and end time\nfor requests.' } }, - withRelativeTimeRangeMixin(value): { relativeTimeRange+: value }, - relativeTimeRange+: - { - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withFrom(value): { relativeTimeRange+: { from: value } }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withTo(value): { relativeTimeRange+: { to: value } }, - }, - }, - '#withExecErrState': { 'function': { args: [{ default: null, enums: ['OK', 'Alerting', 'Error'], name: 'value', type: 'string' }], help: '' } }, - withExecErrState(value): { execErrState: value }, - '#withFolderUID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFolderUID(value): { folderUID: value }, - '#withFor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'A Duration represents the elapsed time between two instants\nas an int64 nanosecond count. The representation limits the\nlargest representable duration to approximately 290 years.' } }, - withFor(value): { 'for': value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withId(value): { id: value }, - '#withIsPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsPaused(value=true): { isPaused: value }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabels(value): { labels: value }, - '#withLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelsMixin(value): { labels+: value }, - '#withNoDataState': { 'function': { args: [{ default: null, enums: ['Alerting', 'NoData', 'OK'], name: 'value', type: 'string' }], help: '' } }, - withNoDataState(value): { noDataState: value }, - '#withOrgID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withOrgID(value): { orgID: value }, - '#withProvenance': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withProvenance(value): { provenance: value }, - '#withRuleGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRuleGroup(value): { ruleGroup: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { uid: value }, - '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUpdated(value): { updated: value }, - }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet deleted file mode 100644 index 491bd10d33..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/dashboard.libsonnet +++ /dev/null @@ -1,299 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.dashboard', name: 'dashboard' }, - '#withAnnotations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO -- should not be a public interface on its own, but required for Veneer' } }, - withAnnotations(value): { annotations: value }, - '#withAnnotationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO -- should not be a public interface on its own, but required for Veneer' } }, - withAnnotationsMixin(value): { annotations+: value }, - annotations+: - { - '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withList(value): { annotations+: { list: (if std.isArray(value) - then value - else [value]) } }, - '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withListMixin(value): { annotations+: { list+: (if std.isArray(value) - then value - else [value]) } }, - list+: - { - '#': { help: '', name: 'list' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: Should be DataSourceRef' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When enabled the annotation query is issued with every dashboard refresh' } }, - withEnable(value=true): { enable: value }, - '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilter(value): { filter: value }, - '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilterMixin(value): { filter+: value }, - filter+: - { - '#withExclude': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Should the specified panels be included or excluded' } }, - withExclude(value=true): { filter+: { exclude: value } }, - '#withIds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, - withIds(value): { filter+: { ids: (if std.isArray(value) - then value - else [value]) } }, - '#withIdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel IDs that should be included or excluded' } }, - withIdsMixin(value): { filter+: { ids+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Annotation queries can be toggled on or off at the top of the dashboard.\nWhen hide is true, the toggle is not shown in the dashboard.' } }, - withHide(value=true): { hide: value }, - '#withIconColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Color to use for the annotation event markers' } }, - withIconColor(value): { iconColor: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of annotation.' } }, - withName(value): { name: value }, - '#withTarget': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, - withTarget(value): { target: value }, - '#withTargetMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO: this should be a regular DataQuery that depends on the selected dashboard\nthese match the properties of the "grafana" datasouce that is default in most dashboards' } }, - withTargetMixin(value): { target+: value }, - target+: - { - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withLimit(value): { target+: { limit: value } }, - '#withMatchAny': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withMatchAny(value=true): { target+: { matchAny: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withTags(value): { target+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withTagsMixin(value): { target+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Only required/valid for the grafana datasource...\nbut code+tests is already depending on it so hard to change' } }, - withType(value): { target+: { type: value } }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO -- this should not exist here, it is based on the --grafana-- datasource' } }, - withType(value): { type: value }, - }, - }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description of dashboard.' } }, - withDescription(value): { description: value }, - '#withEditable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether a dashboard is editable or not.' } }, - withEditable(value=true): { editable: value }, - '#withFiscalYearStartMonth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'The month that the fiscal year starts on. 0 = January, 11 = December' } }, - withFiscalYearStartMonth(value=0): { fiscalYearStartMonth: value }, - '#withGnetId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'For dashboards imported from the https://grafana.com/grafana/dashboards/ portal' } }, - withGnetId(value): { gnetId: value }, - '#withGraphTooltip': { 'function': { args: [{ default: 0, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '0 for no shared crosshair or tooltip (default).\n1 for shared crosshair.\n2 for shared crosshair AND shared tooltip.' } }, - withGraphTooltip(value=0): { graphTooltip: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Unique numeric identifier for the dashboard.\nTODO must isolate or remove identifiers local to a Grafana instance...?' } }, - withId(value): { id: value }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withLinks(value): { links: (if std.isArray(value) - then value - else [value]) }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withLinksMixin(value): { links+: (if std.isArray(value) - then value - else [value]) }, - links+: - { - '#': { help: '', name: 'links' }, - '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsDropdown(value=true): { asDropdown: value }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { icon: value }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { includeVars: value }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { keepTime: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTargetBlank(value=true): { targetBlank: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTooltip(value): { tooltip: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { type: value }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUrl(value): { url: value }, - }, - '#withLiveNow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'When set to true, the dashboard will redraw panels at an interval matching the pixel width.\nThis will keep data "moving left" regardless of the query refresh rate. This setting helps\navoid dashboards presenting stale live data' } }, - withLiveNow(value=true): { liveNow: value }, - '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanels(value): { panels: (if std.isArray(value) - then value - else [value]) }, - '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanelsMixin(value): { panels+: (if std.isArray(value) - then value - else [value]) }, - '#withRefresh': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, - withRefresh(value): { refresh: value }, - '#withRefreshMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Refresh rate of dashboard. Represented via interval string, e.g. "5s", "1m", "1h", "1d".' } }, - withRefreshMixin(value): { refresh+: value }, - '#withRevision': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'This property should only be used in dashboards defined by plugins. It is a quick check\nto see if the version has changed since the last time. Unclear why using the version property\nis insufficient.' } }, - withRevision(value): { revision: value }, - '#withSchemaVersion': { 'function': { args: [{ default: 36, enums: null, name: 'value', type: 'integer' }], help: "Version of the JSON schema, incremented each time a Grafana update brings\nchanges to said schema.\nTODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion" } }, - withSchemaVersion(value=36): { schemaVersion: value }, - '#withSnapshot': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withSnapshot(value): { snapshot: value }, - '#withSnapshotMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withSnapshotMixin(value): { snapshot+: value }, - snapshot+: - { - '#withCreated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withCreated(value): { snapshot+: { created: value } }, - '#withExpires': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withExpires(value): { snapshot+: { expires: value } }, - '#withExternal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'TODO docs' } }, - withExternal(value=true): { snapshot+: { external: value } }, - '#withExternalUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withExternalUrl(value): { snapshot+: { externalUrl: value } }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withId(value): { snapshot+: { id: value } }, - '#withKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withKey(value): { snapshot+: { key: value } }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withName(value): { snapshot+: { name: value } }, - '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withOrgId(value): { snapshot+: { orgId: value } }, - '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withUpdated(value): { snapshot+: { updated: value } }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withUrl(value): { snapshot+: { url: value } }, - '#withUserId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withUserId(value): { snapshot+: { userId: value } }, - }, - '#withStyle': { 'function': { args: [{ default: 'dark', enums: ['dark', 'light'], name: 'value', type: 'string' }], help: 'Theme of dashboard.' } }, - withStyle(value='dark'): { style: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Tags associated with dashboard.' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTemplating': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTemplating(value): { templating: value }, - '#withTemplatingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTemplatingMixin(value): { templating+: value }, - templating+: - { - '#withList': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withList(value): { templating+: { list: (if std.isArray(value) - then value - else [value]) } }, - '#withListMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withListMixin(value): { templating+: { list+: (if std.isArray(value) - then value - else [value]) } }, - list+: - { - '#': { help: '', name: 'list' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Ref to a DataSource instance' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The plugin type-id' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specific datasource instance' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDescription(value): { description: value }, - '#withError': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withError(value): { 'error': value }, - '#withErrorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withErrorMixin(value): { 'error'+: value }, - '#withGlobal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withGlobal(value=true): { global: value }, - '#withHide': { 'function': { args: [{ default: null, enums: [0, 1, 2], name: 'value', type: 'integer' }], help: '' } }, - withHide(value): { hide: value }, - '#withId': { 'function': { args: [{ default: '00000000-0000-0000-0000-000000000000', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value='00000000-0000-0000-0000-000000000000'): { id: value }, - '#withIndex': { 'function': { args: [{ default: -1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value=-1): { index: value }, - '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLabel(value): { label: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, - withQuery(value): { query: value }, - '#withQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO: Move this into a separated QueryVariableModel type' } }, - withQueryMixin(value): { query+: value }, - '#withRootStateKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRootStateKey(value): { rootStateKey: value }, - '#withSkipUrlSync': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSkipUrlSync(value=true): { skipUrlSync: value }, - '#withState': { 'function': { args: [{ default: null, enums: ['NotStarted', 'Loading', 'Streaming', 'Done', 'Error'], name: 'value', type: 'string' }], help: '' } }, - withState(value): { state: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['query', 'adhoc', 'constant', 'datasource', 'interval', 'textbox', 'custom', 'system'], name: 'value', type: 'string' }], help: 'FROM: packages/grafana-data/src/types/templateVars.ts\nTODO docs\nTODO this implies some wider pattern/discriminated union, probably?' } }, - withType(value): { type: value }, - }, - }, - '#withTime': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Time range for dashboard, e.g. last 6 hours, last 7 days, etc' } }, - withTime(value): { time: value }, - '#withTimeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Time range for dashboard, e.g. last 6 hours, last 7 days, etc' } }, - withTimeMixin(value): { time+: value }, - time+: - { - '#withFrom': { 'function': { args: [{ default: 'now-6h', enums: null, name: 'value', type: 'string' }], help: '' } }, - withFrom(value='now-6h'): { time+: { from: value } }, - '#withTo': { 'function': { args: [{ default: 'now', enums: null, name: 'value', type: 'string' }], help: '' } }, - withTo(value='now'): { time+: { to: value } }, - }, - '#withTimepicker': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs\nTODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes' } }, - withTimepicker(value): { timepicker: value }, - '#withTimepickerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs\nTODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes' } }, - withTimepickerMixin(value): { timepicker+: value }, - timepicker+: - { - '#withCollapse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is collapsed or not.' } }, - withCollapse(value=true): { timepicker+: { collapse: value } }, - '#withEnable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is enabled or not.' } }, - withEnable(value=true): { timepicker+: { enable: value } }, - '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether timepicker is visible or not.' } }, - withHidden(value=true): { timepicker+: { hidden: value } }, - '#withRefreshIntervals': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, - withRefreshIntervals(value): { timepicker+: { refresh_intervals: (if std.isArray(value) - then value - else [value]) } }, - '#withRefreshIntervalsMixin': { 'function': { args: [{ default: ['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'], enums: null, name: 'value', type: 'array' }], help: 'Selectable intervals for auto-refresh.' } }, - withRefreshIntervalsMixin(value): { timepicker+: { refresh_intervals+: (if std.isArray(value) - then value - else [value]) } }, - '#withTimeOptions': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeOptions(value): { timepicker+: { time_options: (if std.isArray(value) - then value - else [value]) } }, - '#withTimeOptionsMixin': { 'function': { args: [{ default: ['5m', '15m', '1h', '6h', '12h', '24h', '2d', '7d', '30d'], enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeOptionsMixin(value): { timepicker+: { time_options+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withTimezone': { 'function': { args: [{ default: 'browser', enums: null, name: 'value', type: 'string' }], help: 'Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".' } }, - withTimezone(value='browser'): { timezone: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title of dashboard.' } }, - withTitle(value): { title: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique dashboard identifier that can be generated by anyone. string (8-40)' } }, - withUid(value): { uid: value }, - '#withVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Version of the dashboard, incremented each time the dashboard is updated.' } }, - withVersion(value): { version: value }, - '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withWeekStart(value): { weekStart: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet deleted file mode 100644 index f3e4255a13..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/librarypanel.libsonnet +++ /dev/null @@ -1,65 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.librarypanel', name: 'librarypanel' }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel description' } }, - withDescription(value): { description: value }, - '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Folder UID' } }, - withFolderUid(value): { folderUid: value }, - '#withMeta': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMeta(value): { meta: value }, - '#withMetaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetaMixin(value): { meta+: value }, - meta+: - { - '#withConnectedDashboards': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withConnectedDashboards(value): { meta+: { connectedDashboards: value } }, - '#withCreated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withCreated(value): { meta+: { created: value } }, - '#withCreatedBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCreatedBy(value): { meta+: { createdBy: value } }, - '#withCreatedByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCreatedByMixin(value): { meta+: { createdBy+: value } }, - createdBy+: - { - '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAvatarUrl(value): { meta+: { createdBy+: { avatarUrl: value } } }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withId(value): { meta+: { createdBy+: { id: value } } }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { meta+: { createdBy+: { name: value } } }, - }, - '#withFolderName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFolderName(value): { meta+: { folderName: value } }, - '#withFolderUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFolderUid(value): { meta+: { folderUid: value } }, - '#withUpdated': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUpdated(value): { meta+: { updated: value } }, - '#withUpdatedBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUpdatedBy(value): { meta+: { updatedBy: value } }, - '#withUpdatedByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUpdatedByMixin(value): { meta+: { updatedBy+: value } }, - updatedBy+: - { - '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAvatarUrl(value): { meta+: { updatedBy+: { avatarUrl: value } } }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withId(value): { meta+: { updatedBy+: { id: value } } }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { meta+: { updatedBy+: { name: value } } }, - }, - }, - '#withModel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: "TODO: should be the same panel schema defined in dashboard\nTypescript: Omit;" } }, - withModel(value): { model: value }, - '#withModelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: "TODO: should be the same panel schema defined in dashboard\nTypescript: Omit;" } }, - withModelMixin(value): { model+: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel name (also saved in the model)' } }, - withName(value): { name: value }, - '#withSchemaVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Dashboard version when this was saved (zero if unknown)' } }, - withSchemaVersion(value): { schemaVersion: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel type (from inside the model)' } }, - withType(value): { type: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Library element UID' } }, - withUid(value): { uid: value }, - '#withVersion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'panel version, incremented each time the dashboard is updated.' } }, - withVersion(value): { version: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet deleted file mode 100644 index bb87b410e2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel.libsonnet +++ /dev/null @@ -1,413 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel', name: 'panel' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'The datasource used in all targets.' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Description.' } }, - withDescription(value): { description: value }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withColor(value): { fieldConfig+: { defaults+: { color: value } } }, - '#withColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withColorMixin(value): { fieldConfig+: { defaults+: { color+: value } } }, - color+: - { - '#withFixedColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Stores the fixed color value if mode is fixed' } }, - withFixedColor(value): { fieldConfig+: { defaults+: { color+: { fixedColor: value } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The main color scheme mode' } }, - withMode(value): { fieldConfig+: { defaults+: { color+: { mode: value } } } }, - '#withSeriesBy': { 'function': { args: [{ default: null, enums: ['min', 'max', 'last'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSeriesBy(value): { fieldConfig+: { defaults+: { color+: { seriesBy: value } } } }, - }, - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'custom is specified by the PanelFieldConfig field\nin panel plugin schemas.' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'custom is specified by the PanelFieldConfig field\nin panel plugin schemas.' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Significant digits (for display)' } }, - withDecimals(value): { fieldConfig+: { defaults+: { decimals: value } } }, - '#withDescription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Human readable field metadata' } }, - withDescription(value): { fieldConfig+: { defaults+: { description: value } } }, - '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The display value for this field. This supports template variables blank is auto' } }, - withDisplayName(value): { fieldConfig+: { defaults+: { displayName: value } } }, - '#withDisplayNameFromDS': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This can be used by data sources that return and explicit naming structure for values and labels\nWhen this property is configured, this value is used rather than the default naming strategy.' } }, - withDisplayNameFromDS(value): { fieldConfig+: { defaults+: { displayNameFromDS: value } } }, - '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source field supports ad-hoc filters' } }, - withFilterable(value=true): { fieldConfig+: { defaults+: { filterable: value } } }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, - withLinks(value): { fieldConfig+: { defaults+: { links: (if std.isArray(value) - then value - else [value]) } } }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The behavior when clicking on a result' } }, - withLinksMixin(value): { fieldConfig+: { defaults+: { links+: (if std.isArray(value) - then value - else [value]) } } }, - '#withMappings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, - withMappings(value): { fieldConfig+: { defaults+: { mappings: (if std.isArray(value) - then value - else [value]) } } }, - '#withMappingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Convert input values into a display string' } }, - withMappingsMixin(value): { fieldConfig+: { defaults+: { mappings+: (if std.isArray(value) - then value - else [value]) } } }, - mappings+: - { - '#': { help: '', name: 'mappings' }, - ValueMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - RangeMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'to and from are `number | null` in current ts, really not sure what to do' } }, - withFrom(value): { options+: { from: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - '#withTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withTo(value): { options+: { to: value } }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - RegexMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPattern(value): { options+: { pattern: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - SpecialValueMap+: - { - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withMatch': { 'function': { args: [{ default: null, enums: ['true', 'false'], name: 'value', type: 'string' }], help: '' } }, - withMatch(value): { options+: { match: value } }, - '#withPattern': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPattern(value): { options+: { pattern: value } }, - '#withResult': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResult(value): { options+: { result: value } }, - '#withResultMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withResultMixin(value): { options+: { result+: value } }, - result+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withColor(value): { options+: { result+: { color: value } } }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { options+: { result+: { icon: value } } }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withIndex(value): { options+: { result+: { index: value } } }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withText(value): { options+: { result+: { text: value } } }, - }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { fieldConfig+: { defaults+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { fieldConfig+: { defaults+: { min: value } } }, - '#withNoValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alternative to empty string' } }, - withNoValue(value): { fieldConfig+: { defaults+: { noValue: value } } }, - '#withPath': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An explicit path to the field in the datasource. When the frame meta includes a path,\nThis will default to `${frame.meta.path}/${field.name}\n\nWhen defined, this value can be used as an identifier within the datasource scope, and\nmay be used to update the results' } }, - withPath(value): { fieldConfig+: { defaults+: { path: value } } }, - '#withThresholds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withThresholds(value): { fieldConfig+: { defaults+: { thresholds: value } } }, - '#withThresholdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withThresholdsMixin(value): { fieldConfig+: { defaults+: { thresholds+: value } } }, - thresholds+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['absolute', 'percentage'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { fieldConfig+: { defaults+: { thresholds+: { mode: value } } } }, - '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, - withSteps(value): { fieldConfig+: { defaults+: { thresholds+: { steps: (if std.isArray(value) - then value - else [value]) } } } }, - '#withStepsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: "Must be sorted by 'value', first value is always -Infinity" } }, - withStepsMixin(value): { fieldConfig+: { defaults+: { thresholds+: { steps+: (if std.isArray(value) - then value - else [value]) } } } }, - steps+: - { - '#': { help: '', name: 'steps' }, - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs' } }, - withColor(value): { color: value }, - '#withIndex': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Threshold index, an old property that is not needed an should only appear in older dashboards' } }, - withIndex(value): { index: value }, - '#withState': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO are the values here enumerable into a disjunction?\nSome seem to be listed in typescript comment' } }, - withState(value): { state: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs\nFIXME the corresponding typescript field is required/non-optional, but nulls currently appear here when serializing -Infinity to JSON' } }, - withValue(value): { value: value }, - }, - }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Numeric Options' } }, - withUnit(value): { fieldConfig+: { defaults+: { unit: value } } }, - '#withWriteable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'True if data source can write a value to the path. Auth/authz are supported separately' } }, - withWriteable(value=true): { fieldConfig+: { defaults+: { writeable: value } } }, - }, - '#withOverrides': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withOverrides(value): { fieldConfig+: { overrides: (if std.isArray(value) - then value - else [value]) } }, - '#withOverridesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withOverridesMixin(value): { fieldConfig+: { overrides+: (if std.isArray(value) - then value - else [value]) } }, - overrides+: - { - '#': { help: '', name: 'overrides' }, - '#withMatcher': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMatcher(value): { matcher: value }, - '#withMatcherMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMatcherMixin(value): { matcher+: value }, - matcher+: - { - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { matcher+: { id: value } }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptions(value): { matcher+: { options: value } }, - }, - '#withProperties': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withProperties(value): { properties: (if std.isArray(value) - then value - else [value]) }, - '#withPropertiesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPropertiesMixin(value): { properties+: (if std.isArray(value) - then value - else [value]) }, - properties+: - { - '#': { help: '', name: 'properties' }, - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { id: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValue(value): { value: value }, - }, - }, - }, - '#withGridPos': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGridPos(value): { gridPos: value }, - '#withGridPosMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGridPosMixin(value): { gridPos+: value }, - gridPos+: - { - '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withH(value=9): { gridPos+: { h: value } }, - '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, - withStatic(value=true): { gridPos+: { static: value } }, - '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withW(value=12): { gridPos+: { w: value } }, - '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, - withX(value=0): { gridPos+: { x: value } }, - '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, - withY(value=0): { gridPos+: { y: value } }, - }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withId(value): { id: value }, - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withInterval(value): { interval: value }, - '#withLibraryPanel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLibraryPanel(value): { libraryPanel: value }, - '#withLibraryPanelMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLibraryPanelMixin(value): { libraryPanel+: value }, - libraryPanel+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { libraryPanel+: { name: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { libraryPanel+: { uid: value } }, - }, - '#withLinks': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, - withLinks(value): { links: (if std.isArray(value) - then value - else [value]) }, - '#withLinksMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Panel links.\nTODO fill this out - seems there are a couple variants?' } }, - withLinksMixin(value): { links+: (if std.isArray(value) - then value - else [value]) }, - links+: - { - '#': { help: '', name: 'links' }, - '#withAsDropdown': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsDropdown(value=true): { asDropdown: value }, - '#withIcon': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withIcon(value): { icon: value }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { includeVars: value }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { keepTime: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTargetBlank': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTargetBlank(value=true): { targetBlank: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTooltip(value): { tooltip: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['link', 'dashboards'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { type: value }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUrl(value): { url: value }, - }, - '#withMaxDataPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'TODO docs' } }, - withMaxDataPoints(value): { maxDataPoints: value }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'options is specified by the PanelOptions field in panel\nplugin schemas.' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'options is specified by the PanelOptions field in panel\nplugin schemas.' } }, - withOptionsMixin(value): { options+: value }, - '#withPluginVersion': { 'function': { args: [], help: '' } }, - withPluginVersion(): { pluginVersion: 'v10.0.0' }, - '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, - withRepeat(value): { repeat: value }, - '#withRepeatDirection': { 'function': { args: [{ default: 'h', enums: ['h', 'v'], name: 'value', type: 'string' }], help: "Direction to repeat in if 'repeat' is set.\n\"h\" for horizontal, \"v\" for vertical.\nTODO this is probably optional" } }, - withRepeatDirection(value='h'): { repeatDirection: value }, - '#withRepeatPanelId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Id of the repeating panel.' } }, - withRepeatPanelId(value): { repeatPanelId: value }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTags(value): { tags: (if std.isArray(value) - then value - else [value]) }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTagsMixin(value): { tags+: (if std.isArray(value) - then value - else [value]) }, - '#withTargets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTargets(value): { targets: (if std.isArray(value) - then value - else [value]) }, - '#withTargetsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTargetsMixin(value): { targets+: (if std.isArray(value) - then value - else [value]) }, - '#withThresholds': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs - seems to be an old field from old dashboard alerts?' } }, - withThresholds(value): { thresholds: (if std.isArray(value) - then value - else [value]) }, - '#withThresholdsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs - seems to be an old field from old dashboard alerts?' } }, - withThresholdsMixin(value): { thresholds+: (if std.isArray(value) - then value - else [value]) }, - '#withTimeFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withTimeFrom(value): { timeFrom: value }, - '#withTimeRegions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeRegions(value): { timeRegions: (if std.isArray(value) - then value - else [value]) }, - '#withTimeRegionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'TODO docs' } }, - withTimeRegionsMixin(value): { timeRegions+: (if std.isArray(value) - then value - else [value]) }, - '#withTimeShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TODO docs\nTODO tighter constraint' } }, - withTimeShift(value): { timeShift: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Panel title.' } }, - withTitle(value): { title: value }, - '#withTransformations': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTransformations(value): { transformations: (if std.isArray(value) - then value - else [value]) }, - '#withTransformationsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTransformationsMixin(value): { transformations+: (if std.isArray(value) - then value - else [value]) }, - transformations+: - { - '#': { help: '', name: 'transformations' }, - '#withDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Disabled transformations are skipped' } }, - withDisabled(value=true): { disabled: value }, - '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilter(value): { filter: value }, - '#withFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFilterMixin(value): { filter+: value }, - filter+: - { - '#withId': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value=''): { filter+: { id: value } }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptions(value): { filter+: { options: value } }, - }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique identifier of transformer' } }, - withId(value): { id: value }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Options to be passed to the transformer\nValid options depend on the transformer id' } }, - withOptions(value): { options: value }, - }, - '#withTransparent': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Whether to display the panel without a background.' } }, - withTransparent(value=true): { transparent: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The panel plugin type id. May not be empty.' } }, - withType(value): { type: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet deleted file mode 100644 index bbf840bc1a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertGroups.libsonnet +++ /dev/null @@ -1,19 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.alertGroups', name: 'alertGroups' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withAlertmanager': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the alertmanager used as a source for alerts' } }, - withAlertmanager(value): { options+: { alertmanager: value } }, - '#withExpandAll': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Expand all alert groups by default' } }, - withExpandAll(value=true): { options+: { expandAll: value } }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comma-separated list of values used to filter alert results' } }, - withLabels(value): { options+: { labels: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'alertGroups' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet deleted file mode 100644 index 14b01c54d8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/alertList.libsonnet +++ /dev/null @@ -1,124 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.alertList', name: 'alertList' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAlertListOptions(value): { options+: { AlertListOptions: value } }, - '#withAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAlertListOptionsMixin(value): { options+: { AlertListOptions+: value } }, - AlertListOptions+: - { - '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertName(value): { options+: { alertName: value } }, - '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, - '#withDashboardTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDashboardTitle(value): { options+: { dashboardTitle: value } }, - '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFolderId(value): { options+: { folderId: value } }, - '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMaxItems(value): { options+: { maxItems: value } }, - '#withShowOptions': { 'function': { args: [{ default: null, enums: ['current', 'changes'], name: 'value', type: 'string' }], help: '' } }, - withShowOptions(value): { options+: { showOptions: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilter(value): { options+: { stateFilter: value } }, - '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilterMixin(value): { options+: { stateFilter+: value } }, - stateFilter+: - { - '#withAlerting': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAlerting(value=true): { options+: { stateFilter+: { alerting: value } } }, - '#withExecutionError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withExecutionError(value=true): { options+: { stateFilter+: { execution_error: value } } }, - '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNoData(value=true): { options+: { stateFilter+: { no_data: value } } }, - '#withOk': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOk(value=true): { options+: { stateFilter+: { ok: value } } }, - '#withPaused': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPaused(value=true): { options+: { stateFilter+: { paused: value } } }, - '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPending(value=true): { options+: { stateFilter+: { pending: value } } }, - }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withUnifiedAlertListOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnifiedAlertListOptions(value): { options+: { UnifiedAlertListOptions: value } }, - '#withUnifiedAlertListOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnifiedAlertListOptionsMixin(value): { options+: { UnifiedAlertListOptions+: value } }, - UnifiedAlertListOptions+: - { - '#withAlertInstanceLabelFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertInstanceLabelFilter(value): { options+: { alertInstanceLabelFilter: value } }, - '#withAlertName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlertName(value): { options+: { alertName: value } }, - '#withDashboardAlerts': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDashboardAlerts(value=true): { options+: { dashboardAlerts: value } }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withDatasource(value): { options+: { datasource: value } }, - '#withFolder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFolder(value): { options+: { folder: value } }, - '#withFolderMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFolderMixin(value): { options+: { folder+: value } }, - folder+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withId(value): { options+: { folder+: { id: value } } }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { options+: { folder+: { title: value } } }, - }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupBy(value): { options+: { groupBy: (if std.isArray(value) - then value - else [value]) } }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withGroupByMixin(value): { options+: { groupBy+: (if std.isArray(value) - then value - else [value]) } }, - '#withGroupMode': { 'function': { args: [{ default: null, enums: ['default', 'custom'], name: 'value', type: 'string' }], help: '' } }, - withGroupMode(value): { options+: { groupMode: value } }, - '#withMaxItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMaxItems(value): { options+: { maxItems: value } }, - '#withShowInstances': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowInstances(value=true): { options+: { showInstances: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: [1, 2, 3, 4, 5], name: 'value', type: 'number' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withStateFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilter(value): { options+: { stateFilter: value } }, - '#withStateFilterMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStateFilterMixin(value): { options+: { stateFilter+: value } }, - stateFilter+: - { - '#withError': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withError(value=true): { options+: { stateFilter+: { 'error': value } } }, - '#withFiring': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withFiring(value=true): { options+: { stateFilter+: { firing: value } } }, - '#withInactive': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withInactive(value=true): { options+: { stateFilter+: { inactive: value } } }, - '#withNoData': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNoData(value=true): { options+: { stateFilter+: { noData: value } } }, - '#withNormal': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNormal(value=true): { options+: { stateFilter+: { normal: value } } }, - '#withPending': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPending(value=true): { options+: { stateFilter+: { pending: value } } }, - }, - '#withViewMode': { 'function': { args: [{ default: null, enums: ['list', 'stat'], name: 'value', type: 'string' }], help: '' } }, - withViewMode(value): { options+: { viewMode: value } }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'alertlist' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet deleted file mode 100644 index d88a367852..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/annotationsList.libsonnet +++ /dev/null @@ -1,39 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.annotationsList', name: 'annotationsList' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLimit': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLimit(value=10): { options+: { limit: value } }, - '#withNavigateAfter': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, - withNavigateAfter(value='10m'): { options+: { navigateAfter: value } }, - '#withNavigateBefore': { 'function': { args: [{ default: '10m', enums: null, name: 'value', type: 'string' }], help: '' } }, - withNavigateBefore(value='10m'): { options+: { navigateBefore: value } }, - '#withNavigateToPanel': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withNavigateToPanel(value=true): { options+: { navigateToPanel: value } }, - '#withOnlyFromThisDashboard': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOnlyFromThisDashboard(value=true): { options+: { onlyFromThisDashboard: value } }, - '#withOnlyInTimeRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withOnlyInTimeRange(value=true): { options+: { onlyInTimeRange: value } }, - '#withShowTags': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTags(value=true): { options+: { showTags: value } }, - '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTime(value=true): { options+: { showTime: value } }, - '#withShowUser': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowUser(value=true): { options+: { showUser: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'annolist' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet deleted file mode 100644 index 5163d5f33a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barChart.libsonnet +++ /dev/null @@ -1,168 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.barChart', name: 'barChart' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, - withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withBarRadius': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Controls the radius of each bar.' } }, - withBarRadius(value=0): { options+: { barRadius: value } }, - '#withBarWidth': { 'function': { args: [{ default: 0.96999999999999997, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of bars. 1 = Max width, 0 = Min width.' } }, - withBarWidth(value=0.96999999999999997): { options+: { barWidth: value } }, - '#withColorByField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use the color value for a sibling field to color each bar value.' } }, - withColorByField(value): { options+: { colorByField: value } }, - '#withFullHighlight': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enables mode which highlights the entire bar area and shows tooltip when cursor\nhovers over highlighted area' } }, - withFullHighlight(value=true): { options+: { fullHighlight: value } }, - '#withGroupWidth': { 'function': { args: [{ default: 0.69999999999999996, enums: null, name: 'value', type: 'number' }], help: 'Controls the width of groups. 1 = max with, 0 = min width.' } }, - withGroupWidth(value=0.69999999999999996): { options+: { groupWidth: value } }, - '#withOrientation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the orientation of the bar chart, either vertical or horizontal.' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'This controls whether values are shown on top or to the left of bars.' } }, - withShowValue(value): { options+: { showValue: value } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls whether bars are stacked or not, either normally or in percent mode.' } }, - withStacking(value): { options+: { stacking: value } }, - '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Manually select which field from the dataset to represent the x field.' } }, - withXField(value): { options+: { xField: value } }, - '#withXTickLabelMaxLength': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the max length that a label can have before it is truncated.' } }, - withXTickLabelMaxLength(value): { options+: { xTickLabelMaxLength: value } }, - '#withXTickLabelRotation': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the rotation of the x axis labels.' } }, - withXTickLabelRotation(value=0): { options+: { xTickLabelRotation: value } }, - '#withXTickLabelSpacing': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Controls the spacing between x axis labels.\nnegative values indicate backwards skipping behavior' } }, - withXTickLabelSpacing(value=0): { options+: { xTickLabelSpacing: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'barchart' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet deleted file mode 100644 index 094ec96b22..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/barGauge.libsonnet +++ /dev/null @@ -1,57 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.barGauge', name: 'barGauge' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['basic', 'lcd', 'gradient'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes\nfor the bar gauge component of Grafana UI' } }, - withDisplayMode(value): { options+: { displayMode: value } }, - '#withMinVizHeight': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinVizHeight(value=10): { options+: { minVizHeight: value } }, - '#withMinVizWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinVizWidth(value=0): { options+: { minVizWidth: value } }, - '#withShowUnfilled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowUnfilled(value=true): { options+: { showUnfilled: value } }, - '#withValueMode': { 'function': { args: [{ default: null, enums: ['color', 'text', 'hidden'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, - withValueMode(value): { options+: { valueMode: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'bargauge' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet deleted file mode 100644 index 5a06bc0c9c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/candlestick.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.candlestick', name: 'candlestick' }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'candlestick' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet deleted file mode 100644 index 48e4ecabc3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/canvas.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.canvas', name: 'canvas' }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'canvas' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet deleted file mode 100644 index 55afdd9e22..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/dashboardList.libsonnet +++ /dev/null @@ -1,39 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.dashboardList', name: 'dashboardList' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withFolderId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFolderId(value): { options+: { folderId: value } }, - '#withIncludeVars': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIncludeVars(value=true): { options+: { includeVars: value } }, - '#withKeepTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withKeepTime(value=true): { options+: { keepTime: value } }, - '#withMaxItems': { 'function': { args: [{ default: 10, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMaxItems(value=10): { options+: { maxItems: value } }, - '#withQuery': { 'function': { args: [{ default: '', enums: null, name: 'value', type: 'string' }], help: '' } }, - withQuery(value=''): { options+: { query: value } }, - '#withShowHeadings': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowHeadings(value=true): { options+: { showHeadings: value } }, - '#withShowRecentlyViewed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowRecentlyViewed(value=true): { options+: { showRecentlyViewed: value } }, - '#withShowSearch': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowSearch(value=true): { options+: { showSearch: value } }, - '#withShowStarred': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowStarred(value=true): { options+: { showStarred: value } }, - '#withTags': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTags(value): { options+: { tags: (if std.isArray(value) - then value - else [value]) } }, - '#withTagsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTagsMixin(value): { options+: { tags+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'dashlist' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet deleted file mode 100644 index a7eeb44a50..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/datagrid.libsonnet +++ /dev/null @@ -1,15 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.datagrid', name: 'datagrid' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withSelectedSeries': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSelectedSeries(value=0): { options+: { selectedSeries: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'datagrid' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet deleted file mode 100644 index b3f01fb7a4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/debug.libsonnet +++ /dev/null @@ -1,43 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.debug', name: 'debug' }, - '#withDebugMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, - withDebugMode(value): { DebugMode: value }, - '#withUpdateConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUpdateConfig(value): { UpdateConfig: value }, - '#withUpdateConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUpdateConfigMixin(value): { UpdateConfig+: value }, - UpdateConfig+: - { - '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDataChanged(value=true): { UpdateConfig+: { dataChanged: value } }, - '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withRender(value=true): { UpdateConfig+: { render: value } }, - '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSchemaChanged(value=true): { UpdateConfig+: { schemaChanged: value } }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withCounters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCounters(value): { options+: { counters: value } }, - '#withCountersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCountersMixin(value): { options+: { counters+: value } }, - counters+: - { - '#withDataChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withDataChanged(value=true): { options+: { counters+: { dataChanged: value } } }, - '#withRender': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withRender(value=true): { options+: { counters+: { render: value } } }, - '#withSchemaChanged': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSchemaChanged(value=true): { options+: { counters+: { schemaChanged: value } } }, - }, - '#withMode': { 'function': { args: [{ default: null, enums: ['render', 'events', 'cursor', 'State', 'ThrowError'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { mode: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'debug' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet deleted file mode 100644 index 8a5d39a60e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/gauge.libsonnet +++ /dev/null @@ -1,51 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.gauge', name: 'gauge' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withShowThresholdLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowThresholdLabels(value=true): { options+: { showThresholdLabels: value } }, - '#withShowThresholdMarkers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowThresholdMarkers(value=true): { options+: { showThresholdMarkers: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'gauge' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet deleted file mode 100644 index 435856e554..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/geomap.libsonnet +++ /dev/null @@ -1,216 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.geomap', name: 'geomap' }, - '#withControlsOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControlsOptions(value): { ControlsOptions: value }, - '#withControlsOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControlsOptionsMixin(value): { ControlsOptions+: value }, - ControlsOptions+: - { - '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, - withMouseWheelZoom(value=true): { ControlsOptions+: { mouseWheelZoom: value } }, - '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, - withShowAttribution(value=true): { ControlsOptions+: { showAttribution: value } }, - '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, - withShowDebug(value=true): { ControlsOptions+: { showDebug: value } }, - '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, - withShowMeasure(value=true): { ControlsOptions+: { showMeasure: value } }, - '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, - withShowScale(value=true): { ControlsOptions+: { showScale: value } }, - '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, - withShowZoom(value=true): { ControlsOptions+: { showZoom: value } }, - }, - '#withMapCenterID': { 'function': { args: [{ default: null, enums: ['zero', 'coords', 'fit'], name: 'value', type: 'string' }], help: '' } }, - withMapCenterID(value): { MapCenterID: value }, - '#withMapViewConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMapViewConfig(value): { MapViewConfig: value }, - '#withMapViewConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMapViewConfigMixin(value): { MapViewConfig+: value }, - MapViewConfig+: - { - '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAllLayers(value=true): { MapViewConfig+: { allLayers: value } }, - '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value='zero'): { MapViewConfig+: { id: value } }, - '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLastOnly(value=true): { MapViewConfig+: { lastOnly: value } }, - '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLat(value=0): { MapViewConfig+: { lat: value } }, - '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLayer(value): { MapViewConfig+: { layer: value } }, - '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLon(value=0): { MapViewConfig+: { lon: value } }, - '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMaxZoom(value): { MapViewConfig+: { maxZoom: value } }, - '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinZoom(value): { MapViewConfig+: { minZoom: value } }, - '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withPadding(value): { MapViewConfig+: { padding: value } }, - '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShared(value=true): { MapViewConfig+: { shared: value } }, - '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withZoom(value=1): { MapViewConfig+: { zoom: value } }, - }, - '#withTooltipMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, - withTooltipMode(value): { TooltipMode: value }, - '#withTooltipOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltipOptions(value): { TooltipOptions: value }, - '#withTooltipOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltipOptionsMixin(value): { TooltipOptions+: value }, - TooltipOptions+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { TooltipOptions+: { mode: value } }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withBasemap': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withBasemap(value): { options+: { basemap: value } }, - '#withBasemapMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withBasemapMixin(value): { options+: { basemap+: value } }, - basemap+: - { - '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, - withConfig(value): { options+: { basemap+: { config: value } } }, - '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, - withFilterData(value): { options+: { basemap+: { filterData: value } } }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocation(value): { options+: { basemap+: { location: value } } }, - '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocationMixin(value): { options+: { basemap+: { location+: value } } }, - location+: - { - '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, - withGazetteer(value): { options+: { basemap+: { location+: { gazetteer: value } } } }, - '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, - withGeohash(value): { options+: { basemap+: { location+: { geohash: value } } } }, - '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLatitude(value): { options+: { basemap+: { location+: { latitude: value } } } }, - '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLongitude(value): { options+: { basemap+: { location+: { longitude: value } } } }, - '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLookup(value): { options+: { basemap+: { location+: { lookup: value } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { basemap+: { location+: { mode: value } } } }, - '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withWkt(value): { options+: { basemap+: { location+: { wkt: value } } } }, - }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, - withName(value): { options+: { basemap+: { name: value } } }, - '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, - withOpacity(value): { options+: { basemap+: { opacity: value } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, - withTooltip(value=true): { options+: { basemap+: { tooltip: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { options+: { basemap+: { type: value } } }, - }, - '#withControls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControls(value): { options+: { controls: value } }, - '#withControlsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withControlsMixin(value): { options+: { controls+: value } }, - controls+: - { - '#withMouseWheelZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'let the mouse wheel zoom' } }, - withMouseWheelZoom(value=true): { options+: { controls+: { mouseWheelZoom: value } } }, - '#withShowAttribution': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Lower right' } }, - withShowAttribution(value=true): { options+: { controls+: { showAttribution: value } } }, - '#withShowDebug': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show debug' } }, - withShowDebug(value=true): { options+: { controls+: { showDebug: value } } }, - '#withShowMeasure': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Show measure' } }, - withShowMeasure(value=true): { options+: { controls+: { showMeasure: value } } }, - '#withShowScale': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Scale options' } }, - withShowScale(value=true): { options+: { controls+: { showScale: value } } }, - '#withShowZoom': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Zoom (upper left)' } }, - withShowZoom(value=true): { options+: { controls+: { showZoom: value } } }, - }, - '#withLayers': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withLayers(value): { options+: { layers: (if std.isArray(value) - then value - else [value]) } }, - '#withLayersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withLayersMixin(value): { options+: { layers+: (if std.isArray(value) - then value - else [value]) } }, - layers+: - { - '#': { help: '', name: 'layers' }, - '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Custom options depending on the type' } }, - withConfig(value): { config: value }, - '#withFilterData': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Defines a frame MatcherConfig that may filter data for the given layer' } }, - withFilterData(value): { filterData: value }, - '#withLocation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocation(value): { location: value }, - '#withLocationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLocationMixin(value): { location+: value }, - location+: - { - '#withGazetteer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Path to Gazetteer' } }, - withGazetteer(value): { location+: { gazetteer: value } }, - '#withGeohash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field mappings' } }, - withGeohash(value): { location+: { geohash: value } }, - '#withLatitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLatitude(value): { location+: { latitude: value } }, - '#withLongitude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLongitude(value): { location+: { longitude: value } }, - '#withLookup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLookup(value): { location+: { lookup: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['auto', 'geohash', 'coords', 'lookup'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { location+: { mode: value } }, - '#withWkt': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withWkt(value): { location+: { wkt: value } }, - }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'configured unique display name' } }, - withName(value): { name: value }, - '#withOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Common properties:\nhttps://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html\nLayer opacity (0-1)' } }, - withOpacity(value): { opacity: value }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Check tooltip (defaults to true)' } }, - withTooltip(value=true): { tooltip: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'details'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - }, - '#withView': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withView(value): { options+: { view: value } }, - '#withViewMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withViewMixin(value): { options+: { view+: value } }, - view+: - { - '#withAllLayers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAllLayers(value=true): { options+: { view+: { allLayers: value } } }, - '#withId': { 'function': { args: [{ default: 'zero', enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value='zero'): { options+: { view+: { id: value } } }, - '#withLastOnly': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLastOnly(value=true): { options+: { view+: { lastOnly: value } } }, - '#withLat': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLat(value=0): { options+: { view+: { lat: value } } }, - '#withLayer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLayer(value): { options+: { view+: { layer: value } } }, - '#withLon': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLon(value=0): { options+: { view+: { lon: value } } }, - '#withMaxZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMaxZoom(value): { options+: { view+: { maxZoom: value } } }, - '#withMinZoom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withMinZoom(value): { options+: { view+: { minZoom: value } } }, - '#withPadding': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withPadding(value): { options+: { view+: { padding: value } } }, - '#withShared': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShared(value=true): { options+: { view+: { shared: value } } }, - '#withZoom': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withZoom(value=1): { options+: { view+: { zoom: value } } }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'geomap' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet deleted file mode 100644 index 89dceafbb2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/heatmap.libsonnet +++ /dev/null @@ -1,414 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.heatmap', name: 'heatmap' }, - '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValues(value): { CellValues: value }, - '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValuesMixin(value): { CellValues+: value }, - CellValues+: - { - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, - withDecimals(value): { CellValues+: { decimals: value } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, - withUnit(value): { CellValues+: { unit: value } }, - }, - '#withExemplarConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplarConfig(value): { ExemplarConfig: value }, - '#withExemplarConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplarConfigMixin(value): { ExemplarConfig+: value }, - ExemplarConfig+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, - withColor(value): { ExemplarConfig+: { color: value } }, - }, - '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRange(value): { FilterValueRange: value }, - '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRangeMixin(value): { FilterValueRange+: value }, - FilterValueRange+: - { - '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, - withGe(value): { FilterValueRange+: { ge: value } }, - '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, - withLe(value): { FilterValueRange+: { le: value } }, - }, - '#withHeatmapColorMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, - withHeatmapColorMode(value): { HeatmapColorMode: value }, - '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptions(value): { HeatmapColorOptions: value }, - '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptionsMixin(value): { HeatmapColorOptions+: value }, - HeatmapColorOptions+: - { - '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, - withExponent(value): { HeatmapColorOptions+: { exponent: value } }, - '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, - withFill(value): { HeatmapColorOptions+: { fill: value } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, - withMax(value): { HeatmapColorOptions+: { max: value } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, - withMin(value): { HeatmapColorOptions+: { min: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, - withMode(value): { HeatmapColorOptions+: { mode: value } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, - withReverse(value=true): { HeatmapColorOptions+: { reverse: value } }, - '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, - withScale(value): { HeatmapColorOptions+: { scale: value } }, - '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, - withScheme(value): { HeatmapColorOptions+: { scheme: value } }, - '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, - withSteps(value): { HeatmapColorOptions+: { steps: value } }, - }, - '#withHeatmapColorScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, - withHeatmapColorScale(value): { HeatmapColorScale: value }, - '#withHeatmapLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withHeatmapLegend(value): { HeatmapLegend: value }, - '#withHeatmapLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withHeatmapLegendMixin(value): { HeatmapLegend+: value }, - HeatmapLegend+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, - withShow(value=true): { HeatmapLegend+: { show: value } }, - }, - '#withHeatmapTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withHeatmapTooltip(value): { HeatmapTooltip: value }, - '#withHeatmapTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withHeatmapTooltipMixin(value): { HeatmapTooltip+: value }, - HeatmapTooltip+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, - withShow(value=true): { HeatmapTooltip+: { show: value } }, - '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, - withYHistogram(value=true): { HeatmapTooltip+: { yHistogram: value } }, - }, - '#withRowsHeatmapOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsHeatmapOptions(value): { RowsHeatmapOptions: value }, - '#withRowsHeatmapOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsHeatmapOptionsMixin(value): { RowsHeatmapOptions+: value }, - RowsHeatmapOptions+: - { - '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, - withLayout(value): { RowsHeatmapOptions+: { layout: value } }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, - withValue(value): { RowsHeatmapOptions+: { value: value } }, - }, - '#withYAxisConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxisConfig(value): { YAxisConfig: value }, - '#withYAxisConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxisConfigMixin(value): { YAxisConfig+: value }, - YAxisConfig+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { YAxisConfig+: { axisCenteredZero: value } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { YAxisConfig+: { axisColorMode: value } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { YAxisConfig+: { axisGridShow: value } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { YAxisConfig+: { axisLabel: value } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { YAxisConfig+: { axisPlacement: value } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { YAxisConfig+: { axisSoftMax: value } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { YAxisConfig+: { axisSoftMin: value } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { YAxisConfig+: { axisWidth: value } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { YAxisConfig+: { scaleDistribution: value } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { YAxisConfig+: { scaleDistribution+: value } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { YAxisConfig+: { scaleDistribution+: { linearThreshold: value } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { YAxisConfig+: { scaleDistribution+: { log: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { YAxisConfig+: { scaleDistribution+: { type: value } } }, - }, - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, - withDecimals(value): { YAxisConfig+: { decimals: value } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, - withMax(value): { YAxisConfig+: { max: value } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, - withMin(value): { YAxisConfig+: { min: value } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, - withReverse(value=true): { YAxisConfig+: { reverse: value } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, - withUnit(value): { YAxisConfig+: { unit: value } }, - }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withCalculate': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the heatmap should be calculated from data' } }, - withCalculate(value=true): { options+: { calculate: value } }, - '#withCalculation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCalculation(value): { options+: { calculation: value } }, - '#withCalculationMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCalculationMixin(value): { options+: { calculation+: value } }, - calculation+: - { - '#withXBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXBuckets(value): { options+: { calculation+: { xBuckets: value } } }, - '#withXBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXBucketsMixin(value): { options+: { calculation+: { xBuckets+: value } } }, - xBuckets+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { calculation+: { xBuckets+: { mode: value } } } }, - '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScale(value): { options+: { calculation+: { xBuckets+: { scale: value } } } }, - '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleMixin(value): { options+: { calculation+: { xBuckets+: { scale+: value } } } }, - scale+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { calculation+: { xBuckets+: { scale+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { calculation+: { xBuckets+: { scale+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { calculation+: { xBuckets+: { scale+: { type: value } } } } }, - }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, - withValue(value): { options+: { calculation+: { xBuckets+: { value: value } } } }, - }, - '#withYBuckets': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withYBuckets(value): { options+: { calculation+: { yBuckets: value } } }, - '#withYBucketsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withYBucketsMixin(value): { options+: { calculation+: { yBuckets+: value } } }, - yBuckets+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['size', 'count'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { calculation+: { yBuckets+: { mode: value } } } }, - '#withScale': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScale(value): { options+: { calculation+: { yBuckets+: { scale: value } } } }, - '#withScaleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleMixin(value): { options+: { calculation+: { yBuckets+: { scale+: value } } } }, - scale+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { calculation+: { yBuckets+: { scale+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { calculation+: { yBuckets+: { scale+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { calculation+: { yBuckets+: { scale+: { type: value } } } } }, - }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The number of buckets to use for the axis in the heatmap' } }, - withValue(value): { options+: { calculation+: { yBuckets+: { value: value } } } }, - }, - }, - '#withCellGap': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls gap between cells' } }, - withCellGap(value=1): { options+: { cellGap: value } }, - '#withCellRadius': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls cell radius' } }, - withCellRadius(value): { options+: { cellRadius: value } }, - '#withCellValues': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, - withCellValues(value={}): { options+: { cellValues: value } }, - '#withCellValuesMixin': { 'function': { args: [{ default: {}, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value unit' } }, - withCellValuesMixin(value): { options+: { cellValues+: value } }, - cellValues+: - { - '#withCellValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValues(value): { options+: { cellValues+: { CellValues: value } } }, - '#withCellValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls cell value options' } }, - withCellValuesMixin(value): { options+: { cellValues+: { CellValues+: value } } }, - CellValues+: - { - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for cell values' } }, - withDecimals(value): { options+: { cellValues+: { decimals: value } } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the cell value unit' } }, - withUnit(value): { options+: { cellValues+: { unit: value } } }, - }, - }, - '#withColor': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, - withColor(value={ exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }): { options+: { color: value } }, - '#withColorMixin': { 'function': { args: [{ default: { exponent: 0.5, fill: 'dark-orange', reverse: false, scheme: 'Oranges', steps: 64 }, enums: null, name: 'value', type: 'object' }], help: 'Controls the color options' } }, - withColorMixin(value): { options+: { color+: value } }, - color+: - { - '#withHeatmapColorOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptions(value): { options+: { color+: { HeatmapColorOptions: value } } }, - '#withHeatmapColorOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls various color options' } }, - withHeatmapColorOptionsMixin(value): { options+: { color+: { HeatmapColorOptions+: value } } }, - HeatmapColorOptions+: - { - '#withExponent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the exponent when scale is set to exponential' } }, - withExponent(value): { options+: { color+: { exponent: value } } }, - '#withFill': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color fill when in opacity mode' } }, - withFill(value): { options+: { color+: { fill: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the color scale' } }, - withMax(value): { options+: { color+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the color scale' } }, - withMin(value): { options+: { color+: { min: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['opacity', 'scheme'], name: 'value', type: 'string' }], help: 'Controls the color mode of the heatmap' } }, - withMode(value): { options+: { color+: { mode: value } } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the color scheme' } }, - withReverse(value=true): { options+: { color+: { reverse: value } } }, - '#withScale': { 'function': { args: [{ default: null, enums: ['linear', 'exponential'], name: 'value', type: 'string' }], help: 'Controls the color scale of the heatmap' } }, - withScale(value): { options+: { color+: { scale: value } } }, - '#withScheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the color scheme used' } }, - withScheme(value): { options+: { color+: { scheme: value } } }, - '#withSteps': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Controls the number of color steps' } }, - withSteps(value): { options+: { color+: { steps: value } } }, - }, - }, - '#withExemplars': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplars(value): { options+: { exemplars: value } }, - '#withExemplarsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls exemplar options' } }, - withExemplarsMixin(value): { options+: { exemplars+: value } }, - exemplars+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the color of the exemplar markers' } }, - withColor(value): { options+: { exemplars+: { color: value } } }, - }, - '#withFilterValues': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, - withFilterValues(value={ le: 1.0000000000000001e-09 }): { options+: { filterValues: value } }, - '#withFilterValuesMixin': { 'function': { args: [{ default: { le: 1.0000000000000001e-09 }, enums: null, name: 'value', type: 'object' }], help: 'Filters values between a given range' } }, - withFilterValuesMixin(value): { options+: { filterValues+: value } }, - filterValues+: - { - '#withFilterValueRange': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRange(value): { options+: { filterValues+: { FilterValueRange: value } } }, - '#withFilterValueRangeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls the value filter range' } }, - withFilterValueRangeMixin(value): { options+: { filterValues+: { FilterValueRange+: value } } }, - FilterValueRange+: - { - '#withGe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values greater than or equal to the given value' } }, - withGe(value): { options+: { filterValues+: { ge: value } } }, - '#withLe': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the filter range to values less than or equal to the given value' } }, - withLe(value): { options+: { filterValues+: { le: value } } }, - }, - }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls legend options' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the legend is shown' } }, - withShow(value=true): { options+: { legend+: { show: value } } }, - }, - '#withRowsFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsFrame(value): { options+: { rowsFrame: value } }, - '#withRowsFrameMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls frame rows options' } }, - withRowsFrameMixin(value): { options+: { rowsFrame+: value } }, - rowsFrame+: - { - '#withLayout': { 'function': { args: [{ default: null, enums: ['le', 'ge', 'unknown', 'auto'], name: 'value', type: 'string' }], help: '' } }, - withLayout(value): { options+: { rowsFrame+: { layout: value } } }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the name of the cell when not calculating from data' } }, - withValue(value): { options+: { rowsFrame+: { value: value } } }, - }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '| *{\n\tlayout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n}\nControls the display of the value in the cell' } }, - withShowValue(value): { options+: { showValue: value } }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Controls tooltip options' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip is shown' } }, - withShow(value=true): { options+: { tooltip+: { show: value } } }, - '#withYHistogram': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls if the tooltip shows a histogram of the y-axis values' } }, - withYHistogram(value=true): { options+: { tooltip+: { yHistogram: value } } }, - }, - '#withYAxis': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxis(value): { options+: { yAxis: value } }, - '#withYAxisMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Configuration options for the yAxis' } }, - withYAxisMixin(value): { options+: { yAxis+: value } }, - yAxis+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { options+: { yAxis+: { axisCenteredZero: value } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { options+: { yAxis+: { axisColorMode: value } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { options+: { yAxis+: { axisGridShow: value } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { options+: { yAxis+: { axisLabel: value } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { options+: { yAxis+: { axisPlacement: value } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { options+: { yAxis+: { axisSoftMax: value } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { options+: { yAxis+: { axisSoftMin: value } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { options+: { yAxis+: { axisWidth: value } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { options+: { yAxis+: { scaleDistribution: value } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { options+: { yAxis+: { scaleDistribution+: value } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { options+: { yAxis+: { scaleDistribution+: { linearThreshold: value } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { options+: { yAxis+: { scaleDistribution+: { log: value } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { options+: { yAxis+: { scaleDistribution+: { type: value } } } }, - }, - '#withDecimals': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Controls the number of decimals for yAxis values' } }, - withDecimals(value): { options+: { yAxis+: { decimals: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the maximum value for the yAxis' } }, - withMax(value): { options+: { yAxis+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Sets the minimum value for the yAxis' } }, - withMin(value): { options+: { yAxis+: { min: value } } }, - '#withReverse': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Reverses the yAxis' } }, - withReverse(value=true): { options+: { yAxis+: { reverse: value } } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the yAxis unit' } }, - withUnit(value): { options+: { yAxis+: { unit: value } } }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'heatmap' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet deleted file mode 100644 index 42215d692f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/histogram.libsonnet +++ /dev/null @@ -1,130 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.histogram', name: 'histogram' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 80, enums: null, name: 'value', type: 'integer' }], help: 'Controls the fill opacity of the bars.' } }, - withFillOpacity(value=80): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.\nGradient appearance is influenced by the Fill opacity setting.' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: 'Controls line width of the bars.' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withBucketOffset': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Offset buckets by this amount' } }, - withBucketOffset(value=0): { options+: { bucketOffset: value } }, - '#withBucketSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Size of each bucket' } }, - withBucketSize(value): { options+: { bucketSize: value } }, - '#withCombine': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Combines multiple series into a single histogram' } }, - withCombine(value=true): { options+: { combine: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'histogram' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet deleted file mode 100644 index e140795146..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/logs.libsonnet +++ /dev/null @@ -1,29 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.logs', name: 'logs' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withDedupStrategy': { 'function': { args: [{ default: null, enums: ['none', 'exact', 'numbers', 'signature'], name: 'value', type: 'string' }], help: '' } }, - withDedupStrategy(value): { options+: { dedupStrategy: value } }, - '#withEnableLogDetails': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withEnableLogDetails(value=true): { options+: { enableLogDetails: value } }, - '#withPrettifyLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withPrettifyLogMessage(value=true): { options+: { prettifyLogMessage: value } }, - '#withShowCommonLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowCommonLabels(value=true): { options+: { showCommonLabels: value } }, - '#withShowLabels': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLabels(value=true): { options+: { showLabels: value } }, - '#withShowTime': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowTime(value=true): { options+: { showTime: value } }, - '#withSortOrder': { 'function': { args: [{ default: null, enums: ['Descending', 'Ascending'], name: 'value', type: 'string' }], help: '' } }, - withSortOrder(value): { options+: { sortOrder: value } }, - '#withWrapLogMessage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withWrapLogMessage(value=true): { options+: { wrapLogMessage: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'logs' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet deleted file mode 100644 index 34e5618bc8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/news.libsonnet +++ /dev/null @@ -1,17 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.news', name: 'news' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withFeedUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'empty/missing will default to grafana blog' } }, - withFeedUrl(value): { options+: { feedUrl: value } }, - '#withShowImage': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowImage(value=true): { options+: { showImage: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'news' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet deleted file mode 100644 index 54977a1be8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/nodeGraph.libsonnet +++ /dev/null @@ -1,100 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.nodeGraph', name: 'nodeGraph' }, - '#withArcOption': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withArcOption(value): { ArcOption: value }, - '#withArcOptionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withArcOptionMixin(value): { ArcOption+: value }, - ArcOption+: - { - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, - withColor(value): { ArcOption+: { color: value } }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, - withField(value): { ArcOption+: { field: value } }, - }, - '#withEdgeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdgeOptions(value): { EdgeOptions: value }, - '#withEdgeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdgeOptionsMixin(value): { EdgeOptions+: value }, - EdgeOptions+: - { - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { EdgeOptions+: { mainStatUnit: value } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { EdgeOptions+: { secondaryStatUnit: value } }, - }, - '#withNodeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodeOptions(value): { NodeOptions: value }, - '#withNodeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodeOptionsMixin(value): { NodeOptions+: value }, - NodeOptions+: - { - '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcs(value): { NodeOptions+: { arcs: (if std.isArray(value) - then value - else [value]) } }, - '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcsMixin(value): { NodeOptions+: { arcs+: (if std.isArray(value) - then value - else [value]) } }, - arcs+: - { - '#': { help: '', name: 'arcs' }, - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, - withColor(value): { color: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, - withField(value): { field: value }, - }, - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { NodeOptions+: { mainStatUnit: value } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { NodeOptions+: { secondaryStatUnit: value } }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdges(value): { options+: { edges: value } }, - '#withEdgesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withEdgesMixin(value): { options+: { edges+: value } }, - edges+: - { - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { options+: { edges+: { mainStatUnit: value } } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { options+: { edges+: { secondaryStatUnit: value } } }, - }, - '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodes(value): { options+: { nodes: value } }, - '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodesMixin(value): { options+: { nodes+: value } }, - nodes+: - { - '#withArcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcs(value): { options+: { nodes+: { arcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withArcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Define which fields are shown as part of the node arc (colored circle around the node).' } }, - withArcsMixin(value): { options+: { nodes+: { arcs+: (if std.isArray(value) - then value - else [value]) } } }, - arcs+: - { - '#': { help: '', name: 'arcs' }, - '#withColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The color of the arc.' } }, - withColor(value): { color: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Field from which to get the value. Values should be less than 1, representing fraction of a circle.' } }, - withField(value): { field: value }, - }, - '#withMainStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the main stat to override what ever is set in the data frame.' } }, - withMainStatUnit(value): { options+: { nodes+: { mainStatUnit: value } } }, - '#withSecondaryStatUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unit for the secondary stat to override what ever is set in the data frame.' } }, - withSecondaryStatUnit(value): { options+: { nodes+: { secondaryStatUnit: value } } }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'nodeGraph' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet deleted file mode 100644 index cb4be75fd8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/pieChart.libsonnet +++ /dev/null @@ -1,186 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.pieChart', name: 'pieChart' }, - '#withPieChartLabels': { 'function': { args: [{ default: null, enums: ['name', 'value', 'percent'], name: 'value', type: 'string' }], help: 'Select labels to display on the pie chart.\n - Name - The series or field name.\n - Percent - The percentage of the whole.\n - Value - The raw numerical value.' } }, - withPieChartLabels(value): { PieChartLabels: value }, - '#withPieChartLegendOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPieChartLegendOptions(value): { PieChartLegendOptions: value }, - '#withPieChartLegendOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPieChartLegendOptionsMixin(value): { PieChartLegendOptions+: value }, - PieChartLegendOptions+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { PieChartLegendOptions+: { asTable: value } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { PieChartLegendOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { PieChartLegendOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { PieChartLegendOptions+: { displayMode: value } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { PieChartLegendOptions+: { isVisible: value } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { PieChartLegendOptions+: { placement: value } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { PieChartLegendOptions+: { showLegend: value } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { PieChartLegendOptions+: { sortBy: value } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { PieChartLegendOptions+: { sortDesc: value } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { PieChartLegendOptions+: { width: value } }, - '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValues(value): { PieChartLegendOptions+: { values: (if std.isArray(value) - then value - else [value]) } }, - '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValuesMixin(value): { PieChartLegendOptions+: { values+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withPieChartLegendValues': { 'function': { args: [{ default: null, enums: ['value', 'percent'], name: 'value', type: 'string' }], help: 'Select values to display in the legend.\n - Percent: The percentage of the whole.\n - Value: The raw numerical value.' } }, - withPieChartLegendValues(value): { PieChartLegendValues: value }, - '#withPieChartType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, - withPieChartType(value): { PieChartType: value }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withDisplayLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDisplayLabels(value): { options+: { displayLabels: (if std.isArray(value) - then value - else [value]) } }, - '#withDisplayLabelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDisplayLabelsMixin(value): { options+: { displayLabels+: (if std.isArray(value) - then value - else [value]) } }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - '#withValues': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValues(value): { options+: { legend+: { values: (if std.isArray(value) - then value - else [value]) } } }, - '#withValuesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withValuesMixin(value): { options+: { legend+: { values+: (if std.isArray(value) - then value - else [value]) } } }, - }, - '#withPieType': { 'function': { args: [{ default: null, enums: ['pie', 'donut'], name: 'value', type: 'string' }], help: 'Select the pie chart display style.' } }, - withPieType(value): { options+: { pieType: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'piechart' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet deleted file mode 100644 index 8855b79225..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/row.libsonnet +++ /dev/null @@ -1,51 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.row', name: 'row' }, - '#withCollapsed': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withCollapsed(value=true): { collapsed: value }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Name of default datasource.' } }, - withDatasource(value): { datasource: value }, - '#withDatasourceMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Name of default datasource.' } }, - withDatasourceMixin(value): { datasource+: value }, - datasource+: - { - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { datasource+: { type: value } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { datasource+: { uid: value } }, - }, - '#withGridPos': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGridPos(value): { gridPos: value }, - '#withGridPosMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGridPosMixin(value): { gridPos+: value }, - gridPos+: - { - '#withH': { 'function': { args: [{ default: 9, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withH(value=9): { gridPos+: { h: value } }, - '#withStatic': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if fixed' } }, - withStatic(value=true): { gridPos+: { static: value } }, - '#withW': { 'function': { args: [{ default: 12, enums: null, name: 'value', type: 'integer' }], help: 'Panel' } }, - withW(value=12): { gridPos+: { w: value } }, - '#withX': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel x' } }, - withX(value=0): { gridPos+: { x: value } }, - '#withY': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: 'Panel y' } }, - withY(value=0): { gridPos+: { y: value } }, - }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withId(value): { id: value }, - '#withPanels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanels(value): { panels: (if std.isArray(value) - then value - else [value]) }, - '#withPanelsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPanelsMixin(value): { panels+: (if std.isArray(value) - then value - else [value]) }, - '#withRepeat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of template variable to repeat for.' } }, - withRepeat(value): { repeat: value }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTitle(value): { title: value }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'row' }, -} -+ (import '../../custom/row.libsonnet') diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet deleted file mode 100644 index 5011674691..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stat.libsonnet +++ /dev/null @@ -1,55 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.stat', name: 'stat' }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withText': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withText(value): { options+: { text: value } }, - '#withTextMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTextMixin(value): { options+: { text+: value } }, - text+: - { - '#withTitleSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit title text size' } }, - withTitleSize(value): { options+: { text+: { titleSize: value } } }, - '#withValueSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'Explicit value text size' } }, - withValueSize(value): { options+: { text+: { valueSize: value } } }, - }, - '#withOrientation': { 'function': { args: [{ default: null, enums: ['auto', 'vertical', 'horizontal'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withOrientation(value): { options+: { orientation: value } }, - '#withReduceOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptions(value): { options+: { reduceOptions: value } }, - '#withReduceOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withReduceOptionsMixin(value): { options+: { reduceOptions+: value } }, - reduceOptions+: - { - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcs(value): { options+: { reduceOptions+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'When !values, pick one value for the whole field' } }, - withCalcsMixin(value): { options+: { reduceOptions+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Which fields to show. By default this is only numeric fields' } }, - withFields(value): { options+: { reduceOptions+: { fields: value } } }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: 'if showing all values limit' } }, - withLimit(value): { options+: { reduceOptions+: { limit: value } } }, - '#withValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'If true show each row value' } }, - withValues(value=true): { options+: { reduceOptions+: { values: value } } }, - }, - '#withColorMode': { 'function': { args: [{ default: null, enums: ['value', 'background', 'background_solid', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withColorMode(value): { options+: { colorMode: value } }, - '#withGraphMode': { 'function': { args: [{ default: null, enums: ['none', 'line', 'area'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGraphMode(value): { options+: { graphMode: value } }, - '#withJustifyMode': { 'function': { args: [{ default: null, enums: ['auto', 'center'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withJustifyMode(value): { options+: { justifyMode: value } }, - '#withTextMode': { 'function': { args: [{ default: null, enums: ['auto', 'value', 'value_and_name', 'name', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTextMode(value): { options+: { textMode: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'stat' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet deleted file mode 100644 index 3fa3ca8c92..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/stateTimeline.libsonnet +++ /dev/null @@ -1,109 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.stateTimeline', name: 'stateTimeline' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value=0): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withAlignValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls value alignment on the timelines' } }, - withAlignValue(value): { options+: { alignValue: value } }, - '#withMergeValues': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Merge equal consecutive values' } }, - withMergeValues(value=true): { options+: { mergeValues: value } }, - '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the row height' } }, - withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show timeline values on chart' } }, - withShowValue(value): { options+: { showValue: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'state-timeline' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet deleted file mode 100644 index 2dbbf8aad9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/statusHistory.libsonnet +++ /dev/null @@ -1,107 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.statusHistory', name: 'statusHistory' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withFillOpacity': { 'function': { args: [{ default: 70, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFillOpacity(value=70): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withLineWidth': { 'function': { args: [{ default: 1, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value=1): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withColWidth': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Controls the column width' } }, - withColWidth(value=0.90000000000000002): { options+: { colWidth: value } }, - '#withRowHeight': { 'function': { args: [{ default: 0.90000000000000002, enums: null, name: 'value', type: 'number' }], help: 'Set the height of the rows' } }, - withRowHeight(value=0.90000000000000002): { options+: { rowHeight: value } }, - '#withShowValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Show values on the columns' } }, - withShowValue(value): { options+: { showValue: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'status-history' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet deleted file mode 100644 index 6ebe122a85..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/table.libsonnet +++ /dev/null @@ -1,299 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.table', name: 'table' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Field options for each field within a table (e.g 10, "The String", 64.20, etc.) Generally defines alignment, filtering capabilties, display options, etc.' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Field options for each field within a table (e.g 10, "The String", 64.20, etc.) Generally defines alignment, filtering capabilties, display options, etc.' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withAlign': { 'function': { args: [{ default: null, enums: ['auto', 'left', 'right', 'center'], name: 'value', type: 'string' }], help: 'TODO -- should not be table specific! TODO docs' } }, - withAlign(value): { fieldConfig+: { defaults+: { custom+: { align: value } } } }, - '#withCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, - withCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions: value } } } }, - '#withCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Table cell options. Each cell has a display mode and other potential options for that display.' } }, - withCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: value } } } }, - cellOptions+: - { - '#withTableAutoCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, - withTableAutoCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions: value } } } } }, - '#withTableAutoCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Auto mode table cell options' } }, - withTableAutoCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableAutoCellOptions+: value } } } } }, - TableAutoCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'auto' } } } } }, - }, - '#withTableSparklineCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, - withTableSparklineCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions: value } } } } }, - '#withTableSparklineCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Sparkline cell options' } }, - withTableSparklineCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableSparklineCellOptions+: value } } } } }, - TableSparklineCellOptions+: - { - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisCenteredZero: value } } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['series', 'text'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisColorMode: value } } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisGridShow: value } } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisLabel: value } } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'bottom', 'hidden', 'left', 'right', 'top'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisPlacement: value } } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMax: value } } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisSoftMin: value } } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { axisWidth: value } } } } }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [1, -1, 0], name: 'value', type: 'number' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barAlignment: value } } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barMaxWidth: value } } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { barWidthFactor: value } } } } }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['bars', 'line', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { drawStyle: value } } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillBelowTo: value } } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillColor: value } } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { fillOpacity: value } } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['hue', 'none', 'opacity', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { gradientMode: value } } } } }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom: value } } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: value } } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { legend: value } } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { tooltip: value } } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { hideFrom+: { viz: value } } } } } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineColor: value } } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepAfter', 'stepBefore'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineInterpolation: value } } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle: value } } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: value } } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineStyle+: { fill: value } } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { lineWidth: value } } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointColor: value } } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSize: value } } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { pointSymbol: value } } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution: value } } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: value } } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { linearThreshold: value } } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { log: value } } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { scaleDistribution+: { type: value } } } } } }, - }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['always', 'auto', 'never'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { showPoints: value } } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: ['boolean', 'number'] }], help: 'Indicate if null values should be treated as gaps or connected. When the value is a number, it represents the maximum delta in the X axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { spanNulls: value } } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking: value } } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: value } } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { group: value } } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { stacking+: { mode: value } } } } } }, - }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle: value } } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: value } } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['area', 'dashed', 'dashed+area', 'line', 'line+area', 'off', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { thresholdsStyle+: { mode: value } } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { transform: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'sparkline' } } } } }, - }, - '#withTableBarGaugeCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, - withTableBarGaugeCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions: value } } } } }, - '#withTableBarGaugeCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Gauge cell options' } }, - withTableBarGaugeCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableBarGaugeCellOptions+: value } } } } }, - TableBarGaugeCellOptions+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient', 'lcd'], name: 'value', type: 'string' }], help: 'Enum expressing the possible display modes for the bar gauge component of Grafana UI' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'gauge' } } } } }, - '#withValueDisplayMode': { 'function': { args: [{ default: null, enums: ['color', 'hidden', 'text'], name: 'value', type: 'string' }], help: 'Allows for the table cell gauge display type to set the gauge mode.' } }, - withValueDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { valueDisplayMode: value } } } } }, - }, - '#withTableColoredBackgroundCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, - withTableColoredBackgroundCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions: value } } } } }, - '#withTableColoredBackgroundCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored background cell options' } }, - withTableColoredBackgroundCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColoredBackgroundCellOptions+: value } } } } }, - TableColoredBackgroundCellOptions+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['basic', 'gradient'], name: 'value', type: 'string' }], help: 'Display mode to the "Colored Background" display mode for table cells. Either displays a solid color (basic mode) or a gradient.' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { mode: value } } } } }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-background' } } } } }, - }, - '#withTableColorTextCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, - withTableColorTextCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions: value } } } } }, - '#withTableColorTextCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Colored text cell options' } }, - withTableColorTextCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableColorTextCellOptions+: value } } } } }, - TableColorTextCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'color-text' } } } } }, - }, - '#withTableImageCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableImageCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions: value } } } } }, - '#withTableImageCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableImageCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableImageCellOptions+: value } } } } }, - TableImageCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'image' } } } } }, - }, - '#withTableJsonViewCellOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableJsonViewCellOptions(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions: value } } } } }, - '#withTableJsonViewCellOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Json view cell options' } }, - withTableJsonViewCellOptionsMixin(value): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { TableJsonViewCellOptions+: value } } } } }, - TableJsonViewCellOptions+: - { - '#withType': { 'function': { args: [], help: '' } }, - withType(): { fieldConfig+: { defaults+: { custom+: { cellOptions+: { type: 'json-view' } } } } }, - }, - }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['auto', 'basic', 'color-background', 'color-background-solid', 'color-text', 'custom', 'gauge', 'gradient-gauge', 'image', 'json-view', 'lcd-gauge', 'sparkline'], name: 'value', type: 'string' }], help: "Internally, this is the \"type\" of cell that's being displayed in the table such as colored text, JSON, gauge, etc. The color-background-solid, gradient-gauge, and lcd-gauge modes are deprecated in favor of new cell subOptions" } }, - withDisplayMode(value): { fieldConfig+: { defaults+: { custom+: { displayMode: value } } } }, - '#withFilterable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withFilterable(value=true): { fieldConfig+: { defaults+: { custom+: { filterable: value } } } }, - '#withHidden': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHidden(value=true): { fieldConfig+: { defaults+: { custom+: { hidden: value } } } }, - '#withHideHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Hides any header for a column, usefull for columns that show some static content or buttons.' } }, - withHideHeader(value=true): { fieldConfig+: { defaults+: { custom+: { hideHeader: value } } } }, - '#withInspect': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withInspect(value=true): { fieldConfig+: { defaults+: { custom+: { inspect: value } } } }, - '#withMinWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMinWidth(value): { fieldConfig+: { defaults+: { custom+: { minWidth: value } } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { fieldConfig+: { defaults+: { custom+: { width: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withCellHeight': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Controls the height of the rows' } }, - withCellHeight(value): { options+: { cellHeight: value } }, - '#withFooter': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, - withFooter(value={ countRows: false, reducer: [], show: false }): { options+: { footer: value } }, - '#withFooterMixin': { 'function': { args: [{ default: { countRows: false, reducer: [], show: false }, enums: null, name: 'value', type: 'object' }], help: 'Controls footer options' } }, - withFooterMixin(value): { options+: { footer+: value } }, - footer+: - { - '#withTableFooterOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, - withTableFooterOptions(value): { options+: { footer+: { TableFooterOptions: value } } }, - '#withTableFooterOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Footer options' } }, - withTableFooterOptionsMixin(value): { options+: { footer+: { TableFooterOptions+: value } } }, - TableFooterOptions+: - { - '#withCountRows': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withCountRows(value=true): { options+: { footer+: { countRows: value } } }, - '#withEnablePagination': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withEnablePagination(value=true): { options+: { footer+: { enablePagination: value } } }, - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFields(value): { options+: { footer+: { fields: (if std.isArray(value) - then value - else [value]) } } }, - '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFieldsMixin(value): { options+: { footer+: { fields+: (if std.isArray(value) - then value - else [value]) } } }, - '#withReducer': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withReducer(value): { options+: { footer+: { reducer: (if std.isArray(value) - then value - else [value]) } } }, - '#withReducerMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withReducerMixin(value): { options+: { footer+: { reducer+: (if std.isArray(value) - then value - else [value]) } } }, - '#withShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShow(value=true): { options+: { footer+: { show: value } } }, - }, - }, - '#withFrameIndex': { 'function': { args: [{ default: 0, enums: null, name: 'value', type: 'number' }], help: 'Represents the index of the selected frame' } }, - withFrameIndex(value=0): { options+: { frameIndex: value } }, - '#withShowHeader': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the panel should show the header' } }, - withShowHeader(value=true): { options+: { showHeader: value } }, - '#withShowTypeIcons': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Controls whether the header should show icons for the column types' } }, - withShowTypeIcons(value=true): { options+: { showTypeIcons: value } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, - withSortBy(value): { options+: { sortBy: (if std.isArray(value) - then value - else [value]) } }, - '#withSortByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Used to control row sorting' } }, - withSortByMixin(value): { options+: { sortBy+: (if std.isArray(value) - then value - else [value]) } }, - sortBy+: - { - '#': { help: '', name: 'sortBy' }, - '#withDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag used to indicate descending sort order' } }, - withDesc(value=true): { desc: value }, - '#withDisplayName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Sets the display name of the field to sort by' } }, - withDisplayName(value): { displayName: value }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'table' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet deleted file mode 100644 index 9e2dffb1f2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/text.libsonnet +++ /dev/null @@ -1,47 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.text', name: 'text' }, - '#withCodeLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, - withCodeLanguage(value='plaintext'): { CodeLanguage: value }, - '#withCodeOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCodeOptions(value): { CodeOptions: value }, - '#withCodeOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCodeOptionsMixin(value): { CodeOptions+: value }, - CodeOptions+: - { - '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, - withLanguage(value='plaintext'): { CodeOptions+: { language: value } }, - '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLineNumbers(value=true): { CodeOptions+: { showLineNumbers: value } }, - '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowMiniMap(value=true): { CodeOptions+: { showMiniMap: value } }, - }, - '#withTextMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, - withTextMode(value): { TextMode: value }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withCode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCode(value): { options+: { code: value } }, - '#withCodeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withCodeMixin(value): { options+: { code+: value } }, - code+: - { - '#withLanguage': { 'function': { args: [{ default: 'plaintext', enums: ['plaintext', 'yaml', 'xml', 'typescript', 'sql', 'go', 'markdown', 'html', 'json'], name: 'value', type: 'string' }], help: '' } }, - withLanguage(value='plaintext'): { options+: { code+: { language: value } } }, - '#withShowLineNumbers': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLineNumbers(value=true): { options+: { code+: { showLineNumbers: value } } }, - '#withShowMiniMap': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowMiniMap(value=true): { options+: { code+: { showMiniMap: value } } }, - }, - '#withContent': { 'function': { args: [{ default: '# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)', enums: null, name: 'value', type: 'string' }], help: '' } }, - withContent(value='# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)'): { options+: { content: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['html', 'markdown', 'code'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { options+: { mode: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'text' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet deleted file mode 100644 index 25f726b0d0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/timeSeries.libsonnet +++ /dev/null @@ -1,199 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.timeSeries', name: 'timeSeries' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, - '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezone(value): { options+: { timezone: (if std.isArray(value) - then value - else [value]) } }, - '#withTimezoneMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withTimezoneMixin(value): { options+: { timezone+: (if std.isArray(value) - then value - else [value]) } }, - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'timeseries' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet deleted file mode 100644 index d9c32f55a3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/trend.libsonnet +++ /dev/null @@ -1,193 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.trend', name: 'trend' }, - '#withFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfig(value): { fieldConfig: value }, - '#withFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withFieldConfigMixin(value): { fieldConfig+: value }, - fieldConfig+: - { - '#withDefaults': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaults(value): { fieldConfig+: { defaults: value } }, - '#withDefaultsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDefaultsMixin(value): { fieldConfig+: { defaults+: value } }, - defaults+: - { - '#withCustom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustom(value): { fieldConfig+: { defaults+: { custom: value } } }, - '#withCustomMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withCustomMixin(value): { fieldConfig+: { defaults+: { custom+: value } } }, - custom+: - { - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLineColor(value): { fieldConfig+: { defaults+: { custom+: { lineColor: value } } } }, - '#withLineInterpolation': { 'function': { args: [{ default: null, enums: ['linear', 'smooth', 'stepBefore', 'stepAfter'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLineInterpolation(value): { fieldConfig+: { defaults+: { custom+: { lineInterpolation: value } } } }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { fieldConfig+: { defaults+: { custom+: { lineStyle: value } } } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: value } } } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { fieldConfig+: { defaults+: { custom+: { lineStyle+: { fill: value } } } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLineWidth(value): { fieldConfig+: { defaults+: { custom+: { lineWidth: value } } } }, - '#withSpanNulls': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNulls(value): { fieldConfig+: { defaults+: { custom+: { spanNulls: value } } } }, - '#withSpanNullsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Indicate if null values should be treated as gaps or connected.\nWhen the value is a number, it represents the maximum delta in the\nX axis that should be considered connected. For timeseries, this is milliseconds' } }, - withSpanNullsMixin(value): { fieldConfig+: { defaults+: { custom+: { spanNulls+: value } } } }, - '#withFillBelowTo': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillBelowTo(value): { fieldConfig+: { defaults+: { custom+: { fillBelowTo: value } } } }, - '#withFillColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFillColor(value): { fieldConfig+: { defaults+: { custom+: { fillColor: value } } } }, - '#withFillOpacity': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFillOpacity(value): { fieldConfig+: { defaults+: { custom+: { fillOpacity: value } } } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointColor(value): { fieldConfig+: { defaults+: { custom+: { pointColor: value } } } }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withPointSize(value): { fieldConfig+: { defaults+: { custom+: { pointSize: value } } } }, - '#withPointSymbol': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPointSymbol(value): { fieldConfig+: { defaults+: { custom+: { pointSymbol: value } } } }, - '#withShowPoints': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withShowPoints(value): { fieldConfig+: { defaults+: { custom+: { showPoints: value } } } }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { fieldConfig+: { defaults+: { custom+: { axisCenteredZero: value } } } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { fieldConfig+: { defaults+: { custom+: { axisColorMode: value } } } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { fieldConfig+: { defaults+: { custom+: { axisGridShow: value } } } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { fieldConfig+: { defaults+: { custom+: { axisLabel: value } } } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { fieldConfig+: { defaults+: { custom+: { axisPlacement: value } } } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMax: value } } } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { fieldConfig+: { defaults+: { custom+: { axisSoftMin: value } } } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { fieldConfig+: { defaults+: { custom+: { axisWidth: value } } } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution: value } } } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: value } } } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { linearThreshold: value } } } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { log: value } } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { fieldConfig+: { defaults+: { custom+: { scaleDistribution+: { type: value } } } } }, - }, - '#withBarAlignment': { 'function': { args: [{ default: null, enums: [-1, 0, 1], name: 'value', type: 'integer' }], help: 'TODO docs' } }, - withBarAlignment(value): { fieldConfig+: { defaults+: { custom+: { barAlignment: value } } } }, - '#withBarMaxWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarMaxWidth(value): { fieldConfig+: { defaults+: { custom+: { barMaxWidth: value } } } }, - '#withBarWidthFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withBarWidthFactor(value): { fieldConfig+: { defaults+: { custom+: { barWidthFactor: value } } } }, - '#withStacking': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStacking(value): { fieldConfig+: { defaults+: { custom+: { stacking: value } } } }, - '#withStackingMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withStackingMixin(value): { fieldConfig+: { defaults+: { custom+: { stacking+: value } } } }, - stacking+: - { - '#withGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withGroup(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { group: value } } } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['none', 'normal', 'percent'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { stacking+: { mode: value } } } } }, - }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { fieldConfig+: { defaults+: { custom+: { hideFrom: value } } } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { fieldConfig+: { defaults+: { custom+: { hideFrom+: value } } } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { legend: value } } } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { tooltip: value } } } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { fieldConfig+: { defaults+: { custom+: { hideFrom+: { viz: value } } } } }, - }, - '#withDrawStyle': { 'function': { args: [{ default: null, enums: ['line', 'bars', 'points'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withDrawStyle(value): { fieldConfig+: { defaults+: { custom+: { drawStyle: value } } } }, - '#withGradientMode': { 'function': { args: [{ default: null, enums: ['none', 'opacity', 'hue', 'scheme'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withGradientMode(value): { fieldConfig+: { defaults+: { custom+: { gradientMode: value } } } }, - '#withThresholdsStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyle(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle: value } } } }, - '#withThresholdsStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withThresholdsStyleMixin(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: value } } } }, - thresholdsStyle+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['off', 'line', 'dashed', 'area', 'line+area', 'dashed+area', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { fieldConfig+: { defaults+: { custom+: { thresholdsStyle+: { mode: value } } } } }, - }, - '#withTransform': { 'function': { args: [{ default: null, enums: ['constant', 'negative-Y'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withTransform(value): { fieldConfig+: { defaults+: { custom+: { transform: value } } } }, - }, - }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Identical to timeseries... except it does not have timezone settings' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Identical to timeseries... except it does not have timezone settings' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withXField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the x field to use (defaults to first number)' } }, - withXField(value): { options+: { xField: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'trend' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet deleted file mode 100644 index 28a6ed9b08..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/panel/xyChart.libsonnet +++ /dev/null @@ -1,488 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.panel.xyChart', name: 'xyChart' }, - '#withScatterFieldConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withScatterFieldConfig(value): { ScatterFieldConfig: value }, - '#withScatterFieldConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withScatterFieldConfigMixin(value): { ScatterFieldConfig+: value }, - ScatterFieldConfig+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { ScatterFieldConfig+: { hideFrom: value } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { ScatterFieldConfig+: { hideFrom+: value } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { ScatterFieldConfig+: { hideFrom+: { legend: value } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { ScatterFieldConfig+: { hideFrom+: { tooltip: value } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { ScatterFieldConfig+: { hideFrom+: { viz: value } } }, - }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { ScatterFieldConfig+: { axisCenteredZero: value } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { ScatterFieldConfig+: { axisColorMode: value } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { ScatterFieldConfig+: { axisGridShow: value } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { ScatterFieldConfig+: { axisLabel: value } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { ScatterFieldConfig+: { axisPlacement: value } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { ScatterFieldConfig+: { axisSoftMax: value } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { ScatterFieldConfig+: { axisSoftMin: value } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { ScatterFieldConfig+: { axisWidth: value } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { ScatterFieldConfig+: { scaleDistribution: value } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { ScatterFieldConfig+: { scaleDistribution+: value } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { ScatterFieldConfig+: { scaleDistribution+: { linearThreshold: value } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { ScatterFieldConfig+: { scaleDistribution+: { log: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { ScatterFieldConfig+: { scaleDistribution+: { type: value } } }, - }, - '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLabel(value): { ScatterFieldConfig+: { label: value } }, - '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValue(value): { ScatterFieldConfig+: { labelValue: value } }, - '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValueMixin(value): { ScatterFieldConfig+: { labelValue+: value } }, - labelValue+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterFieldConfig+: { labelValue+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterFieldConfig+: { labelValue+: { fixed: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { ScatterFieldConfig+: { labelValue+: { mode: value } } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColor(value): { ScatterFieldConfig+: { lineColor: value } }, - '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColorMixin(value): { ScatterFieldConfig+: { lineColor+: value } }, - lineColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterFieldConfig+: { lineColor+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterFieldConfig+: { lineColor+: { fixed: value } } }, - }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { ScatterFieldConfig+: { lineStyle: value } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { ScatterFieldConfig+: { lineStyle+: value } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { ScatterFieldConfig+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { ScatterFieldConfig+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { ScatterFieldConfig+: { lineStyle+: { fill: value } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value): { ScatterFieldConfig+: { lineWidth: value } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColor(value): { ScatterFieldConfig+: { pointColor: value } }, - '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColorMixin(value): { ScatterFieldConfig+: { pointColor+: value } }, - pointColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterFieldConfig+: { pointColor+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterFieldConfig+: { pointColor+: { fixed: value } } }, - }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSize(value): { ScatterFieldConfig+: { pointSize: value } }, - '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSizeMixin(value): { ScatterFieldConfig+: { pointSize+: value } }, - pointSize+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterFieldConfig+: { pointSize+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFixed(value): { ScatterFieldConfig+: { pointSize+: { fixed: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { ScatterFieldConfig+: { pointSize+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { ScatterFieldConfig+: { pointSize+: { min: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { ScatterFieldConfig+: { pointSize+: { mode: value } } }, - }, - '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, - withShow(value): { ScatterFieldConfig+: { show: value } }, - }, - '#withScatterSeriesConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withScatterSeriesConfig(value): { ScatterSeriesConfig: value }, - '#withScatterSeriesConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withScatterSeriesConfigMixin(value): { ScatterSeriesConfig+: value }, - ScatterSeriesConfig+: - { - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { ScatterSeriesConfig+: { hideFrom: value } }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { ScatterSeriesConfig+: { hideFrom+: value } }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { ScatterSeriesConfig+: { hideFrom+: { legend: value } } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { ScatterSeriesConfig+: { hideFrom+: { tooltip: value } } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { ScatterSeriesConfig+: { hideFrom+: { viz: value } } }, - }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { ScatterSeriesConfig+: { axisCenteredZero: value } }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { ScatterSeriesConfig+: { axisColorMode: value } }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { ScatterSeriesConfig+: { axisGridShow: value } }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { ScatterSeriesConfig+: { axisLabel: value } }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { ScatterSeriesConfig+: { axisPlacement: value } }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { ScatterSeriesConfig+: { axisSoftMax: value } }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { ScatterSeriesConfig+: { axisSoftMin: value } }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { ScatterSeriesConfig+: { axisWidth: value } }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { ScatterSeriesConfig+: { scaleDistribution: value } }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { ScatterSeriesConfig+: { scaleDistribution+: value } }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { ScatterSeriesConfig+: { scaleDistribution+: { linearThreshold: value } } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { ScatterSeriesConfig+: { scaleDistribution+: { log: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { ScatterSeriesConfig+: { scaleDistribution+: { type: value } } }, - }, - '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLabel(value): { ScatterSeriesConfig+: { label: value } }, - '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValue(value): { ScatterSeriesConfig+: { labelValue: value } }, - '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValueMixin(value): { ScatterSeriesConfig+: { labelValue+: value } }, - labelValue+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterSeriesConfig+: { labelValue+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterSeriesConfig+: { labelValue+: { fixed: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { ScatterSeriesConfig+: { labelValue+: { mode: value } } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColor(value): { ScatterSeriesConfig+: { lineColor: value } }, - '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColorMixin(value): { ScatterSeriesConfig+: { lineColor+: value } }, - lineColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterSeriesConfig+: { lineColor+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterSeriesConfig+: { lineColor+: { fixed: value } } }, - }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { ScatterSeriesConfig+: { lineStyle: value } }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { ScatterSeriesConfig+: { lineStyle+: value } }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { ScatterSeriesConfig+: { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { ScatterSeriesConfig+: { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { ScatterSeriesConfig+: { lineStyle+: { fill: value } } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value): { ScatterSeriesConfig+: { lineWidth: value } }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColor(value): { ScatterSeriesConfig+: { pointColor: value } }, - '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColorMixin(value): { ScatterSeriesConfig+: { pointColor+: value } }, - pointColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterSeriesConfig+: { pointColor+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { ScatterSeriesConfig+: { pointColor+: { fixed: value } } }, - }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSize(value): { ScatterSeriesConfig+: { pointSize: value } }, - '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSizeMixin(value): { ScatterSeriesConfig+: { pointSize+: value } }, - pointSize+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { ScatterSeriesConfig+: { pointSize+: { field: value } } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFixed(value): { ScatterSeriesConfig+: { pointSize+: { fixed: value } } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { ScatterSeriesConfig+: { pointSize+: { max: value } } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { ScatterSeriesConfig+: { pointSize+: { min: value } } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { ScatterSeriesConfig+: { pointSize+: { mode: value } } }, - }, - '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, - withShow(value): { ScatterSeriesConfig+: { show: value } }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { ScatterSeriesConfig+: { name: value } }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { ScatterSeriesConfig+: { x: value } }, - '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withY(value): { ScatterSeriesConfig+: { y: value } }, - }, - '#withScatterShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, - withScatterShow(value): { ScatterShow: value }, - '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, - withSeriesMapping(value): { SeriesMapping: value }, - '#withXYDimensionConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXYDimensionConfig(value): { XYDimensionConfig: value }, - '#withXYDimensionConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withXYDimensionConfigMixin(value): { XYDimensionConfig+: value }, - XYDimensionConfig+: - { - '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExclude(value): { XYDimensionConfig+: { exclude: (if std.isArray(value) - then value - else [value]) } }, - '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExcludeMixin(value): { XYDimensionConfig+: { exclude+: (if std.isArray(value) - then value - else [value]) } }, - '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFrame(value): { XYDimensionConfig+: { frame: value } }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { XYDimensionConfig+: { x: value } }, - }, - '#withOptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptions(value): { options: value }, - '#withOptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOptionsMixin(value): { options+: value }, - options+: - { - '#withLegend': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegend(value): { options+: { legend: value } }, - '#withLegendMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLegendMixin(value): { options+: { legend+: value } }, - legend+: - { - '#withAsTable': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAsTable(value=true): { options+: { legend+: { asTable: value } } }, - '#withCalcs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcs(value): { options+: { legend+: { calcs: (if std.isArray(value) - then value - else [value]) } } }, - '#withCalcsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCalcsMixin(value): { options+: { legend+: { calcs+: (if std.isArray(value) - then value - else [value]) } } }, - '#withDisplayMode': { 'function': { args: [{ default: null, enums: ['list', 'table', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs\nNote: "hidden" needs to remain as an option for plugins compatibility' } }, - withDisplayMode(value): { options+: { legend+: { displayMode: value } } }, - '#withIsVisible': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withIsVisible(value=true): { options+: { legend+: { isVisible: value } } }, - '#withPlacement': { 'function': { args: [{ default: null, enums: ['bottom', 'right'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withPlacement(value): { options+: { legend+: { placement: value } } }, - '#withShowLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withShowLegend(value=true): { options+: { legend+: { showLegend: value } } }, - '#withSortBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSortBy(value): { options+: { legend+: { sortBy: value } } }, - '#withSortDesc': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withSortDesc(value=true): { options+: { legend+: { sortDesc: value } } }, - '#withWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withWidth(value): { options+: { legend+: { width: value } } }, - }, - '#withTooltip': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltip(value): { options+: { tooltip: value } }, - '#withTooltipMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withTooltipMixin(value): { options+: { tooltip+: value } }, - tooltip+: - { - '#withMode': { 'function': { args: [{ default: null, enums: ['single', 'multi', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withMode(value): { options+: { tooltip+: { mode: value } } }, - '#withSort': { 'function': { args: [{ default: null, enums: ['asc', 'desc', 'none'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withSort(value): { options+: { tooltip+: { sort: value } } }, - }, - '#withDims': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDims(value): { options+: { dims: value } }, - '#withDimsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withDimsMixin(value): { options+: { dims+: value } }, - dims+: - { - '#withExclude': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExclude(value): { options+: { dims+: { exclude: (if std.isArray(value) - then value - else [value]) } } }, - '#withExcludeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExcludeMixin(value): { options+: { dims+: { exclude+: (if std.isArray(value) - then value - else [value]) } } }, - '#withFrame': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withFrame(value): { options+: { dims+: { frame: value } } }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { options+: { dims+: { x: value } } }, - }, - '#withSeries': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withSeries(value): { options+: { series: (if std.isArray(value) - then value - else [value]) } }, - '#withSeriesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withSeriesMixin(value): { options+: { series+: (if std.isArray(value) - then value - else [value]) } }, - series+: - { - '#': { help: '', name: 'series' }, - '#withHideFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFrom(value): { hideFrom: value }, - '#withHideFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withHideFromMixin(value): { hideFrom+: value }, - hideFrom+: - { - '#withLegend': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLegend(value=true): { hideFrom+: { legend: value } }, - '#withTooltip': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withTooltip(value=true): { hideFrom+: { tooltip: value } }, - '#withViz': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withViz(value=true): { hideFrom+: { viz: value } }, - }, - '#withAxisCenteredZero': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisCenteredZero(value=true): { axisCenteredZero: value }, - '#withAxisColorMode': { 'function': { args: [{ default: null, enums: ['text', 'series'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisColorMode(value): { axisColorMode: value }, - '#withAxisGridShow': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withAxisGridShow(value=true): { axisGridShow: value }, - '#withAxisLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAxisLabel(value): { axisLabel: value }, - '#withAxisPlacement': { 'function': { args: [{ default: null, enums: ['auto', 'top', 'right', 'bottom', 'left', 'hidden'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withAxisPlacement(value): { axisPlacement: value }, - '#withAxisSoftMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMax(value): { axisSoftMax: value }, - '#withAxisSoftMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisSoftMin(value): { axisSoftMin: value }, - '#withAxisWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withAxisWidth(value): { axisWidth: value }, - '#withScaleDistribution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistribution(value): { scaleDistribution: value }, - '#withScaleDistributionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withScaleDistributionMixin(value): { scaleDistribution+: value }, - scaleDistribution+: - { - '#withLinearThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLinearThreshold(value): { scaleDistribution+: { linearThreshold: value } }, - '#withLog': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withLog(value): { scaleDistribution+: { log: value } }, - '#withType': { 'function': { args: [{ default: null, enums: ['linear', 'log', 'ordinal', 'symlog'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withType(value): { scaleDistribution+: { type: value } }, - }, - '#withLabel': { 'function': { args: [{ default: null, enums: ['auto', 'never', 'always'], name: 'value', type: 'string' }], help: 'TODO docs' } }, - withLabel(value): { label: value }, - '#withLabelValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValue(value): { labelValue: value }, - '#withLabelValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLabelValueMixin(value): { labelValue+: value }, - labelValue+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { labelValue+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { labelValue+: { fixed: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['fixed', 'field', 'template'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { labelValue+: { mode: value } }, - }, - '#withLineColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColor(value): { lineColor: value }, - '#withLineColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withLineColorMixin(value): { lineColor+: value }, - lineColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { lineColor+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { lineColor+: { fixed: value } }, - }, - '#withLineStyle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyle(value): { lineStyle: value }, - '#withLineStyleMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'TODO docs' } }, - withLineStyleMixin(value): { lineStyle+: value }, - lineStyle+: - { - '#withDash': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDash(value): { lineStyle+: { dash: (if std.isArray(value) - then value - else [value]) } }, - '#withDashMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withDashMixin(value): { lineStyle+: { dash+: (if std.isArray(value) - then value - else [value]) } }, - '#withFill': { 'function': { args: [{ default: null, enums: ['solid', 'dash', 'dot', 'square'], name: 'value', type: 'string' }], help: '' } }, - withFill(value): { lineStyle+: { fill: value } }, - }, - '#withLineWidth': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLineWidth(value): { lineWidth: value }, - '#withPointColor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColor(value): { pointColor: value }, - '#withPointColorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointColorMixin(value): { pointColor+: value }, - pointColor+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { pointColor+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFixed(value): { pointColor+: { fixed: value } }, - }, - '#withPointSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSize(value): { pointSize: value }, - '#withPointSizeMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPointSizeMixin(value): { pointSize+: value }, - pointSize+: - { - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'fixed: T -- will be added by each element' } }, - withField(value): { pointSize+: { field: value } }, - '#withFixed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withFixed(value): { pointSize+: { fixed: value } }, - '#withMax': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMax(value): { pointSize+: { max: value } }, - '#withMin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withMin(value): { pointSize+: { min: value } }, - '#withMode': { 'function': { args: [{ default: null, enums: ['linear', 'quad'], name: 'value', type: 'string' }], help: '' } }, - withMode(value): { pointSize+: { mode: value } }, - }, - '#withShow': { 'function': { args: [{ default: null, enums: ['points', 'lines', 'points+lines'], name: 'value', type: 'string' }], help: '' } }, - withShow(value): { show: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withX': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withX(value): { x: value }, - '#withY': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withY(value): { y: value }, - }, - '#withSeriesMapping': { 'function': { args: [{ default: null, enums: ['auto', 'manual'], name: 'value', type: 'string' }], help: '' } }, - withSeriesMapping(value): { options+: { seriesMapping: value } }, - }, - '#withType': { 'function': { args: [], help: '' } }, - withType(): { type: 'xychart' }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet deleted file mode 100644 index b0a8ececaa..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/playlist.libsonnet +++ /dev/null @@ -1,28 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.playlist', name: 'playlist' }, - '#withInterval': { 'function': { args: [{ default: '5m', enums: null, name: 'value', type: 'string' }], help: 'Interval sets the time between switching views in a playlist.\nFIXME: Is this based on a standardized format or what options are available? Can datemath be used?' } }, - withInterval(value='5m'): { interval: value }, - '#withItems': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The ordered list of items that the playlist will iterate over.\nFIXME! This should not be optional, but changing it makes the godegen awkward' } }, - withItems(value): { items: (if std.isArray(value) - then value - else [value]) }, - '#withItemsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'The ordered list of items that the playlist will iterate over.\nFIXME! This should not be optional, but changing it makes the godegen awkward' } }, - withItemsMixin(value): { items+: (if std.isArray(value) - then value - else [value]) }, - items+: - { - '#': { help: '', name: 'items' }, - '#withTitle': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Title is an unused property -- it will be removed in the future' } }, - withTitle(value): { title: value }, - '#withType': { 'function': { args: [{ default: null, enums: ['dashboard_by_uid', 'dashboard_by_id', 'dashboard_by_tag'], name: 'value', type: 'string' }], help: 'Type of the item.' } }, - withType(value): { type: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Value depends on type and describes the playlist item.\n\n - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This\n is not portable as the numerical identifier is non-deterministic between different instances.\n Will be replaced by dashboard_by_uid in the future. (deprecated)\n - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All\n dashboards behind the tag will be added to the playlist.\n - dashboard_by_uid: The value is the dashboard UID' } }, - withValue(value): { value: value }, - }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the playlist.' } }, - withName(value): { name: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique playlist identifier. Generated on creation, either by the\ncreator of the playlist of by the application.' } }, - withUid(value): { uid: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet deleted file mode 100644 index 5aeea39205..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/preferences.libsonnet +++ /dev/null @@ -1,23 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.preferences', name: 'preferences' }, - '#withHomeDashboardUID': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'UID for the home dashboard' } }, - withHomeDashboardUID(value): { homeDashboardUID: value }, - '#withLanguage': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Selected language (beta)' } }, - withLanguage(value): { language: value }, - '#withQueryHistory': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryHistory(value): { queryHistory: value }, - '#withQueryHistoryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryHistoryMixin(value): { queryHistory+: value }, - queryHistory+: - { - '#withHomeTab': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "one of: '' | 'query' | 'starred';" } }, - withHomeTab(value): { queryHistory+: { homeTab: value } }, - }, - '#withTheme': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'light, dark, empty is default' } }, - withTheme(value): { theme: value }, - '#withTimezone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The timezone selection\nTODO: this should use the timezone defined in common' } }, - withTimezone(value): { timezone: value }, - '#withWeekStart': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'day of the week (sunday, monday, etc)' } }, - withWeekStart(value): { weekStart: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet deleted file mode 100644 index 4e3e1b683b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/publicdashboard.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.publicdashboard', name: 'publicdashboard' }, - '#withAccessToken': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique public access token' } }, - withAccessToken(value): { accessToken: value }, - '#withAnnotationsEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if annotations are enabled' } }, - withAnnotationsEnabled(value=true): { annotationsEnabled: value }, - '#withDashboardUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Dashboard unique identifier referenced by this public dashboard' } }, - withDashboardUid(value): { dashboardUid: value }, - '#withIsEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if the public dashboard is enabled' } }, - withIsEnabled(value=true): { isEnabled: value }, - '#withTimeSelectionEnabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Flag that indicates if the time range picker is enabled' } }, - withTimeSelectionEnabled(value=true): { timeSelectionEnabled: value }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Unique public dashboard identifier' } }, - withUid(value): { uid: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet deleted file mode 100644 index e6c1982259..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/azureMonitor.libsonnet +++ /dev/null @@ -1,363 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.azureMonitor', name: 'azureMonitor' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withAzureLogAnalytics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Azure Monitor Logs sub-query properties' } }, - withAzureLogAnalytics(value): { azureLogAnalytics: value }, - '#withAzureLogAnalyticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Azure Monitor Logs sub-query properties' } }, - withAzureLogAnalyticsMixin(value): { azureLogAnalytics+: value }, - azureLogAnalytics+: - { - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'KQL query to be executed.' } }, - withQuery(value): { azureLogAnalytics+: { query: value } }, - '#withResource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, - withResource(value): { azureLogAnalytics+: { resource: value } }, - '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResources(value): { azureLogAnalytics+: { resources: (if std.isArray(value) - then value - else [value]) } }, - '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResourcesMixin(value): { azureLogAnalytics+: { resources+: (if std.isArray(value) - then value - else [value]) } }, - '#withResultFormat': { 'function': { args: [{ default: null, enums: ['table', 'time_series', 'trace'], name: 'value', type: 'string' }], help: '' } }, - withResultFormat(value): { azureLogAnalytics+: { resultFormat: value } }, - '#withWorkspace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Workspace ID. This was removed in Grafana 8, but remains for backwards compat' } }, - withWorkspace(value): { azureLogAnalytics+: { workspace: value } }, - }, - '#withAzureMonitor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAzureMonitor(value): { azureMonitor: value }, - '#withAzureMonitorMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAzureMonitorMixin(value): { azureMonitor+: value }, - azureMonitor+: - { - '#withAggregation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric.' } }, - withAggregation(value): { azureMonitor+: { aggregation: value } }, - '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail.' } }, - withAlias(value): { azureMonitor+: { alias: value } }, - '#withAllowedTimeGrainsMs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Time grains that are supported by the metric.' } }, - withAllowedTimeGrainsMs(value): { azureMonitor+: { allowedTimeGrainsMs: (if std.isArray(value) - then value - else [value]) } }, - '#withAllowedTimeGrainsMsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Time grains that are supported by the metric.' } }, - withAllowedTimeGrainsMsMixin(value): { azureMonitor+: { allowedTimeGrainsMs+: (if std.isArray(value) - then value - else [value]) } }, - '#withCustomNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "Used as the value for the metricNamespace property when it's different from the resource namespace." } }, - withCustomNamespace(value): { azureMonitor+: { customNamespace: value } }, - '#withDimension': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration' } }, - withDimension(value): { azureMonitor+: { dimension: value } }, - '#withDimensionFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated This property was migrated to dimensionFilters and should only be accessed in the migration' } }, - withDimensionFilter(value): { azureMonitor+: { dimensionFilter: value } }, - '#withDimensionFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.' } }, - withDimensionFilters(value): { azureMonitor+: { dimensionFilters: (if std.isArray(value) - then value - else [value]) } }, - '#withDimensionFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.' } }, - withDimensionFiltersMixin(value): { azureMonitor+: { dimensionFilters+: (if std.isArray(value) - then value - else [value]) } }, - dimensionFilters+: - { - '#': { help: '', name: 'dimensionFilters' }, - '#withDimension': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of Dimension to be filtered on.' } }, - withDimension(value): { dimension: value }, - '#withFilter': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated filter is deprecated in favour of filters to support multiselect.' } }, - withFilter(value): { filter: value }, - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to match with the filter.' } }, - withFilters(value): { filters: (if std.isArray(value) - then value - else [value]) }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to match with the filter.' } }, - withFiltersMixin(value): { filters+: (if std.isArray(value) - then value - else [value]) }, - '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators." } }, - withOperator(value): { operator: value }, - }, - '#withMetricDefinition': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use metricNamespace instead' } }, - withMetricDefinition(value): { azureMonitor+: { metricDefinition: value } }, - '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The metric to query data for within the specified metricNamespace. e.g. UsedCapacity' } }, - withMetricName(value): { azureMonitor+: { metricName: value } }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "metricNamespace is used as the resource type (or resource namespace).\nIt's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts\nKept the name of the variable as metricNamespace to avoid backward incompatibility issues." } }, - withMetricNamespace(value): { azureMonitor+: { metricNamespace: value } }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The Azure region containing the resource(s).' } }, - withRegion(value): { azureMonitor+: { region: value } }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, - withResourceGroup(value): { azureMonitor+: { resourceGroup: value } }, - '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resources instead' } }, - withResourceName(value): { azureMonitor+: { resourceName: value } }, - '#withResourceUri': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated Use resourceGroup, resourceName and metricNamespace instead' } }, - withResourceUri(value): { azureMonitor+: { resourceUri: value } }, - '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResources(value): { azureMonitor+: { resources: (if std.isArray(value) - then value - else [value]) } }, - '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResourcesMixin(value): { azureMonitor+: { resources+: (if std.isArray(value) - then value - else [value]) } }, - resources+: - { - '#': { help: '', name: 'resources' }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricNamespace(value): { metricNamespace: value }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRegion(value): { region: value }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceGroup(value): { resourceGroup: value }, - '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceName(value): { resourceName: value }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { subscription: value }, - }, - '#withTimeGrain': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The granularity of data points to be queried. Defaults to auto.' } }, - withTimeGrain(value): { azureMonitor+: { timeGrain: value } }, - '#withTimeGrainUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '@deprecated' } }, - withTimeGrainUnit(value): { azureMonitor+: { timeGrainUnit: value } }, - '#withTop': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Maximum number of records to return. Defaults to 10.' } }, - withTop(value): { azureMonitor+: { top: value } }, - }, - '#withAzureResourceGraph': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAzureResourceGraph(value): { azureResourceGraph: value }, - '#withAzureResourceGraphMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAzureResourceGraphMixin(value): { azureResourceGraph+: value }, - azureResourceGraph+: - { - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure Resource Graph KQL query to be executed.' } }, - withQuery(value): { azureResourceGraph+: { query: value } }, - '#withResultFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the format results should be returned as. Defaults to table.' } }, - withResultFormat(value): { azureResourceGraph+: { resultFormat: value } }, - }, - '#withAzureTraces': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Application Insights Traces sub-query properties' } }, - withAzureTraces(value): { azureTraces: value }, - '#withAzureTracesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'Application Insights Traces sub-query properties' } }, - withAzureTracesMixin(value): { azureTraces+: value }, - azureTraces+: - { - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters for property values.' } }, - withFilters(value): { azureTraces+: { filters: (if std.isArray(value) - then value - else [value]) } }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Filters for property values.' } }, - withFiltersMixin(value): { azureTraces+: { filters+: (if std.isArray(value) - then value - else [value]) } }, - filters+: - { - '#': { help: '', name: 'filters' }, - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to filter by.' } }, - withFilters(value): { filters: (if std.isArray(value) - then value - else [value]) }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Values to filter by.' } }, - withFiltersMixin(value): { filters+: (if std.isArray(value) - then value - else [value]) }, - '#withOperation': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Comparison operator to use. Either equals or not equals.' } }, - withOperation(value): { operation: value }, - '#withProperty': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Property name, auto-populated based on available traces.' } }, - withProperty(value): { property: value }, - }, - '#withOperationId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Operation ID. Used only for Traces queries.' } }, - withOperationId(value): { azureTraces+: { operationId: value } }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'KQL query to be executed.' } }, - withQuery(value): { azureTraces+: { query: value } }, - '#withResources': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResources(value): { azureTraces+: { resources: (if std.isArray(value) - then value - else [value]) } }, - '#withResourcesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Array of resource URIs to be queried.' } }, - withResourcesMixin(value): { azureTraces+: { resources+: (if std.isArray(value) - then value - else [value]) } }, - '#withResultFormat': { 'function': { args: [{ default: null, enums: ['table', 'time_series', 'trace'], name: 'value', type: 'string' }], help: '' } }, - withResultFormat(value): { azureTraces+: { resultFormat: value } }, - '#withTraceTypes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Types of events to filter by.' } }, - withTraceTypes(value): { azureTraces+: { traceTypes: (if std.isArray(value) - then value - else [value]) } }, - '#withTraceTypesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Types of events to filter by.' } }, - withTraceTypesMixin(value): { azureTraces+: { traceTypes+: (if std.isArray(value) - then value - else [value]) } }, - }, - '#withGrafanaTemplateVariableFn': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGrafanaTemplateVariableFn(value): { grafanaTemplateVariableFn: value }, - '#withGrafanaTemplateVariableFnMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGrafanaTemplateVariableFnMixin(value): { grafanaTemplateVariableFn+: value }, - grafanaTemplateVariableFn+: - { - '#withAppInsightsMetricNameQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAppInsightsMetricNameQuery(value): { grafanaTemplateVariableFn+: { AppInsightsMetricNameQuery: value } }, - '#withAppInsightsMetricNameQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAppInsightsMetricNameQueryMixin(value): { grafanaTemplateVariableFn+: { AppInsightsMetricNameQuery+: value } }, - AppInsightsMetricNameQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['AppInsightsMetricNameQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - }, - '#withAppInsightsGroupByQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAppInsightsGroupByQuery(value): { grafanaTemplateVariableFn+: { AppInsightsGroupByQuery: value } }, - '#withAppInsightsGroupByQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withAppInsightsGroupByQueryMixin(value): { grafanaTemplateVariableFn+: { AppInsightsGroupByQuery+: value } }, - AppInsightsGroupByQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['AppInsightsGroupByQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricName(value): { grafanaTemplateVariableFn+: { metricName: value } }, - }, - '#withSubscriptionsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSubscriptionsQuery(value): { grafanaTemplateVariableFn+: { SubscriptionsQuery: value } }, - '#withSubscriptionsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSubscriptionsQueryMixin(value): { grafanaTemplateVariableFn+: { SubscriptionsQuery+: value } }, - SubscriptionsQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['SubscriptionsQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - }, - '#withResourceGroupsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withResourceGroupsQuery(value): { grafanaTemplateVariableFn+: { ResourceGroupsQuery: value } }, - '#withResourceGroupsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withResourceGroupsQueryMixin(value): { grafanaTemplateVariableFn+: { ResourceGroupsQuery+: value } }, - ResourceGroupsQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['ResourceGroupsQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withResourceNamesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withResourceNamesQuery(value): { grafanaTemplateVariableFn+: { ResourceNamesQuery: value } }, - '#withResourceNamesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withResourceNamesQueryMixin(value): { grafanaTemplateVariableFn+: { ResourceNamesQuery+: value } }, - ResourceNamesQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['ResourceNamesQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withMetricNamespaceQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetricNamespaceQuery(value): { grafanaTemplateVariableFn+: { MetricNamespaceQuery: value } }, - '#withMetricNamespaceQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetricNamespaceQueryMixin(value): { grafanaTemplateVariableFn+: { MetricNamespaceQuery+: value } }, - MetricNamespaceQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['MetricNamespaceQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, - '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withMetricDefinitionsQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '@deprecated Use MetricNamespaceQuery instead' } }, - withMetricDefinitionsQuery(value): { grafanaTemplateVariableFn+: { MetricDefinitionsQuery: value } }, - '#withMetricDefinitionsQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '@deprecated Use MetricNamespaceQuery instead' } }, - withMetricDefinitionsQueryMixin(value): { grafanaTemplateVariableFn+: { MetricDefinitionsQuery+: value } }, - MetricDefinitionsQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['MetricDefinitionsQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, - '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withMetricNamesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetricNamesQuery(value): { grafanaTemplateVariableFn+: { MetricNamesQuery: value } }, - '#withMetricNamesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetricNamesQueryMixin(value): { grafanaTemplateVariableFn+: { MetricNamesQuery+: value } }, - MetricNamesQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['MetricNamesQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withMetricNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMetricNamespace(value): { grafanaTemplateVariableFn+: { metricNamespace: value } }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceGroup(value): { grafanaTemplateVariableFn+: { resourceGroup: value } }, - '#withResourceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResourceName(value): { grafanaTemplateVariableFn+: { resourceName: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withWorkspacesQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withWorkspacesQuery(value): { grafanaTemplateVariableFn+: { WorkspacesQuery: value } }, - '#withWorkspacesQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withWorkspacesQueryMixin(value): { grafanaTemplateVariableFn+: { WorkspacesQuery+: value } }, - WorkspacesQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['WorkspacesQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSubscription(value): { grafanaTemplateVariableFn+: { subscription: value } }, - }, - '#withUnknownQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnknownQuery(value): { grafanaTemplateVariableFn+: { UnknownQuery: value } }, - '#withUnknownQueryMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUnknownQueryMixin(value): { grafanaTemplateVariableFn+: { UnknownQuery+: value } }, - UnknownQuery+: - { - '#withRawQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawQuery(value): { grafanaTemplateVariableFn+: { rawQuery: value } }, - '#withKind': { 'function': { args: [{ default: null, enums: ['UnknownQuery'], name: 'value', type: 'string' }], help: '' } }, - withKind(value): { grafanaTemplateVariableFn+: { kind: value } }, - }, - }, - '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withNamespace(value): { namespace: value }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure Monitor query type.\nqueryType: #AzureQueryType' } }, - withRegion(value): { region: value }, - '#withResource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withResource(value): { resource: value }, - '#withResourceGroup': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Template variables params. These exist for backwards compatiblity with legacy template variables.' } }, - withResourceGroup(value): { resourceGroup: value }, - '#withSubscription': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Azure subscription containing the resource(s) to be queried.' } }, - withSubscription(value): { subscription: value }, - '#withSubscriptions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Subscriptions to be queried via Azure Resource Graph.' } }, - withSubscriptions(value): { subscriptions: (if std.isArray(value) - then value - else [value]) }, - '#withSubscriptionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Subscriptions to be queried via Azure Resource Graph.' } }, - withSubscriptionsMixin(value): { subscriptions+: (if std.isArray(value) - then value - else [value]) }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet deleted file mode 100644 index ad5e4b5781..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/cloudWatch.libsonnet +++ /dev/null @@ -1,310 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.cloudWatch', name: 'cloudWatch' }, - CloudWatchAnnotationQuery+: - { - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.' } }, - withAccountId(value): { accountId: value }, - '#withDimensions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, - withDimensions(value): { dimensions: value }, - '#withDimensionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, - withDimensionsMixin(value): { dimensions+: value }, - '#withMatchExact': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only show metrics that exactly match all defined dimension names.' } }, - withMatchExact(value=true): { matchExact: value }, - '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the metric' } }, - withMetricName(value): { metricName: value }, - '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.' } }, - withNamespace(value): { namespace: value }, - '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes" } }, - withPeriod(value): { period: value }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the metric' } }, - withRegion(value): { region: value }, - '#withStatistic': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.' } }, - withStatistic(value): { statistic: value }, - '#withStatistics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, - withStatistics(value): { statistics: (if std.isArray(value) - then value - else [value]) }, - '#withStatisticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, - withStatisticsMixin(value): { statistics+: (if std.isArray(value) - then value - else [value]) }, - '#withActionPrefix': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Use this parameter to filter the results of the operation to only those alarms\nthat use a certain alarm action. For example, you could specify the ARN of\nan SNS topic to find all alarms that send notifications to that topic.\ne.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action`\nbut not match `arn:aws:sns:us-east-1:123456789012:your-app-action`' } }, - withActionPrefix(value): { actionPrefix: value }, - '#withAlarmNamePrefix': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'An alarm name prefix. If you specify this parameter, you receive information\nabout all alarms that have names that start with this prefix.\ne.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu`' } }, - withAlarmNamePrefix(value): { alarmNamePrefix: value }, - '#withPrefixMatching': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix' } }, - withPrefixMatching(value=true): { prefixMatching: value }, - '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, - withQueryMode(value): { queryMode: value }, - }, - CloudWatchLogsQuery+: - { - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The CloudWatch Logs Insights query to execute' } }, - withExpression(value): { expression: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withLogGroupNames': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use logGroups' } }, - withLogGroupNames(value): { logGroupNames: (if std.isArray(value) - then value - else [value]) }, - '#withLogGroupNamesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use logGroups' } }, - withLogGroupNamesMixin(value): { logGroupNames+: (if std.isArray(value) - then value - else [value]) }, - '#withLogGroups': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Log groups to query' } }, - withLogGroups(value): { logGroups: (if std.isArray(value) - then value - else [value]) }, - '#withLogGroupsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Log groups to query' } }, - withLogGroupsMixin(value): { logGroups+: (if std.isArray(value) - then value - else [value]) }, - logGroups+: - { - '#': { help: '', name: 'logGroups' }, - '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AccountId of the log group' } }, - withAccountId(value): { accountId: value }, - '#withAccountLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Label of the log group' } }, - withAccountLabel(value): { accountLabel: value }, - '#withArn': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'ARN of the log group' } }, - withArn(value): { arn: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the log group' } }, - withName(value): { name: value }, - }, - '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, - withQueryMode(value): { queryMode: value }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the logs' } }, - withRegion(value): { region: value }, - '#withStatsGroups': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Fields to group the results by, this field is automatically populated whenever the query is updated' } }, - withStatsGroups(value): { statsGroups: (if std.isArray(value) - then value - else [value]) }, - '#withStatsGroupsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Fields to group the results by, this field is automatically populated whenever the query is updated' } }, - withStatsGroupsMixin(value): { statsGroups+: (if std.isArray(value) - then value - else [value]) }, - }, - CloudWatchMetricsQuery+: - { - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withAccountId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.' } }, - withAccountId(value): { accountId: value }, - '#withDimensions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, - withDimensions(value): { dimensions: value }, - '#withDimensionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.' } }, - withDimensionsMixin(value): { dimensions+: value }, - '#withMatchExact': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Only show metrics that exactly match all defined dimension names.' } }, - withMatchExact(value=true): { matchExact: value }, - '#withMetricName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the metric' } }, - withMetricName(value): { metricName: value }, - '#withNamespace': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.' } }, - withNamespace(value): { namespace: value }, - '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes" } }, - withPeriod(value): { period: value }, - '#withRegion': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'AWS region to query for the metric' } }, - withRegion(value): { region: value }, - '#withStatistic': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.' } }, - withStatistic(value): { statistic: value }, - '#withStatistics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, - withStatistics(value): { statistics: (if std.isArray(value) - then value - else [value]) }, - '#withStatisticsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '@deprecated use statistic' } }, - withStatisticsMixin(value): { statistics+: (if std.isArray(value) - then value - else [value]) }, - '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Deprecated: use label\n@deprecated use label' } }, - withAlias(value): { alias: value }, - '#withExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Math expression query' } }, - withExpression(value): { expression: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter.' } }, - withId(value): { id: value }, - '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details.' } }, - withLabel(value): { label: value }, - '#withMetricEditorMode': { 'function': { args: [{ default: null, enums: [0, 1], name: 'value', type: 'integer' }], help: '' } }, - withMetricEditorMode(value): { metricEditorMode: value }, - '#withMetricQueryType': { 'function': { args: [{ default: null, enums: [0, 1], name: 'value', type: 'integer' }], help: '' } }, - withMetricQueryType(value): { metricQueryType: value }, - '#withQueryMode': { 'function': { args: [{ default: null, enums: ['Metrics', 'Logs', 'Annotations'], name: 'value', type: 'string' }], help: '' } }, - withQueryMode(value): { queryMode: value }, - '#withSql': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSql(value): { sql: value }, - '#withSqlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSqlMixin(value): { sql+: value }, - sql+: - { - '#withFrom': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'FROM part of the SQL expression' } }, - withFrom(value): { sql+: { from: value } }, - '#withFromMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'FROM part of the SQL expression' } }, - withFromMixin(value): { sql+: { from+: value } }, - from+: - { - '#withQueryEditorPropertyExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryEditorPropertyExpression(value): { sql+: { from+: { QueryEditorPropertyExpression: value } } }, - '#withQueryEditorPropertyExpressionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryEditorPropertyExpressionMixin(value): { sql+: { from+: { QueryEditorPropertyExpression+: value } } }, - QueryEditorPropertyExpression+: - { - '#withProperty': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withProperty(value): { sql+: { from+: { property: value } } }, - '#withPropertyMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPropertyMixin(value): { sql+: { from+: { property+: value } } }, - property+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { sql+: { from+: { property+: { name: value } } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['string'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { from+: { property+: { type: value } } } }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { from+: { type: value } } }, - }, - '#withQueryEditorFunctionExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryEditorFunctionExpression(value): { sql+: { from+: { QueryEditorFunctionExpression: value } } }, - '#withQueryEditorFunctionExpressionMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withQueryEditorFunctionExpressionMixin(value): { sql+: { from+: { QueryEditorFunctionExpression+: value } } }, - QueryEditorFunctionExpression+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { sql+: { from+: { name: value } } }, - '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParameters(value): { sql+: { from+: { parameters: (if std.isArray(value) - then value - else [value]) } } }, - '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParametersMixin(value): { sql+: { from+: { parameters+: (if std.isArray(value) - then value - else [value]) } } }, - parameters+: - { - '#': { help: '', name: 'parameters' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { from+: { type: value } } }, - }, - }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGroupBy(value): { sql+: { groupBy: value } }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withGroupByMixin(value): { sql+: { groupBy+: value } }, - groupBy+: - { - '#withExpressions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExpressions(value): { sql+: { groupBy+: { expressions: (if std.isArray(value) - then value - else [value]) } } }, - '#withExpressionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExpressionsMixin(value): { sql+: { groupBy+: { expressions+: (if std.isArray(value) - then value - else [value]) } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['and', 'or'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { groupBy+: { type: value } } }, - }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'LIMIT part of the SQL expression' } }, - withLimit(value): { sql+: { limit: value } }, - '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOrderBy(value): { sql+: { orderBy: value } }, - '#withOrderByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withOrderByMixin(value): { sql+: { orderBy+: value } }, - orderBy+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { sql+: { orderBy+: { name: value } } }, - '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParameters(value): { sql+: { orderBy+: { parameters: (if std.isArray(value) - then value - else [value]) } } }, - '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParametersMixin(value): { sql+: { orderBy+: { parameters+: (if std.isArray(value) - then value - else [value]) } } }, - parameters+: - { - '#': { help: '', name: 'parameters' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { orderBy+: { type: value } } }, - }, - '#withOrderByDirection': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The sort order of the SQL expression, `ASC` or `DESC`' } }, - withOrderByDirection(value): { sql+: { orderByDirection: value } }, - '#withSelect': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSelect(value): { sql+: { select: value } }, - '#withSelectMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSelectMixin(value): { sql+: { select+: value } }, - select+: - { - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { sql+: { select+: { name: value } } }, - '#withParameters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParameters(value): { sql+: { select+: { parameters: (if std.isArray(value) - then value - else [value]) } } }, - '#withParametersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withParametersMixin(value): { sql+: { select+: { parameters+: (if std.isArray(value) - then value - else [value]) } } }, - parameters+: - { - '#': { help: '', name: 'parameters' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { select+: { type: value } } }, - }, - '#withWhere': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withWhere(value): { sql+: { where: value } }, - '#withWhereMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withWhereMixin(value): { sql+: { where+: value } }, - where+: - { - '#withExpressions': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExpressions(value): { sql+: { where+: { expressions: (if std.isArray(value) - then value - else [value]) } } }, - '#withExpressionsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withExpressionsMixin(value): { sql+: { where+: { expressions+: (if std.isArray(value) - then value - else [value]) } } }, - '#withType': { 'function': { args: [{ default: null, enums: ['and', 'or'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { sql+: { where+: { type: value } } }, - }, - }, - '#withSqlExpression': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string.' } }, - withSqlExpression(value): { sqlExpression: value }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet deleted file mode 100644 index b94b2a3178..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/elasticsearch.libsonnet +++ /dev/null @@ -1,763 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.elasticsearch', name: 'elasticsearch' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Alias pattern' } }, - withAlias(value): { alias: value }, - '#withBucketAggs': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of bucket aggregations' } }, - withBucketAggs(value): { bucketAggs: (if std.isArray(value) - then value - else [value]) }, - '#withBucketAggsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of bucket aggregations' } }, - withBucketAggsMixin(value): { bucketAggs+: (if std.isArray(value) - then value - else [value]) }, - bucketAggs+: - { - '#': { help: '', name: 'bucketAggs' }, - DateHistogram+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInterval(value): { settings+: { interval: value } }, - '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMinDocCount(value): { settings+: { min_doc_count: value } }, - '#withOffset': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOffset(value): { settings+: { offset: value } }, - '#withTimeZone': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTimeZone(value): { settings+: { timeZone: value } }, - '#withTrimEdges': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withTrimEdges(value): { settings+: { trimEdges: value } }, - }, - }, - Histogram+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withInterval': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInterval(value): { settings+: { interval: value } }, - '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMinDocCount(value): { settings+: { min_doc_count: value } }, - }, - }, - Terms+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withMinDocCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMinDocCount(value): { settings+: { min_doc_count: value } }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - '#withOrder': { 'function': { args: [{ default: null, enums: ['desc', 'asc'], name: 'value', type: 'string' }], help: '' } }, - withOrder(value): { settings+: { order: value } }, - '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOrderBy(value): { settings+: { orderBy: value } }, - '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSize(value): { settings+: { size: value } }, - }, - }, - Filters+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFilters(value): { settings+: { filters: (if std.isArray(value) - then value - else [value]) } }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFiltersMixin(value): { settings+: { filters+: (if std.isArray(value) - then value - else [value]) } }, - filters+: - { - '#': { help: '', name: 'filters' }, - '#withLabel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLabel(value): { label: value }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withQuery(value): { query: value }, - }, - }, - }, - GeoHashGrid+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withPrecision': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPrecision(value): { settings+: { precision: value } }, - }, - }, - Nested+: - { - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - }, - }, - '#withMetrics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of metric aggregations' } }, - withMetrics(value): { metrics: (if std.isArray(value) - then value - else [value]) }, - '#withMetricsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'List of metric aggregations' } }, - withMetricsMixin(value): { metrics+: (if std.isArray(value) - then value - else [value]) }, - metrics+: - { - '#': { help: '', name: 'metrics' }, - Count+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - }, - PipelineMetricAggregation+: - { - MovingAverage+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - }, - Derivative+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUnit(value): { settings+: { unit: value } }, - }, - }, - CumulativeSum+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFormat(value): { settings+: { format: value } }, - }, - }, - BucketScript+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withPipelineVariables': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPipelineVariables(value): { pipelineVariables: (if std.isArray(value) - then value - else [value]) }, - '#withPipelineVariablesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPipelineVariablesMixin(value): { pipelineVariables+: (if std.isArray(value) - then value - else [value]) }, - pipelineVariables+: - { - '#': { help: '', name: 'pipelineVariables' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - }, - }, - }, - MetricAggregationWithSettings+: - { - BucketScript+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withPipelineVariables': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPipelineVariables(value): { pipelineVariables: (if std.isArray(value) - then value - else [value]) }, - '#withPipelineVariablesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPipelineVariablesMixin(value): { pipelineVariables+: (if std.isArray(value) - then value - else [value]) }, - pipelineVariables+: - { - '#': { help: '', name: 'pipelineVariables' }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - }, - }, - CumulativeSum+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withFormat(value): { settings+: { format: value } }, - }, - }, - Derivative+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUnit(value): { settings+: { unit: value } }, - }, - }, - SerialDiff+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withLag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLag(value): { settings+: { lag: value } }, - }, - }, - RawData+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSize(value): { settings+: { size: value } }, - }, - }, - RawDocument+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withSize': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSize(value): { settings+: { size: value } }, - }, - }, - UniqueCount+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - '#withPrecisionThreshold': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPrecisionThreshold(value): { settings+: { precision_threshold: value } }, - }, - }, - Percentiles+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - '#withPercents': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPercents(value): { settings+: { percents: (if std.isArray(value) - then value - else [value]) } }, - '#withPercentsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPercentsMixin(value): { settings+: { percents+: (if std.isArray(value) - then value - else [value]) } }, - }, - }, - ExtendedStats+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - '#withSigma': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withSigma(value): { settings+: { sigma: value } }, - }, - '#withMeta': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMeta(value): { meta: value }, - '#withMetaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withMetaMixin(value): { meta+: value }, - }, - Min+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - }, - }, - Max+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - }, - }, - Sum+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - }, - }, - Average+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withMissing': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMissing(value): { settings+: { missing: value } }, - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - }, - }, - MovingAverage+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - }, - MovingFunction+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withPipelineAgg': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPipelineAgg(value): { pipelineAgg: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withScript': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScript(value): { settings+: { script: value } }, - '#withScriptMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withScriptMixin(value): { settings+: { script+: value } }, - script+: - { - '#withInline': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withInline(value): { settings+: { script+: { inline: value } } }, - }, - '#withShift': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withShift(value): { settings+: { shift: value } }, - '#withWindow': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withWindow(value): { settings+: { window: value } }, - }, - }, - Logs+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLimit(value): { settings+: { limit: value } }, - }, - }, - Rate+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withField(value): { field: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMode(value): { settings+: { mode: value } }, - '#withUnit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUnit(value): { settings+: { unit: value } }, - }, - }, - TopMetrics+: - { - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withHide(value=true): { hide: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withId(value): { id: value }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { type: value }, - '#withSettings': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettings(value): { settings: value }, - '#withSettingsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSettingsMixin(value): { settings+: value }, - settings+: - { - '#withMetrics': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMetrics(value): { settings+: { metrics: (if std.isArray(value) - then value - else [value]) } }, - '#withMetricsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withMetricsMixin(value): { settings+: { metrics+: (if std.isArray(value) - then value - else [value]) } }, - '#withOrder': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOrder(value): { settings+: { order: value } }, - '#withOrderBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withOrderBy(value): { settings+: { orderBy: value } }, - }, - }, - }, - }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Lucene query' } }, - withQuery(value): { query: value }, - '#withTimeField': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of time field' } }, - withTimeField(value): { timeField: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet deleted file mode 100644 index 67fd2827ba..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/grafanaPyroscope.libsonnet +++ /dev/null @@ -1,26 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.grafanaPyroscope', name: 'grafanaPyroscope' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withGroupBy': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Allows to group the results.' } }, - withGroupBy(value): { groupBy: (if std.isArray(value) - then value - else [value]) }, - '#withGroupByMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Allows to group the results.' } }, - withGroupByMixin(value): { groupBy+: (if std.isArray(value) - then value - else [value]) }, - '#withLabelSelector': { 'function': { args: [{ default: '{}', enums: null, name: 'value', type: 'string' }], help: 'Specifies the query label selectors.' } }, - withLabelSelector(value='{}'): { labelSelector: value }, - '#withMaxNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Sets the maximum number of nodes in the flamegraph.' } }, - withMaxNodes(value): { maxNodes: value }, - '#withProfileTypeId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the type of profile to query.' } }, - withProfileTypeId(value): { profileTypeId: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet deleted file mode 100644 index b15000229e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/loki.libsonnet +++ /dev/null @@ -1,26 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.loki', name: 'loki' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, - withEditorMode(value): { editorMode: value }, - '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The LogQL query.' } }, - withExpr(value): { expr: value }, - '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, - withInstant(value=true): { instant: value }, - '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Used to override the name of the series.' } }, - withLegendFormat(value): { legendFormat: value }, - '#withMaxLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to limit the number of log rows returned.' } }, - withMaxLines(value): { maxLines: value }, - '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '@deprecated, now use queryType.' } }, - withRange(value=true): { range: value }, - '#withResolution': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Used to scale the interval value.' } }, - withResolution(value): { resolution: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet deleted file mode 100644 index 832453d5af..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/parca.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.parca', name: 'parca' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withLabelSelector': { 'function': { args: [{ default: '{}', enums: null, name: 'value', type: 'string' }], help: 'Specifies the query label selectors.' } }, - withLabelSelector(value='{}'): { labelSelector: value }, - '#withProfileTypeId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specifies the type of profile to query.' } }, - withProfileTypeId(value): { profileTypeId: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet deleted file mode 100644 index 71adff65c4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/prometheus.libsonnet +++ /dev/null @@ -1,28 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.prometheus', name: 'prometheus' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withEditorMode': { 'function': { args: [{ default: null, enums: ['code', 'builder'], name: 'value', type: 'string' }], help: '' } }, - withEditorMode(value): { editorMode: value }, - '#withExemplar': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Execute an additional query to identify interesting raw samples relevant for the given expr' } }, - withExemplar(value=true): { exemplar: value }, - '#withExpr': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The actual expression/query that will be evaluated by Prometheus' } }, - withExpr(value): { expr: value }, - '#withFormat': { 'function': { args: [{ default: null, enums: ['time_series', 'table', 'heatmap'], name: 'value', type: 'string' }], help: '' } }, - withFormat(value): { format: value }, - '#withInstant': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns only the latest value that Prometheus has scraped for the requested time series' } }, - withInstant(value=true): { instant: value }, - '#withIntervalFactor': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '@deprecated Used to specify how many times to divide max data points by. We use max data points under query options\nSee https://github.com/grafana/grafana/issues/48081' } }, - withIntervalFactor(value): { intervalFactor: value }, - '#withLegendFormat': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname' } }, - withLegendFormat(value): { legendFormat: value }, - '#withRange': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series' } }, - withRange(value=true): { range: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet deleted file mode 100644 index d80af81688..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/tempo.libsonnet +++ /dev/null @@ -1,54 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.tempo', name: 'tempo' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withFilters': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFilters(value): { filters: (if std.isArray(value) - then value - else [value]) }, - '#withFiltersMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFiltersMixin(value): { filters+: (if std.isArray(value) - then value - else [value]) }, - filters+: - { - '#': { help: '', name: 'filters' }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Uniquely identify the filter, will not be used in the query generation' } }, - withId(value): { id: value }, - '#withOperator': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The operator that connects the tag to the value, for example: =, >, !=, =~' } }, - withOperator(value): { operator: value }, - '#withScope': { 'function': { args: [{ default: null, enums: ['unscoped', 'resource', 'span'], name: 'value', type: 'string' }], help: 'static fields are pre-set in the UI, dynamic fields are added by the user' } }, - withScope(value): { scope: value }, - '#withTag': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The tag for the search filter, for example: .http.status_code, .service.name, status' } }, - withTag(value): { tag: value }, - '#withValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, - withValue(value): { value: value }, - '#withValueMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The value for the search filter' } }, - withValueMixin(value): { value+: value }, - '#withValueType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query' } }, - withValueType(value): { valueType: value }, - }, - '#withLimit': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Defines the maximum number of traces that are returned from Tempo' } }, - withLimit(value): { limit: value }, - '#withMaxDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, - withMaxDuration(value): { maxDuration: value }, - '#withMinDuration': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms' } }, - withMinDuration(value): { minDuration: value }, - '#withQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'TraceQL query or trace ID' } }, - withQuery(value): { query: value }, - '#withSearch': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true' } }, - withSearch(value): { search: value }, - '#withServiceMapQuery': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}' } }, - withServiceMapQuery(value): { serviceMapQuery: value }, - '#withServiceName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by service name' } }, - withServiceName(value): { serviceName: value }, - '#withSpanName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Query traces by span name' } }, - withSpanName(value): { spanName: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet deleted file mode 100644 index 63fbc79d85..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/query/testData.libsonnet +++ /dev/null @@ -1,168 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.query.testData', name: 'testData' }, - '#withDatasource': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "For mixed data sources the selected datasource is on the query level.\nFor non mixed scenarios this is undefined.\nTODO find a better way to do this ^ that's friendly to schema\nTODO this shouldn't be unknown but DataSourceRef | null" } }, - withDatasource(value): { datasource: value }, - '#withHide': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'true if query is disabled (ie should not be returned to the dashboard)\nNote this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)' } }, - withHide(value=true): { hide: value }, - '#withQueryType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Specify the query flavor\nTODO make this required and give it a default' } }, - withQueryType(value): { queryType: value }, - '#withRefId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'A unique identifier for the query within the list of targets.\nIn server side expressions, the refId is used as a variable name to identify results.\nBy default, the UI will assign A->Z; however setting meaningful names may be useful.' } }, - withRefId(value): { refId: value }, - '#withAlias': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withAlias(value): { alias: value }, - '#withChannel': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withChannel(value): { channel: value }, - '#withCsvContent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withCsvContent(value): { csvContent: value }, - '#withCsvFileName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withCsvFileName(value): { csvFileName: value }, - '#withCsvWave': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCsvWave(value): { csvWave: (if std.isArray(value) - then value - else [value]) }, - '#withCsvWaveMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withCsvWaveMixin(value): { csvWave+: (if std.isArray(value) - then value - else [value]) }, - csvWave+: - { - '#': { help: '', name: 'csvWave' }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLabels(value): { labels: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withName(value): { name: value }, - '#withTimeStep': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withTimeStep(value): { timeStep: value }, - '#withValuesCSV': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withValuesCSV(value): { valuesCSV: value }, - }, - '#withErrorType': { 'function': { args: [{ default: null, enums: ['server_panic', 'frontend_exception', 'frontend_observable'], name: 'value', type: 'string' }], help: '' } }, - withErrorType(value): { errorType: value }, - '#withLabels': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withLabels(value): { labels: value }, - '#withLevelColumn': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLevelColumn(value=true): { levelColumn: value }, - '#withLines': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withLines(value): { lines: value }, - '#withNodes': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodes(value): { nodes: value }, - '#withNodesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withNodesMixin(value): { nodes+: value }, - nodes+: - { - '#withCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withCount(value): { nodes+: { count: value } }, - '#withType': { 'function': { args: [{ default: null, enums: ['random', 'response', 'random edges'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { nodes+: { type: value } }, - }, - '#withPoints': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPoints(value): { points: (if std.isArray(value) - then value - else [value]) }, - '#withPointsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withPointsMixin(value): { points+: (if std.isArray(value) - then value - else [value]) }, - '#withPulseWave': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPulseWave(value): { pulseWave: value }, - '#withPulseWaveMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withPulseWaveMixin(value): { pulseWave+: value }, - pulseWave+: - { - '#withOffCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withOffCount(value): { pulseWave+: { offCount: value } }, - '#withOffValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withOffValue(value): { pulseWave+: { offValue: value } }, - '#withOnCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withOnCount(value): { pulseWave+: { onCount: value } }, - '#withOnValue': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withOnValue(value): { pulseWave+: { onValue: value } }, - '#withTimeStep': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withTimeStep(value): { pulseWave+: { timeStep: value } }, - }, - '#withRawFrameContent': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withRawFrameContent(value): { rawFrameContent: value }, - '#withScenarioId': { 'function': { args: [{ default: null, enums: ['random_walk', 'slow_query', 'random_walk_with_error', 'random_walk_table', 'exponential_heatmap_bucket_data', 'linear_heatmap_bucket_data', 'no_data_points', 'datapoints_outside_range', 'csv_metric_values', 'predictable_pulse', 'predictable_csv_wave', 'streaming_client', 'simulation', 'usa', 'live', 'grafana_api', 'arrow', 'annotations', 'table_static', 'server_error_500', 'logs', 'node_graph', 'flame_graph', 'raw_frame', 'csv_file', 'csv_content', 'trace', 'manual_entry', 'variables-query'], name: 'value', type: 'string' }], help: '' } }, - withScenarioId(value): { scenarioId: value }, - '#withSeriesCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSeriesCount(value): { seriesCount: value }, - '#withSim': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSim(value): { sim: value }, - '#withSimMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withSimMixin(value): { sim+: value }, - sim+: - { - '#withConfig': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withConfig(value): { sim+: { config: value } }, - '#withConfigMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withConfigMixin(value): { sim+: { config+: value } }, - '#withKey': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withKey(value): { sim+: { key: value } }, - '#withKeyMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withKeyMixin(value): { sim+: { key+: value } }, - key+: - { - '#withTick': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'number' }], help: '' } }, - withTick(value): { sim+: { key+: { tick: value } } }, - '#withType': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withType(value): { sim+: { key+: { type: value } } }, - '#withUid': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUid(value): { sim+: { key+: { uid: value } } }, - }, - '#withLast': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withLast(value=true): { sim+: { last: value } }, - '#withStream': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: '' } }, - withStream(value=true): { sim+: { stream: value } }, - }, - '#withSpanCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSpanCount(value): { spanCount: value }, - '#withStream': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStream(value): { stream: value }, - '#withStreamMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withStreamMixin(value): { stream+: value }, - stream+: - { - '#withBands': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withBands(value): { stream+: { bands: value } }, - '#withNoise': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withNoise(value): { stream+: { noise: value } }, - '#withSpeed': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSpeed(value): { stream+: { speed: value } }, - '#withSpread': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: '' } }, - withSpread(value): { stream+: { spread: value } }, - '#withType': { 'function': { args: [{ default: null, enums: ['signal', 'logs', 'fetch'], name: 'value', type: 'string' }], help: '' } }, - withType(value): { stream+: { type: value } }, - '#withUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withUrl(value): { stream+: { url: value } }, - }, - '#withStringInput': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withStringInput(value): { stringInput: value }, - '#withUsa': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUsa(value): { usa: value }, - '#withUsaMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: '' } }, - withUsaMixin(value): { usa+: value }, - usa+: - { - '#withFields': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFields(value): { usa+: { fields: (if std.isArray(value) - then value - else [value]) } }, - '#withFieldsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withFieldsMixin(value): { usa+: { fields+: (if std.isArray(value) - then value - else [value]) } }, - '#withMode': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withMode(value): { usa+: { mode: value } }, - '#withPeriod': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: '' } }, - withPeriod(value): { usa+: { period: value } }, - '#withStates': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withStates(value): { usa+: { states: (if std.isArray(value) - then value - else [value]) } }, - '#withStatesMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: '' } }, - withStatesMixin(value): { usa+: { states+: (if std.isArray(value) - then value - else [value]) } }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet deleted file mode 100644 index d401e96f2a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/serviceaccount.libsonnet +++ /dev/null @@ -1,32 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.serviceaccount', name: 'serviceaccount' }, - '#withAccessControl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, - withAccessControl(value): { accessControl: value }, - '#withAccessControlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, - withAccessControlMixin(value): { accessControl+: value }, - '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front\nof the service account." } }, - withAvatarUrl(value): { avatarUrl: value }, - '#withId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'ID is the unique identifier of the service account in the database.' } }, - withId(value): { id: value }, - '#withIsDisabled': { 'function': { args: [{ default: true, enums: null, name: 'value', type: 'boolean' }], help: 'IsDisabled indicates if the service account is disabled.' } }, - withIsDisabled(value=true): { isDisabled: value }, - '#withLogin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Login of the service account.' } }, - withLogin(value): { login: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the service account.' } }, - withName(value): { name: value }, - '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'OrgId is the ID of an organisation the service account belongs to.' } }, - withOrgId(value): { orgId: value }, - '#withRole': { 'function': { args: [{ default: null, enums: ['Admin', 'Editor', 'Viewer'], name: 'value', type: 'string' }], help: "OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'." } }, - withRole(value): { role: value }, - '#withTeams': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Teams is a list of teams the service account belongs to.' } }, - withTeams(value): { teams: (if std.isArray(value) - then value - else [value]) }, - '#withTeamsMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'array' }], help: 'Teams is a list of teams the service account belongs to.' } }, - withTeamsMixin(value): { teams+: (if std.isArray(value) - then value - else [value]) }, - '#withTokens': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'Tokens is the number of active tokens for the service account.\nTokens are used to authenticate the service account against Grafana.' } }, - withTokens(value): { tokens: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet deleted file mode 100644 index c8f7ff7e28..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/raw/team.libsonnet +++ /dev/null @@ -1,20 +0,0 @@ -// This file is generated, do not manually edit. -{ - '#': { help: 'grafonnet.team', name: 'team' }, - '#withAccessControl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, - withAccessControl(value): { accessControl: value }, - '#withAccessControlMixin': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'object' }], help: 'AccessControl metadata associated with a given resource.' } }, - withAccessControlMixin(value): { accessControl+: value }, - '#withAvatarUrl': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: "AvatarUrl is the team's avatar URL." } }, - withAvatarUrl(value): { avatarUrl: value }, - '#withEmail': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Email of the team.' } }, - withEmail(value): { email: value }, - '#withMemberCount': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'MemberCount is the number of the team members.' } }, - withMemberCount(value): { memberCount: value }, - '#withName': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'string' }], help: 'Name of the team.' } }, - withName(value): { name: value }, - '#withOrgId': { 'function': { args: [{ default: null, enums: null, name: 'value', type: 'integer' }], help: 'OrgId is the ID of an organisation the team belongs to.' } }, - withOrgId(value): { orgId: value }, - '#withPermission': { 'function': { args: [{ default: null, enums: [0, 1, 2, 4], name: 'value', type: 'integer' }], help: '' } }, - withPermission(value): { permission: value }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md deleted file mode 100644 index fb85608dd9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/CONTRIB.md +++ /dev/null @@ -1,20 +0,0 @@ - -## Panels overview - -All panels in this lib should implement one of the following methods: - -- `panel.new(title,targets,description)` - creates new panel. List of arguments could vary; -- `panel.stylize(allLayers=true)` - directly applies this panel style to existing panel. By default includes all layers of styles. To apply only top layer, set allLayers=false. This mode is useful to cherry-pick style layers to create new style combination. - -Some other methods could be found such as: -- `panel.stylizeByRegexp(regexp)` - attaches style as panel overrides (by regexp); -- `panel.stylizeByName(name)` - attaches style as panel overrides (by name). - -## Panels common groups - -This library consists of multiple common groups of panels for widely used resources such as CPU, memory, disks and so on. - -All of those groups inherit `generic` group as their base. - -All panels inherit `generic/base.libsonnet` via `generic//base.libsonnet`. - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile deleted file mode 100644 index 46933e1a4c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -JSONNET_FMT := jsonnetfmt -n 2 --max-blank-lines 1 --string-style s --comment-style s - -.PHONY: all -all: build - -vendor: jsonnetfile.json - jb install - -.PHONY: build -build: vendor - -.PHONY: fmt -fmt: - find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ - xargs -n 1 -- $(JSONNET_FMT) -i - -.PHONY: lint -lint: build - find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ - while read f; do \ - $(JSONNET_FMT) "$$f" | diff -u "$$f" -; \ - done - diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md deleted file mode 100644 index 93b3563242..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Grafana integrations common lib - -This common library can be used to quickly create dashboards' `panels` and `annotations`. - -By using this common library we can 'enforce' common style choices across multiple dashboards and mixins. - -## Import - -```sh -jb init -jb install https://github.com/grafana/jsonnet-libs/common-lib -``` - -## Use - -### Create new panel - -```jsonnet - -local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; -local cpuUsage = commonlib.panels.cpu.timeSeries.utilization.new(targets=[targets.cpuUsage]); - -``` - -### Mutate exisiting panel with style options - -```jsonnet - -local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; -local cpuPanel = oldPanel + commonlib.panels.cpu.timeSeries.utilization.stylize(); -``` - -See [windows-observ-lib](./windows-observ-lib) for full example. diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet deleted file mode 100644 index 8cb149be72..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/base.libsonnet +++ /dev/null @@ -1,32 +0,0 @@ -local g = import '../g.libsonnet'; -local annotation = g.dashboard.annotation; -{ - new( - title, - target, - ): - annotation.withEnable(true) - + annotation.withName(title) - + annotation.withDatasourceMixin(target.datasource) - { - titleFormat: title, - expr: target.expr, - - } - + (if std.objectHas(target, 'interval') then { step: target.interval } else {}), - - withTagKeys(value): - { - tagKeys: value, - }, - withValueForTime(value=false): - { - useValueForTime: value, - }, - withTextFormat(value=''): - { - textFormat: value, - }, - - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet deleted file mode 100644 index 409d62d252..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/fatal.libsonnet +++ /dev/null @@ -1,14 +0,0 @@ -local g = import '../g.libsonnet'; -local annotation = g.dashboard.annotation; -local base = import './base.libsonnet'; - -// Show fatal or critical events as annotations -base { - new( - title, - target, - ): - super.new(title, target) - + annotation.withIconColor('light-purple') - + annotation.withHide(true), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet deleted file mode 100644 index a904f9f3a8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/main.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -{ - base: import './base.libsonnet', - reboot: import './reboot.libsonnet', - serviceFailed: import './service_failed.libsonnet', - fatal: import './fatal.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet deleted file mode 100644 index a6d67e1110..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/reboot.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -local g = import '../g.libsonnet'; -local annotation = g.dashboard.annotation; -local base = import './base.libsonnet'; - -base { - new( - title, - target, - instanceLabels, - ): - super.new(title, target) - + annotation.withIconColor('light-yellow') - + annotation.withHide(true) - + { useValueForTime: 'on' } - + base.withTagKeys(instanceLabels), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet deleted file mode 100644 index 63f601f055..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/annotations/service_failed.libsonnet +++ /dev/null @@ -1,13 +0,0 @@ -local g = import '../g.libsonnet'; -local annotation = g.dashboard.annotation; -local base = import './base.libsonnet'; - -base { - new( - title, - target, - ): - super.new(title, target) - + annotation.withIconColor('light-orange') - + annotation.withHide(true), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet deleted file mode 100644 index 6da9f4eef9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/g.libsonnet +++ /dev/null @@ -1 +0,0 @@ -import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet deleted file mode 100644 index 4b7c76e3b0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - annotations: import './annotations/main.libsonnet', - panels: import './panels.libsonnet', - utils: import './utils.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet deleted file mode 100644 index f054c0e316..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels.libsonnet +++ /dev/null @@ -1,33 +0,0 @@ -local g = import './g.libsonnet'; - -{ - generic: { - stat: import './panels/generic/stat/main.libsonnet', - timeSeries: import './panels/generic/timeSeries/main.libsonnet', - table: import './panels/generic/table/main.libsonnet', - statusHistory: import './panels/generic/statusHistory/main.libsonnet', - }, - network: { - timeSeries: import './panels/network/timeSeries/main.libsonnet', - statusHistory: import './panels/network/statusHistory/main.libsonnet', - }, - system: { - stat: import './panels/system/stat/main.libsonnet', - table: import './panels/system/table/main.libsonnet', - statusHistory: import './panels/system/statusHistory/main.libsonnet', - timeSeries: import './panels/system/timeSeries/main.libsonnet', - }, - cpu: { - stat: import './panels/cpu/stat/main.libsonnet', - timeSeries: import './panels/cpu/timeSeries/main.libsonnet', - }, - memory: { - stat: import './panels/memory/stat/main.libsonnet', - timeSeries: import './panels/memory/timeSeries/main.libsonnet', - }, - disk: { - timeSeries: import './panels/disk/timeSeries/main.libsonnet', - table: import './panels/disk/table/main.libsonnet', - stat: import './panels/disk/stat/main.libsonnet', - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet deleted file mode 100644 index 587b02b91f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/base.libsonnet +++ /dev/null @@ -1,7 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import '../../generic/stat/base.libsonnet'; - -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet deleted file mode 100644 index 915060b491..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/count.libsonnet +++ /dev/null @@ -1,21 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; - -base { - new( - title='CPU count', - targets, - description=||| - CPU count is the number of processor cores or central processing units (CPUs) in a computer, - determining its processing capability and ability to handle tasks concurrently. - ||| - ): - super.new(title, targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.info.stylize(allLayers=false), - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet deleted file mode 100644 index df20b658e5..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - base: import './base.libsonnet', - usage: import './usage.libsonnet', - count: import './count.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet deleted file mode 100644 index bf019157de..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/stat/usage.libsonnet +++ /dev/null @@ -1,22 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; - -base { - new( - title='CPU usage', - targets, - description=||| - Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system. - It represents the combined load placed on all CPU cores or processors. - - For instance, if the total CPU utilization percent is 50%, it means that, - on average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high. - ||| - ): - super.new(title, targets, description), - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.percentage.stylize(allLayers=false), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet deleted file mode 100644 index 622d9bed7c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/base.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/timeSeries/base.libsonnet'; - -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet deleted file mode 100644 index 3e90065783..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - base: import './base.libsonnet', - utilization: import './utilization.libsonnet', - utilizationByMode: import './utilization_by_mode.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet deleted file mode 100644 index fd365ac097..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization.libsonnet +++ /dev/null @@ -1,22 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -base { - new( - title='CPU usage', - targets, - description=||| - Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system. - It represents the combined load placed on all CPU cores or processors. - - For instance, if the total CPU utilization percent is 50%, it means that, - on average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high. - ||| - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.percentage.stylize(allLayers=false), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet deleted file mode 100644 index 18b0e90b1b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_core.libsonnet +++ /dev/null @@ -1,20 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -base { - new( - title='CPU usage', - targets, - description=||| - CPU utilization percent by core is a metric that indicates level of central processing unit (CPU) usage in a computer system. - It represents the load placed on each CPU core or processors. - ||| - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.percentage.stylize(allLayers=false) - + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet deleted file mode 100644 index 177c6ea496..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/cpu/timeSeries/utilization_by_mode.libsonnet +++ /dev/null @@ -1,45 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -base { - new( - title='CPU usage by modes', - targets, - description='CPU usage by different modes.' - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - local timeSeries = g.panel.timeSeries; - local fieldOverride = g.panel.timeSeries.fieldOverride; - - (if allLayers then super.stylize() else {}) - - + timeSeries.standardOptions.withUnit('percent') - + timeSeries.fieldConfig.defaults.custom.withFillOpacity(80) - + timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }) - + timeSeries.standardOptions.withOverrides( - [ - fieldOverride.byName.new('idle') - + fieldOverride.byName.withPropertiesFromOptions( - timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-blue'), - ), - fieldOverride.byName.new('interrupt') - + fieldOverride.byName.withPropertiesFromOptions( - timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-purple'), - ), - fieldOverride.byName.new('user') - + fieldOverride.byName.withPropertiesFromOptions( - timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-orange'), - ), - fieldOverride.byRegexp.new('system|privileged') - + fieldOverride.byRegexp.withPropertiesFromOptions( - timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-red'), - ), - ] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet deleted file mode 100644 index 09aef26e72..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/base.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import '../../generic/stat/base.libsonnet'; - -base { -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet deleted file mode 100644 index 79f34433d3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/main.libsonnet +++ /dev/null @@ -1,4 +0,0 @@ -{ - base: import './base.libsonnet', - total: import './total.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet deleted file mode 100644 index 6e81dfc059..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/stat/total.libsonnet +++ /dev/null @@ -1,20 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; - -base { - new( - title, - targets, - description='' - ): - super.new(title=title, targets=targets, description=description), - - stylize(allLayers=true): - - (if allLayers then super.stylize() else {}) - - + generic.info.stylize(allLayers=false) - + stat.standardOptions.withUnit('bytes'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet deleted file mode 100644 index 6caa7f945f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/base.libsonnet +++ /dev/null @@ -1,10 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/table/base.libsonnet'; -local table = g.panel.table; -local fieldOverride = g.panel.table.fieldOverride; -local custom = table.fieldConfig.defaults.custom; -local defaults = table.fieldConfig.defaults; -local options = table.options; -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet deleted file mode 100644 index 5493c27611..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/main.libsonnet +++ /dev/null @@ -1,4 +0,0 @@ -{ - base: import './base.libsonnet', - usage: import './usage.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet deleted file mode 100644 index 9011838d55..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/table/usage.libsonnet +++ /dev/null @@ -1,256 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local table = g.panel.table; -local fieldOverride = g.panel.table.fieldOverride; -local custom = table.fieldConfig.defaults.custom; -local defaults = table.fieldConfig.defaults; -local options = table.options; - -base { - new( - title='Disk space usage', - totalTarget, - usageTarget=null, - freeTarget=null, - groupLabel, - description=||| - This table provides information about total disk space, used space, available space, and usage percentages for each mounted file system on the system. - |||, - ): - // validate inputs - std.prune( - { - checks: [ - if (usageTarget == null && freeTarget == null) then error 'Must provide at leason one of "usageTarget" or "freeTraget"', - if !(std.objectHas(totalTarget, 'format') && std.assertEqual(totalTarget.format, 'table')) then error 'totalTarget format must be "table"', - if !(std.objectHas(totalTarget, 'instant') && std.assertEqual(totalTarget.instant, true)) then error 'totalTarget must have type "instant"', - if usageTarget != null && !(std.objectHas(usageTarget, 'format') && std.assertEqual(usageTarget.format, 'table')) then error 'usageTarget format must be "table"', - if usageTarget != null && !(std.objectHas(usageTarget, 'instant') && std.assertEqual(usageTarget.instant, true)) then error 'usageTarget must have type "instant"', - if freeTarget != null && !(std.objectHas(freeTarget, 'format') && std.assertEqual(freeTarget.format, 'table')) then error 'freeTarget format must be "table"', - if freeTarget != null && !(std.objectHas(freeTarget, 'instant') && std.assertEqual(freeTarget.instant, true)) then error 'freeTarget must have type "instant"', - ], - } - ) + - if usageTarget != null - then - ( - super.new( - title=title, - targets=[ - totalTarget { refId: 'TOTAL' }, - usageTarget { refId: 'USAGE' }, - ], - description=description, - ) - + $.withUsageTableCommonMixin() - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'groupBy', - options: { - fields: { - 'Value #TOTAL': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - 'Value #USAGE': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - [groupLabel]: { - aggregations: [], - operation: 'groupby', - }, - }, - }, - }, - { - id: 'merge', - options: {}, - }, - { - id: 'calculateField', - options: { - alias: 'Available', - binary: { - left: 'Value #TOTAL (lastNotNull)', - operator: '-', - reducer: 'sum', - right: 'Value #USAGE (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'calculateField', - options: { - alias: 'Used, %', - binary: { - left: 'Value #USAGE (lastNotNull)', - operator: '/', - reducer: 'sum', - right: 'Value #TOTAL (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: {}, - indexByName: { - [groupLabel]: 0, - 'Value #TOTAL (lastNotNull)': 1, - Available: 2, - 'Value #USAGE (lastNotNull)': 3, - 'Used, %': 4, - }, - renameByName: { - 'Value #TOTAL (lastNotNull)': 'Size', - 'Value #USAGE (lastNotNull)': 'Used', - [groupLabel]: 'Mounted on', - }, - }, - }, - self.transformations.sortBy('Mounted on'), - ] - ) - ) - else if freeTarget != null && usageTarget == null - then - ( - super.new( - title=title, - targets=[ - totalTarget { refId: 'TOTAL' }, - freeTarget { refId: 'FREE' }, - ], - description=description, - ) - + $.withUsageTableCommonMixin() - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'groupBy', - options: { - fields: { - 'Value #TOTAL': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - 'Value #FREE': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - [groupLabel]: { - aggregations: [], - operation: 'groupby', - }, - }, - }, - }, - { - id: 'merge', - options: {}, - }, - { - id: 'calculateField', - options: { - alias: 'Used', - binary: { - left: 'Value #TOTAL (lastNotNull)', - operator: '-', - reducer: 'sum', - right: 'Value #FREE (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'calculateField', - options: { - alias: 'Used, %', - binary: { - left: 'Used', - operator: '/', - reducer: 'sum', - right: 'Value #TOTAL (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: {}, - indexByName: { - [groupLabel]: 0, - 'Value #TOTAL (lastNotNull)': 1, - 'Value #FREE (lastNotNull)': 2, - Used: 3, - 'Used, %': 4, - }, - renameByName: { - 'Value #TOTAL (lastNotNull)': 'Size', - 'Value #FREE (lastNotNull)': 'Available', - [groupLabel]: 'Mounted on', - }, - }, - }, - self.transformations.sortBy('Mounted on'), - ] - ) - ) - else {}, - - withUsageTableCommonMixin(): - table.standardOptions.thresholds.withSteps( - [ - table.thresholdStep.withColor('light-blue') - + table.thresholdStep.withValue(null), - table.thresholdStep.withColor('light-yellow') - + table.thresholdStep.withValue(0.8), - table.thresholdStep.withColor('light-red') - + table.thresholdStep.withValue(0.9), - ] - ) - - + table.standardOptions.withOverrides([ - fieldOverride.byName.new('Mounted on') - + fieldOverride.byName.withProperty('custom.width', '260'), - fieldOverride.byName.new('Size') - + fieldOverride.byName.withProperty('custom.width', '80'), - fieldOverride.byName.new('Used') - + fieldOverride.byName.withProperty('custom.width', '80'), - fieldOverride.byName.new('Available') - + fieldOverride.byName.withProperty('custom.width', '80'), - fieldOverride.byName.new('Used, %') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withMax(1) - + table.standardOptions.withMin(0) - + table.standardOptions.withUnit('percentunit') - ), - ]) - + table.standardOptions.withUnit('bytes'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet deleted file mode 100644 index 0e707c022f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/available.libsonnet +++ /dev/null @@ -1,23 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk space available', - targets, - description='', - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - - + timeSeries.standardOptions.withUnit('bytes') - + timeSeries.standardOptions.withMin(0), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet deleted file mode 100644 index f5b09f21d6..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/base.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/timeSeries/base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - // Decrease opacity (would look better with too many timeseries) - + defaults.custom.withFillOpacity(1), - - - withNegateOutPackets(regexp='/write|written/'): - defaults.custom.withAxisLabel('write(-) | read(+)') - + defaults.custom.withAxisCenteredZero(true) - + timeSeries.standardOptions.withOverrides( - fieldOverride.byRegexp.new(regexp) - + fieldOverride.byRegexp.withPropertiesFromOptions( - defaults.custom.withTransform('negative-Y') - ) - ), - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet deleted file mode 100644 index addf4f4950..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_bytes_persec.libsonnet +++ /dev/null @@ -1,31 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk reads/writes', - targets, - description='Disk read/writes in bytes per second.', - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - - + timeSeries.standardOptions.withUnit('Bps') - // move 'IO busy time' to second axis if found - + timeSeries.standardOptions.withOverrides( - fieldOverride.byRegexp.new('/time|used|busy|util/') - + fieldOverride.byRegexp.withPropertiesFromOptions( - timeSeries.standardOptions.withUnit('percent') - + timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') - + timeSeries.fieldConfig.defaults.custom.withAxisSoftMax(100) - ) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet deleted file mode 100644 index 157796af63..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_queue.libsonnet +++ /dev/null @@ -1,23 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk IO queue', - targets, - description='Disk average IO queue.', - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - - + self.withNegateOutPackets(), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet deleted file mode 100644 index ae17d529e4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/io_wait_time.libsonnet +++ /dev/null @@ -1,25 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk average wait time', - targets, - description=||| - The average time for requests issued to the device to be served. - This includes the time spent by the requests in queue and the time spent servicing them.' - ||| - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('s') - + self.withNegateOutPackets(), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet deleted file mode 100644 index fd30b051f7..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/iops.libsonnet +++ /dev/null @@ -1,23 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk I/O', - targets, - description=||| - The number of I/O requests per second for the device/volume. - ||| - ): - super.new(title, targets, description) - + self.stylize(), - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('iops') - + self.withNegateOutPackets(), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet deleted file mode 100644 index 5fc8df51dd..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/main.libsonnet +++ /dev/null @@ -1,10 +0,0 @@ -{ - base: import './base.libsonnet', - ioBytesPerSec: import './io_bytes_persec.libsonnet', - iops: import './iops.libsonnet', - ioQueue: import './io_queue.libsonnet', - ioWaitTime: import './io_wait_time.libsonnet', - available: import './available.libsonnet', - usage: import './usage.libsonnet', - usagePercent: import './usage_percent.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet deleted file mode 100644 index 84b2fab623..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage.libsonnet +++ /dev/null @@ -1,23 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk space used', - targets, - description=||| - Disk space usage is the amount of storage being used on a device's hard drive or storage medium, in bytes. - |||, - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('bytes'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet deleted file mode 100644 index f5d355423d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/disk/timeSeries/usage_percent.libsonnet +++ /dev/null @@ -1,25 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Disk space used, %', - targets, - description=||| - Disk space usage is the amount of storage being used on a device's hard drive or storage medium, in percent. - |||, - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('percent') - + generic.percentage.stylize(allLayers=false), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet deleted file mode 100644 index 067cf534cb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/base.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -local g = import '../../g.libsonnet'; - -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; - -// This is base of ALL panels in the common lib -{ - new(targets, description=''): - // hidden field to hold styles modifiers - - timeSeries.queryOptions.withTargets(targets) - + timeSeries.panelOptions.withDescription(description) - // set first target's datasource - // to panel's datasource if only single type of - // datasoures are used accross all targets: - + (if std.length(std.set(targets, function(t) t.datasource.type)) == 1 then - timeSeries.queryOptions.withDatasource( - targets[0].datasource.type, targets[0].datasource.uid - ) else {}) - + self.stylize(), - - stylize(): {}, - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet deleted file mode 100644 index 8d70456ce1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/base.libsonnet +++ /dev/null @@ -1,12 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import '../base.libsonnet'; - -base { - new(title, targets, description=''): - stat.new(title) - + super.new(targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet deleted file mode 100644 index 05fc5a7d76..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/info.libsonnet +++ /dev/null @@ -1,21 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; -// Simple info panel prototype with text or count of things. -base { - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - // Style choice: No color for simple text panels by default - + stat.options.withColorMode('fixed') - + stat.standardOptions.color.withFixedColor('text') - // Style choice: No graph - + stat.options.withGraphMode('none') - // Show last value by default, not mean. - + stat.options.withReduceOptions({}) - + stat.options.reduceOptions.withCalcsMixin( - [ - 'lastNotNull', - ] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet deleted file mode 100644 index 93899e7461..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - base: import './base.libsonnet', - info: import './info.libsonnet', - percentage: import './percentage.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet deleted file mode 100644 index a8a8d90977..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/stat/percentage.libsonnet +++ /dev/null @@ -1,24 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import './base.libsonnet'; -// This panel can be used to display gauge metrics with possible values range 0-100%. -// Examples: cpu utilization, memory utilization etc. -base { - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + stat.standardOptions.withDecimals(1) - + stat.standardOptions.withUnit('percent') - + stat.options.withColorMode('value') - // Change color from blue(cold) to red(hot) - + stat.standardOptions.color.withMode('continuous-BlYlRd') - + stat.standardOptions.withMax(100) - + stat.standardOptions.withMin(0) - // Show last value by default, not mean. - + stat.options.withReduceOptions({}) - + stat.options.reduceOptions.withCalcsMixin( - [ - 'lastNotNull', - ] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet deleted file mode 100644 index bbc7b02921..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/base.libsonnet +++ /dev/null @@ -1,18 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../base.libsonnet'; -local statusHistory = g.panel.statusHistory; -local fieldOverride = g.panel.statusHistory.fieldOverride; -local custom = statusHistory.fieldConfig.defaults.custom; -local defaults = statusHistory.fieldConfig.defaults; -local options = statusHistory.options; -base { - - new(title, targets, description=''): - statusHistory.new(title) - + super.new(targets, description) - // Minimize number of points to avoid 'Too many data points' error on large time intervals - + statusHistory.queryOptions.withMaxDataPoints(50), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet deleted file mode 100644 index 3b77b583c8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/statusHistory/main.libsonnet +++ /dev/null @@ -1,3 +0,0 @@ -{ - base: import './base.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet deleted file mode 100644 index 1575b50200..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/base.libsonnet +++ /dev/null @@ -1,33 +0,0 @@ -local g = import '../../../g.libsonnet'; - -local table = g.panel.table; -local fieldOverride = g.panel.table.fieldOverride; -local custom = table.fieldConfig.defaults.custom; -local defaults = table.fieldConfig.defaults; -local options = table.options; -local base = import '../base.libsonnet'; - -base { - new(title, targets, description=''): - table.new(title) - + super.new(targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}), - - transformations+: { - sortBy(field, desc=false): - { - id: 'sortBy', - options: { - fields: {}, - sort: [ - { - field: field, - desc: desc, - }, - ], - }, - }, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet deleted file mode 100644 index 3b77b583c8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/table/main.libsonnet +++ /dev/null @@ -1,3 +0,0 @@ -{ - base: import './base.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet deleted file mode 100644 index 6277d2b728..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/base.libsonnet +++ /dev/null @@ -1,33 +0,0 @@ -local g = import '../../../g.libsonnet'; - -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -local base = import '../base.libsonnet'; -base { - new(title, targets, description=''): - timeSeries.new(title) - + super.new(targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - // Style choice: Make lines more thick - + custom.withLineWidth(2) - // Style choice: Opacity level - + custom.withFillOpacity(30) - // Style choice: Don't show points on lines - + custom.withShowPoints('never') - // Style choice: Opacity gradient - + custom.withGradientMode('opacity') - // Style choice: Smoother lines - + custom.withLineInterpolation('smooth') - // Style choice: Show all values in tooltip, sorted - + options.tooltip.withMode('multi') - + options.tooltip.withSort('desc') - // Style choice: Use simple legend without any values (cleaner look) - + options.legend.withDisplayMode('list') - + options.legend.withCalcs([]), - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet deleted file mode 100644 index 92804486eb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/main.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -{ - base: import './base.libsonnet', - percentage: import './percentage.libsonnet', - threshold: import './threshold.libsonnet', - topkPercentage: import './topk_percentage.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet deleted file mode 100644 index 3a538bef68..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/percentage.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -local g = import '../../../g.libsonnet'; -local timeSeries = g.panel.timeSeries; -local base = import './base.libsonnet'; -// This panel can be used to display gauge metrics with possible values range 0-100%. -// Examples: cpu utilization, memory utilization etc. -base { - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + timeSeries.standardOptions.withDecimals(1) - + timeSeries.standardOptions.withUnit('percent') - // Change color from blue(cold) to red(hot) - + timeSeries.standardOptions.color.withMode('continuous-BlYlRd') - + timeSeries.fieldConfig.defaults.custom.withGradientMode('scheme') - + timeSeries.standardOptions.withMax(100) - + timeSeries.standardOptions.withMin(0), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet deleted file mode 100644 index 2914965498..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/threshold.libsonnet +++ /dev/null @@ -1,25 +0,0 @@ -local g = import '../../../g.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local fieldConfig = g.panel.timeSeries.fieldConfig; - -// Turns any series to threshold line: dashed red line without gradient fill -{ - local this = self, - - stylize(): - fieldConfig.defaults.custom.withLineStyleMixin( - { - fill: 'dash', - dash: [10, 10], - } - ) - + fieldConfig.defaults.custom.withFillOpacity(0) - + timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-orange'), - stylizeByRegexp(regexp): - timeSeries.standardOptions.withOverrides( - fieldOverride.byRegexp.new(regexp) - + fieldOverride.byRegexp.withPropertiesFromOptions(this.stylize()) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet deleted file mode 100644 index cbd0edb85f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/generic/timeSeries/topk_percentage.libsonnet +++ /dev/null @@ -1,63 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local generic = import './main.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local fieldConfig = g.panel.timeSeries.fieldConfig; -local standardOptions = g.panel.timeSeries.standardOptions; -// Style to display Top K metrics that can go from 0 to 100%. -// It constructs mean baseline automatically. -base { - new( - title, - target, - topk=25, - instanceLabels, - drillDownDashboardUid, - description='Top %s' % topk - ): - - local topTarget = target - { expr: 'topk(' + topk + ',' + target.expr + ')' } - + g.query.prometheus.withLegendFormat( - std.join(': ', std.map(function(l) '{{' + l + '}}', instanceLabels)) - ); - local meanTarget = target - { expr: 'avg(' + target.expr + ')' } - + g.query.prometheus.withLegendFormat('Mean'); - super.new(title, targets=[topTarget, meanTarget], description=description) - + self.withDataLink(instanceLabels, drillDownDashboardUid), - withDataLink(instanceLabels, drillDownDashboardUid): - standardOptions.withLinks( - { - url: 'd/' + drillDownDashboardUid + '?' + std.join('&', std.map(function(l) 'var-%s=${__field.labels.%s}' % [l, l], instanceLabels)) + '&${__url_time_range}', - title: 'Drill down to this instance', - } - ), - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.percentage.stylize(allLayers=false) - + fieldConfig.defaults.custom.withFillOpacity(1) - + fieldConfig.defaults.custom.withLineWidth(1) - + timeSeries.options.legend.withDisplayMode('table') - + timeSeries.options.legend.withPlacement('right') - + timeSeries.options.legend.withCalcsMixin([ - 'mean', - 'max', - 'lastNotNull', - ]) - + timeSeries.standardOptions.withOverrides( - fieldOverride.byName.new('Mean') - + fieldOverride.byName.withPropertiesFromOptions( - fieldConfig.defaults.custom.withLineStyleMixin( - { - fill: 'dash', - dash: [10, 10], - } - ) - + fieldConfig.defaults.custom.withFillOpacity(0) - + timeSeries.standardOptions.color.withMode('fixed') - + timeSeries.standardOptions.color.withFixedColor('light-purple'), - ) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet deleted file mode 100644 index 587b02b91f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/base.libsonnet +++ /dev/null @@ -1,7 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import '../../generic/stat/base.libsonnet'; - -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet deleted file mode 100644 index fe214ee12b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - base: import './base.libsonnet', - total: import './total.libsonnet', - usage: import './usage.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet deleted file mode 100644 index c230e29c25..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/total.libsonnet +++ /dev/null @@ -1,27 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; -local fieldOverride = g.panel.stat.fieldOverride; -local custom = stat.fieldConfig.defaults.custom; -local defaults = stat.fieldConfig.defaults; -local options = stat.options; -base { - new( - title='Memory total', - targets, - description=||| - Amount of random-access memory (RAM) installed. - It represents the system's available working memory that applications and the operating system use to perform tasks. - A higher memory total generally leads to better system performance and the ability to run more demanding applications and processes simultaneously. - ||| - ): - super.new(title=title, targets=targets, description=description), - - stylize(allLayers=true): - - (if allLayers then super.stylize() else {}) - - + generic.info.stylize(allLayers=false) - + stat.standardOptions.withUnit('bytes'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet deleted file mode 100644 index 26f7fb23e8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/stat/usage.libsonnet +++ /dev/null @@ -1,24 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; -local fieldOverride = g.panel.stat.fieldOverride; -local custom = stat.fieldConfig.defaults.custom; -local defaults = stat.fieldConfig.defaults; -local options = stat.options; -base { - new( - title='Memory usage', - targets, - description='RAM (random-access memory) currently in use by the operating system and running applications, in percent.' - ): - super.new(title=title, targets=targets, description=description), - - stylize(allLayers=true): - - (if allLayers then super.stylize() else {}) - - + generic.percentage.stylize(allLayers=false) - + stat.standardOptions.withUnit('percent'), - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet deleted file mode 100644 index dae01c389f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/base.libsonnet +++ /dev/null @@ -1,10 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/timeSeries/base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet deleted file mode 100644 index 8a48e365d0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/main.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - base: import './base.libsonnet', - usagePercent: import './usage_percent.libsonnet', - usageBytes: import './usage_bytes.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet deleted file mode 100644 index 623f54b9a2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_bytes.libsonnet +++ /dev/null @@ -1,26 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - totalRegexp:: '.*(T|t)otal.*', - new( - title='Memory usage', - targets, - description=||| - RAM (random-access memory) currently in use by the operating system and running applications, in bytes. - |||, - totalRegexp=self.totalRegexp, - ): - super.new(title=title, targets=targets, description=description), - - stylize(allLayers=true, totalRegexp=self.totalRegexp): - (if allLayers then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('bytes') - + timeSeries.standardOptions.withMin(0) - + generic.threshold.stylizeByRegexp(totalRegexp), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet deleted file mode 100644 index 4f1fa51b17..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/memory/timeSeries/usage_percent.libsonnet +++ /dev/null @@ -1,22 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Memory usage', - targets, - description=||| - RAM (random-access memory) currently in use by the operating system and running applications, in percent. - ||| - ): - super.new(title=title, targets=targets, description=description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + generic.percentage.stylize(allLayers=false), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet deleted file mode 100644 index b3823999c0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/base.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/statusHistory/base.libsonnet'; -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet deleted file mode 100644 index 78ae916065..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/interface_status.libsonnet +++ /dev/null @@ -1,29 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local statusHistory = g.panel.statusHistory; -base { - new(title='Interface status', targets, description='Interfaces statuses'): - super.new(title, targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + statusHistory.standardOptions.color.withMode('fixed') - + statusHistory.options.withShowValue('never') - + statusHistory.standardOptions.withMappings( - { - type: 'value', - options: { - '0': { - text: 'Down', - color: 'light-red', - index: 0, - }, - '1': { - text: 'Up', - color: 'light-green', - index: 1, - }, - }, - } - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet deleted file mode 100644 index 04d137612c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/statusHistory/main.libsonnet +++ /dev/null @@ -1,3 +0,0 @@ -{ - interfaceStatus: import './interface_status.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet deleted file mode 100644 index e7addef294..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/base.libsonnet +++ /dev/null @@ -1,26 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/timeSeries/base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - - + timeSeries.standardOptions.withDecimals(1) - + timeSeries.standardOptions.withUnit('pps'), - - withNegateOutPackets(regexp='/transmit|tx|out/'): - defaults.custom.withAxisLabel('out(-) | in(+)') - + defaults.custom.withAxisCenteredZero(false) - + timeSeries.standardOptions.withOverrides( - fieldOverride.byRegexp.new(regexp) - + fieldOverride.byRegexp.withPropertiesFromOptions( - defaults.custom.withTransform('negative-Y') - ) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet deleted file mode 100644 index 22700e9cc2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/dropped.libsonnet +++ /dev/null @@ -1,28 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Dropped packets', - targets, - description=||| - Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. - - Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. - - Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. - |||, - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - - + timeSeries.standardOptions.withNoValue('No dropped packets'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet deleted file mode 100644 index eb7b313ef8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/errors.libsonnet +++ /dev/null @@ -1,26 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Network errors', - targets, - description=||| - Network errors refer to issues that occur during the transmission of data across a network. - - These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. - - Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. - |||, - ): - super.new(title, targets, description) - + self.stylize(), - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withNoValue('No errors'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet deleted file mode 100644 index 42ddfd2159..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/main.libsonnet +++ /dev/null @@ -1,8 +0,0 @@ -{ - base: import './base.libsonnet', - traffic: import './traffic.libsonnet', - errors: import './errors.libsonnet', - dropped: import './dropped.libsonnet', - packets: import './packets.libsonnet', - multicast: import './multicast.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet deleted file mode 100644 index c817a463c5..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/multicast.libsonnet +++ /dev/null @@ -1,15 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Multicast packets', - targets, - description='Packets sent from one source to multiple recipients simultaneously, allowing efficient one-to-many communication in a network.', - ): - super.new(title, targets, description), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet deleted file mode 100644 index cc136107ff..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/packets.libsonnet +++ /dev/null @@ -1,15 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Network packets', - targets, - description='Network packet count tracks the number of data packets transmitted and received over a network connection, providing insight into network activity and performance.', - ): - super.new(title, targets, description), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet deleted file mode 100644 index 8f87e3d01e..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/network/timeSeries/traffic.libsonnet +++ /dev/null @@ -1,21 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - new( - title='Network traffic', - targets, - description='Network traffic (bits per sec) measures data transmitted and received.', - ): - super.new(title, targets, description) - + self.stylize(), - - stylize(allLayers=true): - - (if allLayers == true then super.stylize() else {}) - + timeSeries.standardOptions.withUnit('bps'), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet deleted file mode 100644 index 587b02b91f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/base.libsonnet +++ /dev/null @@ -1,7 +0,0 @@ -local g = import '../../../g.libsonnet'; -local stat = g.panel.stat; -local base = import '../../generic/stat/base.libsonnet'; - -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet deleted file mode 100644 index d79009cf11..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/main.libsonnet +++ /dev/null @@ -1,3 +0,0 @@ -{ - uptime: import './uptime.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet deleted file mode 100644 index d8c45ba260..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/stat/uptime.libsonnet +++ /dev/null @@ -1,33 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/stat/main.libsonnet'; -local base = import './base.libsonnet'; -local stat = g.panel.stat; -// Uptime panel. expects duration in seconds as input -base { - new(title='Uptime', targets, description='The duration of time that has passed since the last reboot or system start.'): - super.new(title, targets, description) - + stat.options.withReduceOptions({}) - + stat.options.reduceOptions.withCalcsMixin( - [ - 'lastNotNull', - ] - ) - + self.stylize(), - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + stat.standardOptions.withDecimals(1) - + stat.standardOptions.withUnit('dtdurations') - + stat.options.withColorMode('value') - + stat.options.withGraphMode('none') - + stat.standardOptions.thresholds.withMode('absolute') - + stat.standardOptions.thresholds.withSteps( - [ - // Warn with orange color when uptime resets: - stat.thresholdStep.withColor('orange') - + stat.thresholdStep.withValue(null), - // clear color after 10 minutes: - stat.thresholdStep.withColor('text') - + stat.thresholdStep.withValue(600), - ] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet deleted file mode 100644 index b3823999c0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/base.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/statusHistory/base.libsonnet'; -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet deleted file mode 100644 index 0cc0937beb..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/main.libsonnet +++ /dev/null @@ -1,3 +0,0 @@ -{ - ntp: import './ntp.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet deleted file mode 100644 index 42d1c23ba0..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/statusHistory/ntp.libsonnet +++ /dev/null @@ -1,28 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import './base.libsonnet'; -local statusHistory = g.panel.statusHistory; -base { - new(title='NTP status', targets, description=''): - super.new(title, targets, description), - - stylize(allLayers=true): - (if allLayers then super.stylize() else {}) - + statusHistory.standardOptions.color.withMode('fixed') - + statusHistory.standardOptions.withMappings( - { - type: 'value', - options: { - '0': { - text: 'Not in sync', - color: 'light-yellow', - index: 1, - }, - '1': { - text: 'In sync', - color: 'light-green', - index: 0, - }, - }, - } - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet deleted file mode 100644 index c120e15def..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/base.libsonnet +++ /dev/null @@ -1,9 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/table/base.libsonnet'; -local table = g.panel.table; -local fieldOverride = g.panel.table.fieldOverride; -local custom = table.fieldConfig.defaults.custom; -local defaults = table.fieldConfig.defaults; -local options = table.options; -base { -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet deleted file mode 100644 index aa2ce04ffc..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/main.libsonnet +++ /dev/null @@ -1,4 +0,0 @@ -{ - base: import './base.libsonnet', - uptime: import './uptime.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet deleted file mode 100644 index 31b714e07d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/table/uptime.libsonnet +++ /dev/null @@ -1,20 +0,0 @@ -local g = import '../../../g.libsonnet'; -local uptime = import '../stat/uptime.libsonnet'; -local base = import './base.libsonnet'; -local table = g.panel.table; -local fieldOverride = table.fieldOverride; - -base { - local this = self, - - new(): error 'not supported', - stylize(): error 'not supported', - - // when attached to table, this function applies style to row named 'name="Uptime"' - stylizeByName(name='Uptime'): - table.standardOptions.withOverrides( - fieldOverride.byName.new(name) - + fieldOverride.byName.withProperty('custom.cellOptions', { type: 'color-text' }) - + fieldOverride.byName.withPropertiesFromOptions(uptime.stylize(allLayers=false),) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet deleted file mode 100644 index dae01c389f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/base.libsonnet +++ /dev/null @@ -1,10 +0,0 @@ -local g = import '../../../g.libsonnet'; -local base = import '../../generic/timeSeries/base.libsonnet'; -local timeSeries = g.panel.timeSeries; -local fieldOverride = g.panel.timeSeries.fieldOverride; -local custom = timeSeries.fieldConfig.defaults.custom; -local defaults = timeSeries.fieldConfig.defaults; -local options = timeSeries.options; -base { - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet deleted file mode 100644 index d707a52f83..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/load_average.libsonnet +++ /dev/null @@ -1,41 +0,0 @@ -local g = import '../../../g.libsonnet'; -local generic = import '../../generic/timeSeries/main.libsonnet'; -local base = import './base.libsonnet'; -base { - - new( - title='Load average', - loadTargets, - cpuCountTarget, - description=||| - System load average over the previous 1, 5, and 15 minute ranges. - - A measurement of how many processes are waiting for CPU cycles. The maximum number is the number of CPU cores for the node. - ||| - ): - // validate inputs - std.prune( - { - checks: [ - if !(std.objectHas(cpuCountTarget, 'legendFormat')) then error 'cpuCountTarget must have legendFormat"', - ], - } - ) - + - local targets = loadTargets + [cpuCountTarget]; - super.new(title, targets, description) - // call directly threshold styler (not called from super automatically) - + self.stylizeCpuCores(cpuCountTarget.legendFormat), - - stylizeCpuCores(cpuCountName): - generic.threshold.stylizeByRegexp(cpuCountName), - - stylize(allLayers=true, cpuCountName=null): - (if allLayers then super.stylize() else {}) - - + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0) - + g.panel.timeSeries.standardOptions.withMin(0) - + g.panel.timeSeries.standardOptions.withUnit('short') - // this is only called if cpuCountName provided - + (if cpuCountName != null then self.stylizeCpuCores(cpuCountName) else {}), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet deleted file mode 100644 index d3e3b69f5a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/panels/system/timeSeries/main.libsonnet +++ /dev/null @@ -1,4 +0,0 @@ -{ - base: import './base.libsonnet', - loadAverage: import './load_average.libsonnet', -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet deleted file mode 100644 index 7c78f318ee..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/common/utils.libsonnet +++ /dev/null @@ -1,41 +0,0 @@ -{ - local this = self, - - labelsToURLvars(labels, prefix):: - std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), - - // For PromQL or LogQL - labelsToPromQLSelector(labels): std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), - labelsToLogQLSelector: self.labelsToPromQLSelector, - - labelsToPanelLegend(labels): std.join('/', ['{{%s}}' % [label] for label in labels]), - - toSentenceCase(string):: - std.asciiUpper(string[0]) + std.slice(string, 1, std.length(string), 1), - - // Generate a chain of labels. Useful to create chained variables: - chainLabels(labels, additionalFilters=[]): - local last(arr) = std.reverse(arr)[0]; - local chainSelector(chain) = - std.join( - ',', - additionalFilters - + (if std.length(chain) > 0 - then [this.labelsToPromQLSelector(chain)] - else []) - ); - std.foldl( - function(prev, label) - prev - + [{ - label: label, - chainSelector: chainSelector(self.chain), - chain:: - if std.length(prev) > 0 - then last(prev).chain + [last(prev).label] - else [], - }], - labels, - [] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json deleted file mode 100644 index 115d14345b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/common-lib/jsonnetfile.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": 1, - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" - } - }, - "version": "main" - } - ], - "legacyImports": true -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile deleted file mode 100644 index a5076be3f1..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -JSONNET_FMT := jsonnetfmt -n 2 --max-blank-lines 1 --string-style s --comment-style s - -.PHONY: all -all: build dashboards_out - -vendor: jsonnetfile.json - jb install - -.PHONY: build -build: vendor - -.PHONY: fmt -fmt: - find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ - xargs -n 1 -- $(JSONNET_FMT) -i - -.PHONY: lint -lint: build - find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ - while read f; do \ - $(JSONNET_FMT) "$$f" | diff -u "$$f" -; \ - done - mixtool lint mixin.libsonnet - -dashboards_out: mixin.libsonnet $(wildcard dashboards/*) - @mkdir -p dashboards_out - mixtool generate dashboards -J lib -J vendor mixin.libsonnet -d dashboards_out - -.PHONY: clean -clean: - rm -rf dashboards_out prometheus_alerts.yaml diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md deleted file mode 100644 index fd39f200d4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# Logs lib - -This logs lib can be used to generate logs dashboard using [grafonnet](https://github.com/grafana/grafonnet). - -## Import - -```sh -jb init -jb install https://github.com/grafana/jsonnet-libs/logs-lib -``` - -## Examples - -### Generate kubernetes logs dashboard - -```jsonnet -local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; - -//Additional selector to add to all variable queries and alerts(if any) -local kubeFilterSelector = 'namespace!=""'; -// Array of labels to compose chained grafana variables (order matters) -local kubeLabels = ['cluster', 'namespace', 'app', 'pod', 'container']; - -// pick one of Loki's parsers to use: i.e. logfmt, json. -// | __error__=`` is appended automatically -// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression -// set null or do not provide at all if parsing is not required. -local formatParser = 'logfmt'; - -//group by 'app' label instead of 'level': -local logsVolumeGroupBy = 'app'; - -//extra filters to do advanced line_format: -local extraFilters = ||| - | label_format timestamp="{{__timestamp__}}" - | line_format `{{ if eq "[[pod]]" ".*" }}{{.pod | trunc 20}}:{{else}}{{.container}}:{{end}} {{__line__}}` -|||; - -( - logsDashboard.new('Kubernetes apps logs', - datasourceRegex='', - filterSelector=kubeFilterSelector, - labels=kubeLabels, - formatParser=formatParser, - logsVolumeGroupBy=logsVolumeGroupBy, - extraFilters=extraFilters) -).dashboards.logs -``` - -![image](https://github.com/grafana/jsonnet-libs/assets/14870891/7b246cc9-5de1-42f5-b3cd-bb9f89302405) - -### Generate systemd logs dashboard and modify panels and variables - -This lib exposes `variables`, `targets`, `panels`, and `dashboards`. - -Because of that, you can override options of those objects before exporting the dashboard. - -Again, use [Grafonnet](https://grafana.github.io/grafonnet/API/panel/index.html) for this: - -```jsonnet -local g = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet'; -local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; - - -local linuxFilterSelector = 'unit!=""'; -local linuxLabels = ['job', 'instance', 'unit', 'level']; - -// pick one of Loki's parsers to use: i.e. logfmt, json. -// | __error__=`` is appended automatically -// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression -// set null or do not provide at all if parsing is not required. -local formatParser = 'unpack'; - -// 2. create and export systemd logs dashboard -local systemdLogs = - logslib.new('Linux systemd logs', - datasourceRegex='', - filterSelector=linuxFilterSelector, - labels=linuxLabels, - formatParser=formatParser, - showLogsVolume=true) - // override panels or variables using grafonnet - { - panels+: - { - logs+: - g.panel.logs.options.withEnableLogDetails(false), - }, - variables+: - { - regex_search+: - g.dashboard.variable.textbox.new('regex_search', default='error'), - }, - }; -// export logs dashboard -systemdLogs.dashboards.logs - -``` - -![image](https://github.com/grafana/jsonnet-libs/assets/14870891/5e6313fd-9135-446a-b7bf-cf124b436970) - -### Generate docker logs dashboard - -```jsonnet - -local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; - -// Array of labels to compose chained grafana variables -local dockerFilterSelector = 'container_name!=""'; -local dockerLabels = ['job', 'instance', 'container_name']; - -// pick one of Loki's parsers to use: i.e. logfmt, json. -// | __error__=`` is appended automatically -// https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression -// set null or do not provide at all if parsing is not required. -local formatParser = 'logfmt'; - -( - logslib.new('Docker logs', - datasourceRegex='', - filterSelector=dockerFilterSelector, - labels=dockerLabels, - formatParser=formatParser) -).dashboards.logs - -``` diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json deleted file mode 100644 index 115d14345b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/jsonnetfile.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": 1, - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" - } - }, - "version": "main" - } - ], - "legacyImports": true -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet deleted file mode 100644 index f721f3a643..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/dashboards.libsonnet +++ /dev/null @@ -1,30 +0,0 @@ -local g = import './g.libsonnet'; - -function( - title, - showLogsVolume, - panels, - variables, -) - { - local this = self, - logs: - g.dashboard.new(title) - + g.dashboard.withUid(g.util.string.slugify(title)) - + g.dashboard.withVariables(variables.toArray) - + g.dashboard.withPanels( - ( - if showLogsVolume then - [panels.logsVolume - + g.panel.timeSeries.gridPos.withH(6) - + g.panel.timeSeries.gridPos.withW(24)] - else [] - ) - + - [ - panels.logs - + g.panel.logs.gridPos.withH(18) - + g.panel.logs.gridPos.withW(24), - ] - ), - } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet deleted file mode 100644 index 6da9f4eef9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/g.libsonnet +++ /dev/null @@ -1 +0,0 @@ -import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet deleted file mode 100644 index 6b80ee4f0a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet +++ /dev/null @@ -1,51 +0,0 @@ -local dashboards = import './dashboards.libsonnet'; -local g = import './g.libsonnet'; -local panels = import './panels.libsonnet'; -local targets = import './targets.libsonnet'; -local variables = import './variables.libsonnet'; - -{ - new( - title, - filterSelector, - labels, - datasourceRegex, - datasourceName='loki_datasource', - datasourceLabel='Loki data source', - formatParser=null, - showLogsVolume=true, - logsVolumeGroupBy='level', - extraFilters='', - ): { - - local this = self, - variables: variables( - datasourceName, - datasourceLabel, - datasourceRegex, - filterSelector, - labels, - ), - - targets: targets( - this.variables, - formatParser, - logsVolumeGroupBy, - extraFilters, - ), - - panels: panels( - this.targets.logsVolumeTarget, - this.targets.logsTarget, - logsVolumeGroupBy, - ), - - dashboards: dashboards( - title, - showLogsVolume, - this.panels, - this.variables, - ), - }, - -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet deleted file mode 100644 index 9f3a0b1b86..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/panels.libsonnet +++ /dev/null @@ -1,86 +0,0 @@ -local g = import './g.libsonnet'; - -local timeSeries = g.panel.timeSeries; -local logsPanel = g.panel.logs; -local defaults = timeSeries.fieldConfig.defaults; -local custom = timeSeries.fieldConfig.defaults.custom; -local options = timeSeries.options; -local fieldConfig = timeSeries.fieldConfig; -function( - logsVolumeTarget, - logsTarget, - logsVolumeGroupBy, -) - - { - local this = self, - - logsVolumeInit(targets, title='Logs volume'):: - timeSeries.new(title) - + timeSeries.queryOptions.withTargets(targets) - + timeSeries.panelOptions.withDescription('Logs volume grouped by "%s" label.' % logsVolumeGroupBy) - // set type to first target's type - + timeSeries.queryOptions.withDatasource( - logsVolumeTarget.datasource.type, logsVolumeTarget.datasource.uid - ) - + custom.withDrawStyle('bars') - + custom.stacking.withMode('normal') - + custom.withFillOpacity(50) - // should be set, otherwise interval is around 1s by default - + timeSeries.queryOptions.withInterval('30s') - + options.tooltip.withMode('multi') - + options.tooltip.withSort('desc') - + timeSeries.standardOptions.withUnit('none') - + timeSeries.queryOptions.withTransformationsMixin( - { - id: 'renameByRegex', - options: { - regex: 'Value', - renamePattern: 'logs', - }, - } - ) - + timeSeries.standardOptions.withOverridesMixin( - [ - { - matcher: { - id: 'byRegexp', - options: o.regex, - }, - properties: [ - { - id: 'color', - value: { - mode: 'fixed', - fixedColor: o.color, - }, - }, - ], - } - // https://grafana.com/docs/grafana/latest/explore/logs-integration/#log-level - for o in - [ - { regex: '(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*', color: 'purple' }, - { regex: '(E|e)(rr.*|RR.*)', color: 'red' }, - { regex: '(W|w)(arn.*|ARN.*|rn|RN)', color: 'orange' }, - { regex: '(N|n)(otice|ote)|(I|i)(nf.*|NF.*)', color: 'green' }, - { regex: 'dbg.*|DBG.*|(D|d)(EBUG|ebug)', color: 'blue' }, - { regex: '(T|t)(race|RACE)', color: 'light-blue' }, - { regex: 'logs', color: 'text' }, - ] - ] - ), - - logsInit(targets, title='Logs'):: - logsPanel.new(title) - + logsPanel.queryOptions.withTargets(targets) - + logsPanel.options.withDedupStrategy('exact') //"none", "exact", "numbers", "signature" - + logsPanel.options.withEnableLogDetails(true) - + logsPanel.options.withShowTime(true) - + logsPanel.options.withWrapLogMessage(true) - + logsPanel.options.withPrettifyLogMessage(true), - - logsVolume: self.logsVolumeInit(logsVolumeTarget), - logs: self.logsInit(logsTarget), - - } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet deleted file mode 100644 index 4be78130e6..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/targets.libsonnet +++ /dev/null @@ -1,41 +0,0 @@ -local utils = import '../utils.libsonnet'; -local g = import './g.libsonnet'; -local lokiQuery = g.query.loki; -function( - variables, - formatParser, - logsVolumeGroupBy, - extraFilters, -) { - formatParser:: if formatParser != null then '| %s | __error__=``' % formatParser else '', - logsTarget:: - lokiQuery.new( - datasource='${' + variables.datasource.name + '}', - expr=||| - {%s} - |~ "$regex_search" - %s - %s - ||| % [ - variables.queriesSelector, - self.formatParser, - extraFilters, - ] - ), - - logsVolumeTarget:: - lokiQuery.new( - datasource='${' + variables.datasource.name + '}', - expr=||| - sum by (%s) (count_over_time({%s} - |~ "$regex_search" - %s - [$__interval])) - ||| % [ - logsVolumeGroupBy, - variables.queriesSelector, - self.formatParser, - ] - ) - + lokiQuery.withLegendFormat('{{ %s }}' % logsVolumeGroupBy), -} diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet deleted file mode 100644 index 1f362c4e17..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/logs/variables.libsonnet +++ /dev/null @@ -1,59 +0,0 @@ -local utils = import '../utils.libsonnet'; -local g = import './g.libsonnet'; -local var = g.dashboard.variable; -function( - datasourceName, - datasourceLabel, - datasourceRegex, - filterSelector, - labels, -) - { - local this = self, - local variablesFromLabels(labels, filterSelector) = - local chainVarProto(chainVar) = - var.query.new(chainVar.label) - + var.query.withDatasourceFromVariable(this.datasource) - + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) - + var.query.queryTypes.withLabelValues( - chainVar.label, - '{%s}' % chainVar.chainSelector, - ) - + var.query.selectionOptions.withIncludeAll( - value=true, - customAllValue='.*' - ) - + var.query.selectionOptions.withMulti() - + var.query.refresh.onTime() - + var.query.withSort( - i=1, - type='alphabetical', - asc=true, - caseInsensitive=false - ) - ; - [ - chainVarProto(chainVar) - for chainVar in utils.chainLabels(labels, [filterSelector]) - ], - - datasource: - var.datasource.new(datasourceName, 'loki') - + var.datasource.withRegex(datasourceRegex) - + var.query.generalOptions.withLabel(datasourceLabel), - - regex_search: - var.textbox.new('regex_search', default='') - + var.query.generalOptions.withLabel('Regex search'), - - toArray: - [self.datasource] - + variablesFromLabels(labels, filterSelector) - + [self.regex_search], - - queriesSelector: - '%s,%s' % [ - filterSelector, - utils.labelsToPromQLSelector(labels), - ], - } diff --git a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet b/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet deleted file mode 100644 index 7d0a60a3a4..0000000000 --- a/docs/node-observ-lib/vendor/github.com/grafana/jsonnet-libs/logs-lib/utils.libsonnet +++ /dev/null @@ -1,41 +0,0 @@ -{ - local this = self, - - labelsToURLvars(labels, prefix):: - std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), - - // For PromQL or LogQL - labelsToPromQLSelector(labels): std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), - labelsToLogQLSelector: self.labelsToPromQLSelector, - - labelsToPanelLegend(labels): std.join('/', ['{{%s}}' % [label] for label in labels]), - - toSentenceCase(string):: - std.asciiUpper(string[0]) + std.slice(string, 1, std.length(string), 1), - - // Generate a chain of labels. Useful to create chained variables - chainLabels(labels, additionalFilters=[]): - local last(arr) = std.reverse(arr)[0]; - local chainSelector(chain) = - std.join( - ',', - additionalFilters - + (if std.length(chain) > 0 - then [this.labelsToPromQLSelector(chain)] - else []) - ); - std.foldl( - function(prev, label) - prev - + [{ - label: label, - chainSelector: chainSelector(self.chain), - chain:: - if std.length(prev) > 0 - then last(prev).chain + [last(prev).label] - else [], - }], - labels, - [] - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md deleted file mode 100644 index c6777425cf..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/README.md +++ /dev/null @@ -1,326 +0,0 @@ -# doc-util - -`doc-util` provides a Jsonnet interface for `docsonnet`, - a Jsonnet API doc generator that uses structured data instead of comments. - -## Install - -``` -jb install github.com/jsonnet-libs/docsonnet/doc-util@master -``` - -## Usage - -```jsonnet -local d = import "github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet" -``` - - -## Index - -* [`fn arg(name, type, default, enums)`](#fn-arg) -* [`fn fn(help, args)`](#fn-fn) -* [`fn obj(help, fields)`](#fn-obj) -* [`fn pkg(name, url, help, filename="", version="master")`](#fn-pkg) -* [`fn render(obj)`](#fn-render) -* [`fn val(type, help, default)`](#fn-val) -* [`obj argument`](#obj-argument) - * [`fn fromSchema(name, schema)`](#fn-argumentfromschema) - * [`fn new(name, type, default, enums)`](#fn-argumentnew) -* [`obj func`](#obj-func) - * [`fn new(help, args)`](#fn-funcnew) - * [`fn withArgs(args)`](#fn-funcwithargs) - * [`fn withHelp(help)`](#fn-funcwithhelp) -* [`obj object`](#obj-object) - * [`fn new(help, fields)`](#fn-objectnew) - * [`fn withFields(fields)`](#fn-objectwithfields) -* [`obj value`](#obj-value) - * [`fn new(type, help, default)`](#fn-valuenew) -* [`obj T`](#obj-t) -* [`obj package`](#obj-package) - * [`fn new(name, url, help, filename="", version="master")`](#fn-packagenew) - * [`fn newSub(name, help)`](#fn-packagenewsub) - -## Fields - -### fn arg - -```jsonnet -arg(name, type, default, enums) -``` - -PARAMETERS: - -* **name** (`string`) -* **type** (`string`) -* **default** (`any`) -* **enums** (`array`) - -`arg` is a shorthand for `argument.new` -### fn fn - -```jsonnet -fn(help, args) -``` - -PARAMETERS: - -* **help** (`string`) -* **args** (`array`) - -`fn` is a shorthand for `func.new` -### fn obj - -```jsonnet -obj(help, fields) -``` - -PARAMETERS: - -* **help** (`string`) -* **fields** (`object`) - -`obj` is a shorthand for `object.new` -### fn pkg - -```jsonnet -pkg(name, url, help, filename="", version="master") -``` - -PARAMETERS: - -* **name** (`string`) -* **url** (`string`) -* **help** (`string`) -* **filename** (`string`) - - default value: `""` -* **version** (`string`) - - default value: `"master"` - -`new` is a shorthand for `package.new` -### fn render - -```jsonnet -render(obj) -``` - -PARAMETERS: - -* **obj** (`object`) - -`render` converts the docstrings to human readable Markdown files. - -Usage: - -```jsonnet -// docs.jsonnet -d.render(import 'main.libsonnet') -``` - -Call with: `jsonnet -S -c -m docs/ docs.jsonnet` - -### fn val - -```jsonnet -val(type, help, default) -``` - -PARAMETERS: - -* **type** (`string`) -* **help** (`string`) -* **default** (`any`) - -`val` is a shorthand for `value.new` -### obj argument - -Utilities for creating function arguments - -#### fn argument.fromSchema - -```jsonnet -argument.fromSchema(name, schema) -``` - -PARAMETERS: - -* **name** (`string`) -* **schema** (`object`) - -`fromSchema` creates a new function argument, taking a JSON `schema` to describe the type information for this argument. - -Examples: - -```jsonnet -[ - d.argument.fromSchema('foo', { type: 'string' }), - d.argument.fromSchema('bar', { type: 'string', default='loo' }), - d.argument.fromSchema('baz', { type: 'number', enum=[1,2,3] }), -] -``` - -#### fn argument.new - -```jsonnet -argument.new(name, type, default, enums) -``` - -PARAMETERS: - -* **name** (`string`) -* **type** (`string`) -* **default** (`any`) -* **enums** (`array`) - -`new` creates a new function argument, taking the `name`, the `type`. Optionally it -can take a `default` value and `enum`-erate potential values. - -Examples: - -```jsonnet -[ - d.argument.new('foo', d.T.string), - d.argument.new('bar', d.T.string, default='loo'), - d.argument.new('baz', d.T.number, enums=[1,2,3]), -] -``` - -### obj func - -Utilities for documenting Jsonnet methods (functions of objects) - -#### fn func.new - -```jsonnet -func.new(help, args) -``` - -PARAMETERS: - -* **help** (`string`) -* **args** (`array`) - -new creates a new function, optionally with description and arguments -#### fn func.withArgs - -```jsonnet -func.withArgs(args) -``` - -PARAMETERS: - -* **args** (`array`) - -The `withArgs` modifier overrides the arguments of that function -#### fn func.withHelp - -```jsonnet -func.withHelp(help) -``` - -PARAMETERS: - -* **help** (`string`) - -The `withHelp` modifier overrides the help text of that function -### obj object - -Utilities for documenting Jsonnet objects (`{ }`). - -#### fn object.new - -```jsonnet -object.new(help, fields) -``` - -PARAMETERS: - -* **help** (`string`) -* **fields** (`object`) - -new creates a new object, optionally with description and fields -#### fn object.withFields - -```jsonnet -object.withFields(fields) -``` - -PARAMETERS: - -* **fields** (`object`) - -The `withFields` modifier overrides the fields property of an already created object -### obj value - -Utilities for documenting plain Jsonnet values (primitives) - -#### fn value.new - -```jsonnet -value.new(type, help, default) -``` - -PARAMETERS: - -* **type** (`string`) -* **help** (`string`) -* **default** (`any`) - -new creates a new object of given type, optionally with description and default value -### obj T - -* `T.any` (`string`): `"any"` - argument of type "any" -* `T.array` (`string`): `"array"` - argument of type "array" -* `T.boolean` (`string`): `"bool"` - argument of type "boolean" -* `T.func` (`string`): `"function"` - argument of type "func" -* `T.null` (`string`): `"null"` - argument of type "null" -* `T.number` (`string`): `"number"` - argument of type "number" -* `T.object` (`string`): `"object"` - argument of type "object" -* `T.string` (`string`): `"string"` - argument of type "string" - -### obj package - - -#### fn package.new - -```jsonnet -package.new(name, url, help, filename="", version="master") -``` - -PARAMETERS: - -* **name** (`string`) -* **url** (`string`) -* **help** (`string`) -* **filename** (`string`) - - default value: `""` -* **version** (`string`) - - default value: `"master"` - -`new` creates a new package - -Arguments: - -* given `name` -* source `url` for jsonnet-bundler and the import -* `help` text -* `filename` for the import, defaults to blank for backward compatibility -* `version` for jsonnet-bundler install, defaults to `master` just like jsonnet-bundler - -#### fn package.newSub - -```jsonnet -package.newSub(name, help) -``` - -PARAMETERS: - -* **name** (`string`) -* **help** (`string`) - -`newSub` creates a package without the preconfigured install/usage templates. - -Arguments: - -* given `name` -* `help` text diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet deleted file mode 100644 index f3ec298495..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet +++ /dev/null @@ -1,263 +0,0 @@ -{ - local d = self, - - '#': - d.pkg( - name='doc-util', - url='github.com/jsonnet-libs/docsonnet/doc-util', - help=||| - `doc-util` provides a Jsonnet interface for `docsonnet`, - a Jsonnet API doc generator that uses structured data instead of comments. - |||, - filename=std.thisFile, - ) - + d.package.withUsageTemplate( - 'local d = import "%(import)s"' - ), - - package:: { - '#new':: d.fn(||| - `new` creates a new package - - Arguments: - - * given `name` - * source `url` for jsonnet-bundler and the import - * `help` text - * `filename` for the import, defaults to blank for backward compatibility - * `version` for jsonnet-bundler install, defaults to `master` just like jsonnet-bundler - |||, [ - d.arg('name', d.T.string), - d.arg('url', d.T.string), - d.arg('help', d.T.string), - d.arg('filename', d.T.string, ''), - d.arg('version', d.T.string, 'master'), - ]), - new(name, url, help, filename='', version='master'):: - { - name: name, - help: - help - + std.get(self, 'installTemplate', '') % self - + std.get(self, 'usageTemplate', '') % self, - 'import': - if filename != '' - then url + '/' + filename - else url, - url: url, - filename: filename, - version: version, - - } - + self.withInstallTemplate( - 'jb install %(url)s@%(version)s' - ) - + self.withUsageTemplate( - 'local %(name)s = import "%(import)s"' - ), - - '#newSub':: d.fn(||| - `newSub` creates a package without the preconfigured install/usage templates. - - Arguments: - - * given `name` - * `help` text - |||, [ - d.arg('name', d.T.string), - d.arg('help', d.T.string), - ]), - newSub(name, help):: - { - name: name, - help: help, - }, - - withInstallTemplate(template):: { - installTemplate: - if template != null - then - ||| - - ## Install - - ``` - %s - ``` - ||| % template - else '', - }, - - withUsageTemplate(template):: { - usageTemplate: - if template != null - then - ||| - - ## Usage - - ```jsonnet - %s - ``` - ||| % template - else '', - }, - }, - - '#pkg':: self.package['#new'] + d.func.withHelp('`new` is a shorthand for `package.new`'), - pkg:: self.package.new, - - '#object': d.obj('Utilities for documenting Jsonnet objects (`{ }`).'), - object:: { - '#new': d.fn('new creates a new object, optionally with description and fields', [d.arg('help', d.T.string), d.arg('fields', d.T.object)]), - new(help='', fields={}):: { object: { - help: help, - fields: fields, - } }, - - '#withFields': d.fn('The `withFields` modifier overrides the fields property of an already created object', [d.arg('fields', d.T.object)]), - withFields(fields):: { object+: { - fields: fields, - } }, - }, - - '#obj': self.object['#new'] + d.func.withHelp('`obj` is a shorthand for `object.new`'), - obj:: self.object.new, - - '#func': d.obj('Utilities for documenting Jsonnet methods (functions of objects)'), - func:: { - '#new': d.fn('new creates a new function, optionally with description and arguments', [d.arg('help', d.T.string), d.arg('args', d.T.array)]), - new(help='', args=[]):: { 'function': { - help: help, - args: args, - } }, - - '#withHelp': d.fn('The `withHelp` modifier overrides the help text of that function', [d.arg('help', d.T.string)]), - withHelp(help):: { 'function'+: { - help: help, - } }, - - '#withArgs': d.fn('The `withArgs` modifier overrides the arguments of that function', [d.arg('args', d.T.array)]), - withArgs(args):: { 'function'+: { - args: args, - } }, - }, - - '#fn': self.func['#new'] + d.func.withHelp('`fn` is a shorthand for `func.new`'), - fn:: self.func.new, - - '#argument': d.obj('Utilities for creating function arguments'), - argument:: { - '#new': d.fn(||| - `new` creates a new function argument, taking the `name`, the `type`. Optionally it - can take a `default` value and `enum`-erate potential values. - - Examples: - - ```jsonnet - [ - d.argument.new('foo', d.T.string), - d.argument.new('bar', d.T.string, default='loo'), - d.argument.new('baz', d.T.number, enums=[1,2,3]), - ] - ``` - |||, [ - d.arg('name', d.T.string), - d.arg('type', d.T.string), - d.arg('default', d.T.any), - d.arg('enums', d.T.array), - ]), - new(name, type, default=null, enums=null): { - name: name, - type: type, - default: default, - enums: enums, - }, - '#fromSchema': d.fn(||| - `fromSchema` creates a new function argument, taking a JSON `schema` to describe the type information for this argument. - - Examples: - - ```jsonnet - [ - d.argument.fromSchema('foo', { type: 'string' }), - d.argument.fromSchema('bar', { type: 'string', default='loo' }), - d.argument.fromSchema('baz', { type: 'number', enum=[1,2,3] }), - ] - ``` - |||, [ - d.arg('name', d.T.string), - d.arg('schema', d.T.object), - ]), - fromSchema(name, schema): { - name: name, - schema: schema, - }, - }, - '#arg': self.argument['#new'] + self.func.withHelp('`arg` is a shorthand for `argument.new`'), - arg:: self.argument.new, - - '#value': d.obj('Utilities for documenting plain Jsonnet values (primitives)'), - value:: { - '#new': d.fn('new creates a new object of given type, optionally with description and default value', [d.arg('type', d.T.string), d.arg('help', d.T.string), d.arg('default', d.T.any)]), - new(type, help='', default=null): { value: { - help: help, - type: type, - default: default, - } }, - }, - '#val': self.value['#new'] + self.func.withHelp('`val` is a shorthand for `value.new`'), - val:: self.value.new, - - // T contains constants for the Jsonnet types - T:: { - '#string': d.val(d.T.string, 'argument of type "string"'), - string: 'string', - - '#number': d.val(d.T.string, 'argument of type "number"'), - number: 'number', - int: self.number, - integer: self.number, - - '#boolean': d.val(d.T.string, 'argument of type "boolean"'), - boolean: 'bool', - bool: self.boolean, - - '#object': d.val(d.T.string, 'argument of type "object"'), - object: 'object', - - '#array': d.val(d.T.string, 'argument of type "array"'), - array: 'array', - - '#any': d.val(d.T.string, 'argument of type "any"'), - any: 'any', - - '#null': d.val(d.T.string, 'argument of type "null"'), - 'null': 'null', - nil: self['null'], - - '#func': d.val(d.T.string, 'argument of type "func"'), - func: 'function', - 'function': self.func, - }, - - '#render': d.fn( - ||| - `render` converts the docstrings to human readable Markdown files. - - Usage: - - ```jsonnet - // docs.jsonnet - d.render(import 'main.libsonnet') - ``` - - Call with: `jsonnet -S -c -m docs/ docs.jsonnet` - |||, - args=[ - d.arg('obj', d.T.object), - ] - ), - render:: (import './render.libsonnet').render, - -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet deleted file mode 100644 index e02c4e9ad3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/docsonnet/doc-util/render.libsonnet +++ /dev/null @@ -1,476 +0,0 @@ -{ - local root = self, - - render(obj): - assert std.isObject(obj) && '#' in obj : 'error: object is not a docsonnet package'; - local package = self.package(obj); - package.toFiles(), - - findPackages(obj, path=[]): { - local find(obj, path, parentWasPackage=true) = - std.foldl( - function(acc, k) - acc - + ( - // If matches a package but warn if also has an object docstring - if '#' in obj[k] && '#' + k in obj - && !std.objectHasAll(obj[k]['#'], 'ignore') - then std.trace( - 'warning: %s both defined as object and package' % k, - [root.package(obj[k], path + [k], parentWasPackage)] - ) - // If matches a package, return it - else if '#' in obj[k] - && !std.objectHasAll(obj[k]['#'], 'ignore') - then [root.package(obj[k], path + [k], parentWasPackage)] - // If not, keep looking - else find(obj[k], path + [k], parentWasPackage=false) - ), - std.filter( - function(k) - !std.startsWith(k, '#') - && std.isObject(obj[k]), - std.objectFieldsAll(obj) - ), - [] - ), - - packages: find(obj, path), - - hasPackages(): std.length(self.packages) > 0, - - toIndex(relativeTo=[]): - if self.hasPackages() - then - std.join('\n', [ - '* ' + p.link(relativeTo) - for p in self.packages - ]) - + '\n' - else '', - - toFiles(): - std.foldl( - function(acc, p) - acc - + { [p.path]: p.toString() } - + p.packages.toFiles(), - self.packages, - {} - ), - }, - - package(obj, path=[], parentWasPackage=true): { - local this = self, - local doc = obj['#'], - - packages: root.findPackages(obj, path), - fields: root.fields(obj), - - local pathsuffix = - (if self.packages.hasPackages() - then '/index.md' - else '.md'), - - // filepath on disk - path: - std.join('/', path) - + pathsuffix, - - link(relativeTo): - local relativepath = root.util.getRelativePath(path, relativeTo); - '[%s](%s)' % [ - std.join('.', relativepath), - std.join('/', relativepath) - + pathsuffix, - ], - - toFiles(): - { 'README.md': this.toString() } - + self.packages.toFiles(), - - toString(): - std.join( - '\n', - [ - '# ' + doc.name + '\n', - std.get(doc, 'help', ''), - '', - ] - + (if self.packages.hasPackages() - then [ - '## Subpackages\n\n' - + self.packages.toIndex(path), - ] - else []) - + (if self.fields.hasFields() - then [ - '## Index\n\n' - + self.fields.toIndex() - + '\n## Fields\n' - + self.fields.toString(), - ] - else []) - ), - }, - - fields(obj, path=[]): { - values: root.findValues(obj, path), - functions: root.findFunctions(obj, path), - objects: root.findObjects(obj, path), - - hasFields(): - std.any([ - self.values.hasFields(), - self.functions.hasFields(), - self.objects.hasFields(), - ]), - - toIndex(): - std.join('', [ - self.functions.toIndex(), - self.objects.toIndex(), - ]), - - toString(): - std.join('', [ - self.values.toString(), - self.functions.toString(), - self.objects.toString(), - ]), - }, - - findObjects(obj, path=[]): { - local keys = - std.filter( - root.util.filter('object', obj), - std.objectFieldsAll(obj) - ), - - local undocumentedKeys = - std.filter( - function(k) - std.all([ - !std.startsWith(k, '#'), - std.isObject(obj[k]), - !std.objectHasAll(obj[k], 'ignore'), - !('#' + k in obj), // not documented in parent - !('#' in obj[k]), // not a sub package - ]), - std.objectFieldsAll(obj) - ), - - objects: - std.foldl( - function(acc, k) - acc + [ - root.obj( - root.util.realkey(k), - obj[k], - obj[root.util.realkey(k)], - path, - ), - ], - keys, - [] - ) - + std.foldl( - function(acc, k) - local o = root.obj( - k, - { object: { help: '' } }, - obj[k], - path, - ); - acc - + (if o.fields.hasFields() - then [o] - else []), - undocumentedKeys, - [] - ), - - hasFields(): std.length(self.objects) > 0, - - toIndex(): - if self.hasFields() - then - std.join('', [ - std.join( - '', - [' ' for d in std.range(0, (std.length(path) * 2) - 1)] - + ['* ', f.link] - + ['\n'] - + (if f.fields.hasFields() - then [f.fields.toIndex()] - else []) - ) - for f in self.objects - ]) - else '', - - toString(): - if self.hasFields() - then - std.join('', [ - o.toString() - for o in self.objects - ]) - else '', - }, - - obj(name, doc, obj, path): { - fields: root.fields(obj, path + [name]), - - path: std.join('.', path + [name]), - fragment: root.util.fragment(std.join('', path + [name])), - link: '[`obj %s`](#obj-%s)' % [name, self.fragment], - - toString(): - std.join( - '\n', - [root.util.title('obj ' + self.path, std.length(path) + 2)] - + (if std.get(doc.object, 'help', '') != '' - then [doc.object.help] - else []) - + [self.fields.toString()] - ), - }, - - findFunctions(obj, path=[]): { - local keys = - std.filter( - root.util.filter('function', obj), - std.objectFieldsAll(obj) - ), - - functions: - std.foldl( - function(acc, k) - acc + [ - root.func( - root.util.realkey(k), - obj[k], - path, - ), - ], - keys, - [] - ), - - hasFields(): std.length(self.functions) > 0, - - toIndex(): - if self.hasFields() - then - std.join('', [ - std.join( - '', - [' ' for d in std.range(0, (std.length(path) * 2) - 1)] - + ['* ', f.link] - + ['\n'] - ) - for f in self.functions - ]) - else '', - - toString(): - if self.hasFields() - then - std.join('', [ - f.toString() - for f in self.functions - ]) - else '', - }, - - func(name, doc, path): { - path: std.join('.', path + [name]), - fragment: root.util.fragment(std.join('', path + [name])), - link: '[`fn %s(%s)`](#fn-%s)' % [name, self.args, self.fragment], - - local getType(arg) = - local type = - if 'schema' in arg - then std.get(arg.schema, 'type', '') - else std.get(arg, 'type', ''); - if std.isArray(type) - then std.join(',', [t for t in type]) - else type, - - // Use BelRune as default can be 'null' as a value. Only supported for arg.schema, arg.default didn't support this, not sure how to support without breaking asssumptions downstream. - local BelRune = std.char(7), - local getDefault(arg) = - if 'schema' in arg - then std.get(arg.schema, 'default', BelRune) - else - local d = std.get(arg, 'default', BelRune); - if d == null - then BelRune - else d, - - local getEnum(arg) = - if 'schema' in arg - then std.get(arg.schema, 'enum', []) - else - local d = std.get(arg, 'enums', []); - if d == null - then [] - else d, - - args: - std.join(', ', [ - local default = getDefault(arg); - if default != BelRune - then std.join('=', [ - arg.name, - std.manifestJson(default), - ]) - else arg.name - for arg in doc['function'].args - ]), - - - args_list: - if std.length(doc['function'].args) > 0 - then - '\nPARAMETERS:\n\n' - + std.join('\n', [ - '* **%s** (`%s`)' % [arg.name, getType(arg)] - + ( - local default = getDefault(arg); - if default != BelRune - then '\n - default value: `%s`' % std.manifestJson(default) - else '' - ) - + ( - local enum = getEnum(arg); - if enum != [] - then - '\n - valid values: %s' % - std.join(', ', [ - '`%s`' % std.manifestJson(item) - for item in enum - ]) - else '' - ) - for arg in doc['function'].args - ]) - else '', - - toString(): - std.join('\n', [ - root.util.title('fn ' + self.path, std.length(path) + 2), - ||| - ```jsonnet - %s(%s) - ``` - %s - ||| % [self.path, self.args, self.args_list], - std.get(doc['function'], 'help', ''), - ]), - }, - - findValues(obj, path=[]): { - local keys = - std.filter( - root.util.filter('value', obj), - std.objectFieldsAll(obj) - ), - - values: - std.foldl( - function(acc, k) - acc + [ - root.val( - root.util.realkey(k), - obj[k], - obj[root.util.realkey(k)], - path, - ), - ], - keys, - [] - ), - - hasFields(): std.length(self.values) > 0, - - toString(): - if self.hasFields() - then - std.join('\n', [ - '* ' + f.toString() - for f in self.values - ]) + '\n' - else '', - }, - - val(name, doc, obj, path): { - toString(): - std.join(' ', [ - '`%s`' % std.join('.', path + [name]), - '(`%s`):' % doc.value.type, - '`"%s"`' % obj, - '-', - std.get(doc.value, 'help', ''), - ]), - }, - - util: { - realkey(key): - assert std.startsWith(key, '#') : 'Key %s not a docstring key' % key; - key[1:], - title(title, depth=0): - std.join( - '', - ['\n'] - + ['#' for i in std.range(0, depth)] - + [' ', title, '\n'] - ), - fragment(title): - std.asciiLower( - std.strReplace( - std.strReplace(title, '.', '') - , ' ', '-' - ) - ), - filter(type, obj): - function(k) - std.all([ - std.startsWith(k, '#'), - std.isObject(obj[k]), - !std.objectHasAll(obj[k], 'ignore'), - type in obj[k], - root.util.realkey(k) in obj, - ]), - - getRelativePath(path, relativeTo): - local shortest = std.min(std.length(relativeTo), std.length(path)); - - local commonIndex = - std.foldl( - function(acc, i) ( - if acc.stop - then acc - else - acc + { - // stop count if path diverges - local stop = relativeTo[i] != path[i], - stop: stop, - count+: if stop then 0 else 1, - } - ), - std.range(0, shortest - 1), - { stop: false, count: 0 } - ).count; - - local _relativeTo = relativeTo[commonIndex:]; - local _path = path[commonIndex:]; - - // prefix for relative difference - local prefix = ['..' for i in std.range(0, std.length(_relativeTo) - 1)]; - - // return path with prefix - prefix + _path, - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml deleted file mode 100644 index bfe3f82712..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.github/workflows/tests.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: tests -on: - pull_request: {} - push: - branches: - - main - - master - -jobs: - test: - name: test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v4 - - name: make test - run: | - go install github.com/google/go-jsonnet/cmd/jsonnet@latest - go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest - make test - docs: - name: docs - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v4 - - name: make docs - run: | - go install github.com/jsonnet-libs/docsonnet@master - make docs - git diff --exit-code - \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore deleted file mode 100644 index bb476a1189..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.jekyll-cache -jsonnetfile.lock.json -vendor diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE deleted file mode 100644 index 0a39b255a2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018 grafana, sh0rez - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile deleted file mode 100644 index 7ffe3aa9e2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -.PHONY: test -test: - @cd test/; \ - jb install; \ - RESULT=0; \ - for f in $$(find . -path './.git' -prune -o -name 'vendor' -prune -o -name '*_test.jsonnet' -print); do \ - echo "$$f"; \ - jsonnet -J vendor -J lib "$$f"; \ - RESULT=$$(($$RESULT + $$?)); \ - done; \ - exit $$RESULT - - -.PHONY: docs -docs: - docsonnet main.libsonnet diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md deleted file mode 100644 index a060428ed2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# `xtd` - -`xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). - -## Install - -```console -jb install github.com/jsonnet-libs/xtd -``` - -## Usage - -```jsonnet -local xtd = import "github.com/jsonnet-libs/xtd/main.libsonnet" -``` - -## Docs - -[docs](docs/README.md) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet deleted file mode 100644 index 78d3c1cac2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/aggregate.libsonnet +++ /dev/null @@ -1,104 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - local this = self, - - '#': d.pkg( - name='aggregate', - url='github.com/jsonnet-libs/xtd/aggregate.libsonnet', - help=||| - `aggregate` implements helper functions to aggregate arrays of objects into objects with arrays. - - Example: - - ```jsonnet - local apps = [ - { - appid: 'id1', - name: 'yo', - id: i, - } - for i in std.range(0, 10) - ]; - - aggregate.byKeys(apps, ['appid', 'name']); - ``` - - Output: - - ```json - { - "id1": { - "yo": [ - { - "appid": "id1", - "id": 0, - "name": "yo" - }, - { - "appid": "id1", - "id": 1, - "name": "yo" - }, - ... - ] - } - } - ``` - |||, - ), - - '#byKey':: d.fn( - ||| - `byKey` aggregates an array by the value of `key` - |||, - [ - d.arg('arr', d.T.array), - d.arg('key', d.T.string), - ] - ), - byKey(arr, key): - // find all values of key - local values = std.set([ - item[key] - for item in arr - ]); - - // create the aggregate for the value of each key - { - [value]: [ - item - for item in std.filter( - function(x) - x[key] == value, - arr - ) - ] - for value in values - }, - - '#byKeys':: d.fn( - ||| - `byKey` aggregates an array by iterating over `keys`, each item in `keys` nests the - aggregate one layer deeper. - |||, - [ - d.arg('arr', d.T.array), - d.arg('keys', d.T.array), - ] - ), - byKeys(arr, keys): - local aggregate = self.byKey(arr, keys[0]); - // if last key in keys - if std.length(keys) == 1 - - // then return aggregate - then aggregate - - // else aggregate with remaining keys - else { - [k]: this.byKeys(aggregate[k], keys[1:]) - for k in std.objectFields(aggregate) - }, - -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet deleted file mode 100644 index f000c87871..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/array.libsonnet +++ /dev/null @@ -1,37 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='array', - url='github.com/jsonnet-libs/xtd/array.libsonnet', - help='`array` implements helper functions for processing arrays.', - ), - - '#slice':: d.fn( - '`slice` works the same as `std.slice` but with support for negative index/end.', - [ - d.arg('indexable', d.T.array), - d.arg('index', d.T.number), - d.arg('end', d.T.number, default='null'), - d.arg('step', d.T.number, default=1), - ] - ), - slice(indexable, index, end=null, step=1): - local invar = { - index: - if index != null - then - if index < 0 - then std.length(indexable) + index - else index - else 0, - end: - if end != null - then - if end < 0 - then std.length(indexable) + end - else end - else std.length(indexable), - }; - indexable[invar.index:invar.end:step], -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet deleted file mode 100644 index 28571ac6f8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/ascii.libsonnet +++ /dev/null @@ -1,39 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='ascii', - url='github.com/jsonnet-libs/xtd/ascii.libsonnet', - help='`ascii` implements helper functions for ascii characters', - ), - - local cp(c) = std.codepoint(c), - - '#isLower':: d.fn( - '`isLower` reports whether ASCII character `c` is a lower case letter', - [d.arg('c', d.T.string)] - ), - isLower(c): - if cp(c) >= 97 && cp(c) < 123 - then true - else false, - - '#isUpper':: d.fn( - '`isUpper` reports whether ASCII character `c` is a upper case letter', - [d.arg('c', d.T.string)] - ), - isUpper(c): - if cp(c) >= 65 && cp(c) < 91 - then true - else false, - - '#isNumber':: d.fn( - '`isNumber` reports whether character `c` is a number.', - [d.arg('c', d.T.string)] - ), - isNumber(c): - if std.isNumber(c) || (cp(c) >= 48 && cp(c) < 58) - then true - else false, - -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet deleted file mode 100644 index 9f26ef3f61..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/camelcase.libsonnet +++ /dev/null @@ -1,100 +0,0 @@ -local xtd = import './main.libsonnet'; -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='camelcase', - url='github.com/jsonnet-libs/xtd/camelcase.libsonnet', - help='`camelcase` can split camelCase words into an array of words.', - ), - - '#split':: d.fn( - ||| - `split` splits a camelcase word and returns an array of words. It also supports - digits. Both lower camel case and upper camel case are supported. It only supports - ASCII characters. - For more info please check: http://en.wikipedia.org/wiki/CamelCase - Based on https://github.com/fatih/camelcase/ - |||, - [d.arg('src', d.T.string)] - ), - split(src): - if src == '' - then [''] - else - local runes = std.foldl( - function(acc, r) - acc { - local class = - if xtd.ascii.isNumber(r) - then 1 - else if xtd.ascii.isLower(r) - then 2 - else if xtd.ascii.isUpper(r) - then 3 - else 4, - - lastClass:: class, - - runes: - if class == super.lastClass - then super.runes[:std.length(super.runes) - 1] - + [super.runes[std.length(super.runes) - 1] + r] - else super.runes + [r], - }, - [src[i] for i in std.range(0, std.length(src) - 1)], - { lastClass:: 0, runes: [] } - ).runes; - - local fixRunes = - std.foldl( - function(runes, i) - if xtd.ascii.isUpper(runes[i][0]) - && xtd.ascii.isLower(runes[i + 1][0]) - && !xtd.ascii.isNumber(runes[i + 1][0]) - && runes[i][0] != ' ' - && runes[i + 1][0] != ' ' - then - std.mapWithIndex( - function(index, r) - if index == i + 1 - then runes[i][std.length(runes[i]) - 1:] + r - else - if index == i - then r[:std.length(r) - 1] - else r - , runes - ) - else runes - , - [i for i in std.range(0, std.length(runes) - 2)], - runes - ); - - [ - r - for r in fixRunes - if r != '' - ], - - '#toCamelCase':: d.fn( - ||| - `toCamelCase` transforms a string to camelCase format, splitting words by the `-`, `_` or spaces. - For example: `hello_world` becomes `helloWorld`. - For more info please check: http://en.wikipedia.org/wiki/CamelCase - |||, - [d.arg('str', d.T.string)] - ), - toCamelCase(str):: - local separators = std.set(std.findSubstr('_', str) + std.findSubstr('-', str) + std.findSubstr(' ', str)); - local n = std.join('', [ - if std.setMember(i - 1, separators) - then std.asciiUpper(str[i]) - else str[i] - for i in std.range(0, std.length(str) - 1) - if !std.setMember(i, separators) - ]); - if std.length(n) == 0 - then n - else std.asciiLower(n[0]) + n[1:], -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet deleted file mode 100644 index 4842f98bb3..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/date.libsonnet +++ /dev/null @@ -1,185 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='date', - url='github.com/jsonnet-libs/xtd/date.libsonnet', - help='`time` provides various date related functions.', - ), - - // Lookup tables for calendar calculations - local commonYearMonthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - local commonYearMonthOffset = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5], - local leapYearMonthOffset = [0, 3, 4, 0, 2, 5, 0, 3, 6, 1, 4, 6], - - // monthOffset looks up the offset to apply in day of week calculations based on the year and month - local monthOffset(year, month) = - if self.isLeapYear(year) - then leapYearMonthOffset[month - 1] - else commonYearMonthOffset[month - 1], - - '#isLeapYear': d.fn( - '`isLeapYear` returns true if the given year is a leap year.', - [d.arg('year', d.T.number)], - ), - isLeapYear(year):: year % 4 == 0 && (year % 100 != 0 || year % 400 == 0), - - '#dayOfWeek': d.fn( - '`dayOfWeek` returns the day of the week for the given date. 0=Sunday, 1=Monday, etc.', - [ - d.arg('year', d.T.number), - d.arg('month', d.T.number), - d.arg('day', d.T.number), - ], - ), - dayOfWeek(year, month, day):: - (day + monthOffset(year, month) + 5 * ((year - 1) % 4) + 4 * ((year - 1) % 100) + 6 * ((year - 1) % 400)) % 7, - - '#dayOfYear': d.fn( - ||| - `dayOfYear` calculates the ordinal day of the year based on the given date. The range of outputs is 1-365 - for common years, and 1-366 for leap years. - |||, - [ - d.arg('year', d.T.number), - d.arg('month', d.T.number), - d.arg('day', d.T.number), - ], - ), - dayOfYear(year, month, day):: - std.foldl( - function(a, b) a + b, - std.slice(commonYearMonthLength, 0, month - 1, 1), - 0 - ) + day + - if month > 2 && self.isLeapYear(year) - then 1 - else 0, - - // yearSeconds returns the number of seconds in the given year. - local yearSeconds(year) = ( - if $.isLeapYear(year) - then 366 * 24 * 3600 - else 365 * 24 * 3600 - ), - - // monthSeconds returns the number of seconds in the given month of a given year. - local monthSeconds(year, month) = ( - commonYearMonthLength[month - 1] * 24 * 3600 - + if month == 2 && $.isLeapYear(year) then 86400 else 0 - ), - - // sumYearsSeconds returns the number of seconds in all years since 1970 up to year-1. - local sumYearsSeconds(year) = std.foldl( - function(acc, y) acc + yearSeconds(y), - std.range(1970, year - 1), - 0, - ), - - // sumMonthsSeconds returns the number of seconds in all months up to month-1 of the given year. - local sumMonthsSeconds(year, month) = std.foldl( - function(acc, m) acc + monthSeconds(year, m), - std.range(1, month - 1), - 0, - ), - - // sumDaysSeconds returns the number of seconds in all days up to day-1. - local sumDaysSeconds(day) = (day - 1) * 24 * 3600, - - '#toUnixTimestamp': d.fn( - ||| - `toUnixTimestamp` calculates the unix timestamp of a given date. - |||, - [ - d.arg('year', d.T.number), - d.arg('month', d.T.number), - d.arg('day', d.T.number), - d.arg('hour', d.T.number), - d.arg('minute', d.T.number), - d.arg('second', d.T.number), - ], - ), - toUnixTimestamp(year, month, day, hour, minute, second):: - sumYearsSeconds(year) + sumMonthsSeconds(year, month) + sumDaysSeconds(day) + hour * 3600 + minute * 60 + second, - - // isNumeric checks that the input is a non-empty string containing only digit characters. - local isNumeric(input) = - assert std.type(input) == 'string' : 'isNumeric() only operates on string inputs, got %s' % std.type(input); - std.foldl( - function(acc, char) acc && std.codepoint('0') <= std.codepoint(char) && std.codepoint(char) <= std.codepoint('9'), - std.stringChars(input), - std.length(input) > 0, - ), - - // parseSeparatedNumbers parses input which has part `names` separated by `sep`. - // Returns an object which has one field for each name in `names` with its integer value. - local parseSeparatedNumbers(input, sep, names) = ( - assert std.type(input) == 'string' : 'parseSeparatedNumbers() only operates on string inputs, got %s' % std.type(input); - assert std.type(sep) == 'string' : 'parseSeparatedNumbers() only operates on string separators, got %s' % std.type(sep); - assert std.type(names) == 'array' : 'parseSeparatedNumbers() only operates on arrays of names, got input %s' % std.type(names); - - local parts = std.split(input, sep); - assert std.length(parts) == std.length(names) : 'expected %(expected)d parts separated by %(sep)s in %(format)s formatted input "%(input)s", but got %(got)d' % { - expected: std.length(names), - sep: sep, - format: std.join(sep, names), - input: input, - got: std.length(parts), - }; - - { - [names[i]]: - // Fail with meaningful message if not numeric, otherwise it will be a hell to debug. - assert isNumeric(parts[i]) : '%(name)%s part "%(part)s" of %(format)s of input "%(input)s" is not numeric' % { - name: names[i], - part: parts[i], - format: std.join(sep, names), - input: input, - }; - std.parseInt(parts[i]) - for i in std.range(0, std.length(parts) - 1) - } - ), - - // stringContains is a helper function to check whether a string contains a given substring. - local stringContains(haystack, needle) = std.length(std.findSubstr(needle, haystack)) > 0, - - '#parseRFC3339': d.fn( - ||| - `parseRFC3339` parses an RFC3339-formatted date & time string (like `2020-01-02T03:04:05Z`) into an object containing the 'year', 'month', 'day', 'hour', 'minute' and 'second fields. - This is a limited implementation that does not support timezones (so it requires an UTC input ending in 'Z' or 'z') nor sub-second precision. - The returned object has a `toUnixTimestamp()` method that can be used to obtain the unix timestamp of the parsed date. - |||, - [ - d.arg('input', d.T.string), - ], - ), - parseRFC3339(input):: - // Basic input type check. - assert std.type(input) == 'string' : 'parseRFC3339() only operates on string inputs, got %s' % std.type(input); - - // Sub-second precision isn't implemented yet, warn the user about that instead of returning wrong results. - assert !stringContains(input, '.') : 'the provided RFC3339 input "%s" has a dot, most likely representing a sub-second precision, but this function does not support that' % input; - - // We don't support timezones, so string should end with 'Z' or 'z'. - assert std.endsWith(input, 'Z') || std.endsWith(input, 'z') : 'the provided RFC3339 "%s" should end with "Z" or "z". This implementation does not currently support timezones' % input; - - // RFC3339 can separate date and time using 'T', 't' or ' '. - // Find out which one it is and use it. - local sep = - if stringContains(input, 'T') then 'T' - else if stringContains(input, 't') then 't' - else if stringContains(input, ' ') then ' ' - else error 'the provided RFC3339 input "%s" should contain either a "T", or a "t" or space " " as a separator for date and time parts' % input; - - // Split date and time using the selected separator. - // Remove the last character as we know it's 'Z' or 'z' and it's not useful to us. - local datetime = std.split(std.substr(input, 0, std.length(input) - 1), sep); - assert std.length(datetime) == 2 : 'the provided RFC3339 timestamp "%(input)s" does not have date and time parts separated by the character "%(sep)s"' % { input: input, sep: sep }; - - local date = parseSeparatedNumbers(datetime[0], '-', ['year', 'month', 'day']); - local time = parseSeparatedNumbers(datetime[1], ':', ['hour', 'minute', 'second']); - date + time + { - toUnixTimestamp():: $.toUnixTimestamp(self.year, self.month, self.day, self.hour, self.minute, self.second), - }, -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore deleted file mode 100644 index d7951d909b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Gemfile.lock -_site diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile deleted file mode 100644 index 75d9835fa2..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/Gemfile +++ /dev/null @@ -1,2 +0,0 @@ -source "https://rubygems.org" -gem "github-pages", group: :jekyll_plugins diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md deleted file mode 100644 index fbd33a5f0c..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/README.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -permalink: / ---- - -# xtd - -```jsonnet -local xtd = import "github.com/jsonnet-libs/xtd/main.libsonnet" -``` - -`xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). - -This package serves as a test field for functions intended to be contributed to `std` -in the future, but also provides a place for less general, yet useful utilities. - - -* [aggregate](aggregate.md) -* [array](array.md) -* [ascii](ascii.md) -* [camelcase](camelcase.md) -* [date](date.md) -* [inspect](inspect.md) -* [jsonpath](jsonpath.md) -* [string](string.md) -* [url](url.md) \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml deleted file mode 100644 index d18a288c42..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/_config.yml +++ /dev/null @@ -1,2 +0,0 @@ -theme: jekyll-theme-cayman -baseurl: /xtd diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md deleted file mode 100644 index a877ddf24a..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/aggregate.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -permalink: /aggregate/ ---- - -# aggregate - -```jsonnet -local aggregate = import "github.com/jsonnet-libs/xtd/aggregate.libsonnet" -``` - -`aggregate` implements helper functions to aggregate arrays of objects into objects with arrays. - -Example: - -```jsonnet -local apps = [ - { - appid: 'id1', - name: 'yo', - id: i, - } - for i in std.range(0, 10) -]; - -aggregate.byKeys(apps, ['appid', 'name']); -``` - -Output: - -```json -{ - "id1": { - "yo": [ - { - "appid": "id1", - "id": 0, - "name": "yo" - }, - { - "appid": "id1", - "id": 1, - "name": "yo" - }, - ... - ] - } -} -``` - - -## Index - -* [`fn byKey(arr, key)`](#fn-bykey) -* [`fn byKeys(arr, keys)`](#fn-bykeys) - -## Fields - -### fn byKey - -```ts -byKey(arr, key) -``` - -`byKey` aggregates an array by the value of `key` - - -### fn byKeys - -```ts -byKeys(arr, keys) -``` - -`byKey` aggregates an array by iterating over `keys`, each item in `keys` nests the -aggregate one layer deeper. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md deleted file mode 100644 index f273293a61..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/array.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -permalink: /array/ ---- - -# array - -```jsonnet -local array = import "github.com/jsonnet-libs/xtd/array.libsonnet" -``` - -`array` implements helper functions for processing arrays. - -## Index - -* [`fn slice(indexable, index, end='null', step=1)`](#fn-slice) - -## Fields - -### fn slice - -```ts -slice(indexable, index, end='null', step=1) -``` - -`slice` works the same as `std.slice` but with support for negative index/end. \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md deleted file mode 100644 index 9a85053806..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/ascii.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -permalink: /ascii/ ---- - -# ascii - -```jsonnet -local ascii = import "github.com/jsonnet-libs/xtd/ascii.libsonnet" -``` - -`ascii` implements helper functions for ascii characters - -## Index - -* [`fn isLower(c)`](#fn-islower) -* [`fn isNumber(c)`](#fn-isnumber) -* [`fn isUpper(c)`](#fn-isupper) - -## Fields - -### fn isLower - -```ts -isLower(c) -``` - -`isLower` reports whether ASCII character `c` is a lower case letter - -### fn isNumber - -```ts -isNumber(c) -``` - -`isNumber` reports whether character `c` is a number. - -### fn isUpper - -```ts -isUpper(c) -``` - -`isUpper` reports whether ASCII character `c` is a upper case letter \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md deleted file mode 100644 index 6c521473cd..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/camelcase.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -permalink: /camelcase/ ---- - -# camelcase - -```jsonnet -local camelcase = import "github.com/jsonnet-libs/xtd/camelcase.libsonnet" -``` - -`camelcase` can split camelCase words into an array of words. - -## Index - -* [`fn split(src)`](#fn-split) -* [`fn toCamelCase(str)`](#fn-tocamelcase) - -## Fields - -### fn split - -```ts -split(src) -``` - -`split` splits a camelcase word and returns an array of words. It also supports -digits. Both lower camel case and upper camel case are supported. It only supports -ASCII characters. -For more info please check: http://en.wikipedia.org/wiki/CamelCase -Based on https://github.com/fatih/camelcase/ - - -### fn toCamelCase - -```ts -toCamelCase(str) -``` - -`toCamelCase` transforms a string to camelCase format, splitting words by the `-`, `_` or spaces. -For example: `hello_world` becomes `helloWorld`. -For more info please check: http://en.wikipedia.org/wiki/CamelCase diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md deleted file mode 100644 index 1fcb9eb43f..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/date.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -permalink: /date/ ---- - -# date - -```jsonnet -local date = import "github.com/jsonnet-libs/xtd/date.libsonnet" -``` - -`time` provides various date related functions. - -## Index - -* [`fn dayOfWeek(year, month, day)`](#fn-dayofweek) -* [`fn dayOfYear(year, month, day)`](#fn-dayofyear) -* [`fn isLeapYear(year)`](#fn-isleapyear) -* [`fn parseRFC3339(input)`](#fn-parserfc3339) -* [`fn toUnixTimestamp(year, month, day, hour, minute, second)`](#fn-tounixtimestamp) - -## Fields - -### fn dayOfWeek - -```ts -dayOfWeek(year, month, day) -``` - -`dayOfWeek` returns the day of the week for the given date. 0=Sunday, 1=Monday, etc. - -### fn dayOfYear - -```ts -dayOfYear(year, month, day) -``` - -`dayOfYear` calculates the ordinal day of the year based on the given date. The range of outputs is 1-365 -for common years, and 1-366 for leap years. - - -### fn isLeapYear - -```ts -isLeapYear(year) -``` - -`isLeapYear` returns true if the given year is a leap year. - -### fn parseRFC3339 - -```ts -parseRFC3339(input) -``` - -`parseRFC3339` parses an RFC3339-formatted date & time string (like `2020-01-02T03:04:05Z`) into an object containing the 'year', 'month', 'day', 'hour', 'minute' and 'second fields. -This is a limited implementation that does not support timezones (so it requires an UTC input ending in 'Z' or 'z') nor sub-second precision. -The returned object has a `toUnixTimestamp()` method that can be used to obtain the unix timestamp of the parsed date. - - -### fn toUnixTimestamp - -```ts -toUnixTimestamp(year, month, day, hour, minute, second) -``` - -`toUnixTimestamp` calculates the unix timestamp of a given date. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md deleted file mode 100644 index 94575ca627..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/inspect.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -permalink: /inspect/ ---- - -# inspect - -```jsonnet -local inspect = import "github.com/jsonnet-libs/xtd/inspect.libsonnet" -``` - -`inspect` implements helper functions for inspecting Jsonnet - -## Index - -* [`fn diff(input1, input2)`](#fn-diff) -* [`fn filterKubernetesObjects(object, kind='')`](#fn-filterkubernetesobjects) -* [`fn filterObjects(filter_func, x)`](#fn-filterobjects) -* [`fn inspect(object, maxDepth)`](#fn-inspect) - -## Fields - -### fn diff - -```ts -diff(input1, input2) -``` - -`diff` returns a JSON object describing the differences between two inputs. It -attemps to show diffs in nested objects and arrays too. - -Simple example: - -```jsonnet -local input1 = { - same: 'same', - change: 'this', - remove: 'removed', -}; - -local input2 = { - same: 'same', - change: 'changed', - add: 'added', -}; - -diff(input1, input2), -``` - -Output: -```json -{ - "add +": "added", - "change ~": "~[ this , changed ]", - "remove -": "removed" -} -``` - - -### fn filterKubernetesObjects - -```ts -filterKubernetesObjects(object, kind='') -``` - -`filterKubernetesObjects` implements `filterObjects` to return all Kubernetes objects in -an array, assuming that Kubernetes object are characterized by having an -`apiVersion` and `kind` field. - -The `object` argument can either be an object or an array, other types will be -ignored. The `kind` allows to filter out a specific kind, if unset all kinds will -be returned. - - -### fn filterObjects - -```ts -filterObjects(filter_func, x) -``` - -`filterObjects` walks a JSON tree returning all matching objects in an array. - -The `x` argument can either be an object or an array, other types will be -ignored. - - -### fn inspect - -```ts -inspect(object, maxDepth) -``` - -`inspect` reports the structure of a Jsonnet object with a recursion depth of -`maxDepth` (default maxDepth=10). diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md deleted file mode 100644 index 94a4a4be64..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/jsonpath.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -permalink: /jsonpath/ ---- - -# jsonpath - -```jsonnet -local jsonpath = import "github.com/jsonnet-libs/xtd/jsonpath.libsonnet" -``` - -`jsonpath` implements helper functions to use JSONPath expressions. - -## Index - -* [`fn convertBracketToDot(path)`](#fn-convertbrackettodot) -* [`fn getJSONPath(source, path, default='null')`](#fn-getjsonpath) -* [`fn parseFilterExpr(path)`](#fn-parsefilterexpr) - -## Fields - -### fn convertBracketToDot - -```ts -convertBracketToDot(path) -``` - -`convertBracketToDot` converts the bracket notation to dot notation. - -This function does not support escaping brackets/quotes in path keys. - - -### fn getJSONPath - -```ts -getJSONPath(source, path, default='null') -``` - -`getJSONPath` gets the value at `path` from `source` where path is a JSONPath. - -This is a rudimentary implementation supporting the slice operator `[0:3:2]` and -partially supporting filter expressions `?(@.attr==value)`. - - -### fn parseFilterExpr - -```ts -parseFilterExpr(path) -``` - -`parseFilterExpr` returns a filter function `f(x)` for a filter expression `expr`. - - It supports comparisons (<, <=, >, >=) and equality checks (==, !=). If it doesn't - have an operator, it will check if the `expr` value exists. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md deleted file mode 100644 index 62873e57f9..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/string.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -permalink: /string/ ---- - -# string - -```jsonnet -local string = import "github.com/jsonnet-libs/xtd/string.libsonnet" -``` - -`string` implements helper functions for processing strings. - -## Index - -* [`fn splitEscape(str, c, escape='\\')`](#fn-splitescape) - -## Fields - -### fn splitEscape - -```ts -splitEscape(str, c, escape='\\') -``` - -`split` works the same as `std.split` but with support for escaping the dividing -string `c`. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md deleted file mode 100644 index db898bcc8b..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/docs/url.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -permalink: /url/ ---- - -# url - -```jsonnet -local url = import "github.com/jsonnet-libs/xtd/url.libsonnet" -``` - -`url` provides functions to deal with URLs - -## Index - -* [`fn encodeQuery(params)`](#fn-encodequery) -* [`fn escapeString(str, excludedChars=[])`](#fn-escapestring) -* [`fn join(splitObj)`](#fn-join) -* [`fn parse(url)`](#fn-parse) - -## Fields - -### fn encodeQuery - -```ts -encodeQuery(params) -``` - -`encodeQuery` takes an object of query parameters and returns them as an escaped `key=value` string - -### fn escapeString - -```ts -escapeString(str, excludedChars=[]) -``` - -`escapeString` escapes the given string so it can be safely placed inside an URL, replacing special characters with `%XX` sequences - -### fn join - -```ts -join(splitObj) -``` - -`join` joins URLs from the object generated from `parse` - -### fn parse - -```ts -parse(url) -``` - -`parse` parses absolute and relative URLs. - -:///;parameters?# - -Inspired by Python's urllib.urlparse, following several RFC specifications. diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet deleted file mode 100644 index 8ac9bf0182..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/inspect.libsonnet +++ /dev/null @@ -1,209 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - local this = self, - - '#': d.pkg( - name='inspect', - url='github.com/jsonnet-libs/xtd/inspect.libsonnet', - help='`inspect` implements helper functions for inspecting Jsonnet', - ), - - '#inspect':: d.fn( - ||| - `inspect` reports the structure of a Jsonnet object with a recursion depth of - `maxDepth` (default maxDepth=10). - |||, - [ - d.arg('object', d.T.object), - d.arg('maxDepth', d.T.number), - //d.arg('depth', d.T.number), // used for recursion, not exposing in docs - ] - ), - inspect(object, maxDepth=10, depth=0): - std.foldl( - function(acc, p) - acc + ( - if std.isObject(object[p]) - && depth != maxDepth - then { [p]+: - this.inspect( - object[p], - maxDepth, - depth + 1 - ) } - else { - [ - (if !std.objectHas(object, p) - then 'hidden_' - else '') - + (if std.isFunction(object[p]) - then 'functions' - else 'fields') - ]+: [p], - } - ), - std.objectFieldsAll(object), - {} - ), - - '#diff':: d.fn( - ||| - `diff` returns a JSON object describing the differences between two inputs. It - attemps to show diffs in nested objects and arrays too. - - Simple example: - - ```jsonnet - local input1 = { - same: 'same', - change: 'this', - remove: 'removed', - }; - - local input2 = { - same: 'same', - change: 'changed', - add: 'added', - }; - - diff(input1, input2), - ``` - - Output: - ```json - { - "add +": "added", - "change ~": "~[ this , changed ]", - "remove -": "removed" - } - ``` - |||, - [ - d.arg('input1', d.T.any), - d.arg('input2', d.T.any), - ] - ), - diff(input1, input2):: - if input1 == input2 - then '' - else if std.isArray(input1) && std.isArray(input2) - then - [ - if input1[i] != input2[i] - then - this.diff( - input1[i], - input2[i] - ) - else input2[i] - for i in std.range(0, std.length(input2) - 1) - if std.length(input1) > i - ] - + (if std.length(input1) < std.length(input2) - then [ - '+ ' + input2[i] - for i in std.range(std.length(input1), std.length(input2) - 1) - ] - else []) - + (if std.length(input1) > std.length(input2) - then [ - '- ' + input1[i] - for i in std.range(std.length(input2), std.length(input1) - 1) - ] - else []) - - else if std.isObject(input1) && std.isObject(input2) - then std.foldl( - function(acc, k) - acc + ( - if k in input1 && input1[k] != input2[k] - then { - [k + ' ~']: - this.diff( - input1[k], - input2[k] - ), - } - else if !(k in input1) - then { - [k + ' +']: input2[k], - } - else {} - ), - std.objectFields(input2), - {}, - ) - + { - [l + ' -']: input1[l] - for l in std.objectFields(input1) - if !(l in input2) - } - - else '~[ %s ]' % std.join(' , ', [std.toString(input1), std.toString(input2)]), - - '#filterObjects':: d.fn( - ||| - `filterObjects` walks a JSON tree returning all matching objects in an array. - - The `x` argument can either be an object or an array, other types will be - ignored. - |||, - args=[ - d.arg('filter_func', d.T.func), - d.arg('x', d.T.any), - ] - ), - filterObjects(filter_func, x): - if std.isObject(x) - then - if filter_func(x) - then [x] - else - std.foldl( - function(acc, o) - acc + self.filterObjects(filter_func, x[o]), - std.objectFields(x), - [] - ) - else if std.isArray(x) - then - std.flattenArrays( - std.map( - function(obj) - self.filterObjects(filter_func, obj), - x - ) - ) - else [], - - '#filterKubernetesObjects':: d.fn( - ||| - `filterKubernetesObjects` implements `filterObjects` to return all Kubernetes objects in - an array, assuming that Kubernetes object are characterized by having an - `apiVersion` and `kind` field. - - The `object` argument can either be an object or an array, other types will be - ignored. The `kind` allows to filter out a specific kind, if unset all kinds will - be returned. - |||, - args=[ - d.arg('object', d.T.any), - d.arg('kind', d.T.string, default=''), - ] - ), - filterKubernetesObjects(object, kind=''): - local objects = self.filterObjects( - function(object) - std.objectHas(object, 'apiVersion') - && std.objectHas(object, 'kind'), - object, - ); - if kind == '' - then objects - else - std.filter( - function(o) o.kind == kind, - objects - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet deleted file mode 100644 index 7722d640bd..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/jsonpath.libsonnet +++ /dev/null @@ -1,142 +0,0 @@ -local xtd = import './main.libsonnet'; -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='jsonpath', - url='github.com/jsonnet-libs/xtd/jsonpath.libsonnet', - help='`jsonpath` implements helper functions to use JSONPath expressions.', - ), - - - '#getJSONPath':: d.fn( - ||| - `getJSONPath` gets the value at `path` from `source` where path is a JSONPath. - - This is a rudimentary implementation supporting the slice operator `[0:3:2]` and - partially supporting filter expressions `?(@.attr==value)`. - |||, - [ - d.arg('source', d.T.any), - d.arg('path', d.T.string,), - d.arg('default', d.T.any, default='null'), - ] - ), - getJSONPath(source, path, default=null): - local _path = self.convertBracketToDot(path); - std.foldl( - function(acc, key) - if acc == null - then acc - else get(acc, key, default), - xtd.string.splitEscape(_path, '.'), - source, - ), - - '#convertBracketToDot':: d.fn( - ||| - `convertBracketToDot` converts the bracket notation to dot notation. - - This function does not support escaping brackets/quotes in path keys. - |||, - [ - d.arg('path', d.T.string,), - ] - ), - convertBracketToDot(path): - if std.length(std.findSubstr('[', path)) > 0 - then - local split = std.split(path, '['); - std.join('.', [ - local a = std.stripChars(i, "[]'"); - std.strReplace(a, '@.', '@\\.') - for i in split - ]) - else path, - - local get(source, key, default) = - if key == '' - || key == '$' - || key == '*' - then source - else if std.isArray(source) - then getFromArray(source, key) - else std.get(source, key, default), - - local getFromArray(arr, key) = - if std.startsWith(key, '?(@\\.') - then - std.filter( - self.parseFilterExpr(std.stripChars(key, '?(@\\.)')), - arr - ) - else if std.length(std.findSubstr(':', key)) >= 1 - then - local split = std.splitLimit(key, ':', 2); - local step = - if std.length(split) < 3 - then 1 - else parseIntOrNull(split[2]); - xtd.array.slice( - arr, - parseIntOrNull(split[0]), - parseIntOrNull(split[1]), - step, - ) - else - arr[std.parseInt(key)], - - local parseIntOrNull(str) = - if str == '' - then null - else std.parseInt(str), - - '#parseFilterExpr':: d.fn( - ||| - `parseFilterExpr` returns a filter function `f(x)` for a filter expression `expr`. - - It supports comparisons (<, <=, >, >=) and equality checks (==, !=). If it doesn't - have an operator, it will check if the `expr` value exists. - |||, - [ - d.arg('path', d.T.string,), - ] - ), - parseFilterExpr(expr): - local operandFunctions = { - '=='(a, b): a == b, - '!='(a, b): a != b, - '<='(a, b): a <= b, - '>='(a, b): a >= b, - '<'(a, b): a < b, - '>'(a, b): a > b, - }; - - local findOperands = std.filter( - function(op) std.length(std.findSubstr(op, expr)) > 0, - std.reverse( // reverse to match '<=' before '<' - std.objectFields(operandFunctions) - ) - ); - - if std.length(findOperands) > 0 - then - local op = findOperands[0]; - local s = [ - std.stripChars(i, ' ') - for i in std.splitLimit(expr, op, 1) - ]; - function(x) - if s[0] in x - then - local left = x[s[0]]; - local right = - if std.isNumber(left) - then std.parseInt(s[1]) // Only parse if comparing numbers - else s[1]; - operandFunctions[op](left, right) - else false - else - // Default to key matching - function(x) (expr in x), -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet deleted file mode 100644 index 59c4034028..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/main.libsonnet +++ /dev/null @@ -1,24 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='xtd', - url='github.com/jsonnet-libs/xtd/main.libsonnet', - help=||| - `xtd` aims to collect useful functions not included in the Jsonnet standard library (`std`). - - This package serves as a test field for functions intended to be contributed to `std` - in the future, but also provides a place for less general, yet useful utilities. - |||, - ), - - aggregate: (import './aggregate.libsonnet'), - array: (import './array.libsonnet'), - ascii: (import './ascii.libsonnet'), - camelcase: (import './camelcase.libsonnet'), - date: (import './date.libsonnet'), - inspect: (import './inspect.libsonnet'), - jsonpath: (import './jsonpath.libsonnet'), - string: (import './string.libsonnet'), - url: (import './url.libsonnet'), -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet deleted file mode 100644 index 5514cdeee8..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/string.libsonnet +++ /dev/null @@ -1,35 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='string', - url='github.com/jsonnet-libs/xtd/string.libsonnet', - help='`string` implements helper functions for processing strings.', - ), - - // BelRune is a string of the Ascii character BEL which made computers ring in ancient times. - // We use it as "magic" char to temporarily replace an escaped string as it is a non printable - // character and thereby will unlikely be in a valid key by accident. Only when we include it. - local BelRune = std.char(7), - - '#splitEscape':: d.fn( - ||| - `split` works the same as `std.split` but with support for escaping the dividing - string `c`. - |||, - [ - d.arg('str', d.T.string), - d.arg('c', d.T.string), - d.arg('escape', d.T.string, default='\\'), - ] - ), - splitEscape(str, c, escape='\\'): - std.map( - function(i) - std.strReplace(i, BelRune, escape + c), - std.split( - std.strReplace(str, escape + c, BelRune), - c, - ) - ), -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet deleted file mode 100644 index 65aef8a210..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/array_test.jsonnet +++ /dev/null @@ -1,83 +0,0 @@ -local array = import '../array.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -local arr = std.range(0, 10); - -test.new(std.thisFile) - -+ test.case.new( - name='first two', - test=test.expect.eq( - actual=array.slice( - arr, - index=0, - end=2, - ), - expected=[0, 1], - ) -) -+ test.case.new( - name='last two', - test=test.expect.eq( - actual=array.slice( - arr, - index=1, - end=3, - ), - expected=[1, 2], - ) -) -+ test.case.new( - name='until end', - test=test.expect.eq( - actual=array.slice( - arr, - index=1 - ), - expected=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - ) -) -+ test.case.new( - name='from beginning', - test=test.expect.eq( - actual=array.slice( - arr, - index=0, - end=2 - ), - expected=[0, 1], - ) -) -+ test.case.new( - name='negative start', - test=test.expect.eq( - actual=array.slice( - arr, - index=-2 - ), - expected=[9, 10], - ) -) -+ test.case.new( - name='negative end', - test=test.expect.eq( - actual=array.slice( - arr, - index=0, - end=-1 - ), - expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], - ) -) -+ test.case.new( - name='step', - test=test.expect.eq( - actual=array.slice( - arr, - index=0, - end=5, - step=2 - ), - expected=[0, 2, 4], - ) -) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet deleted file mode 100644 index 2dcadc018d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/camelcase_test.jsonnet +++ /dev/null @@ -1,193 +0,0 @@ -local xtd = import '../main.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -test.new(std.thisFile) - -+ test.case.new( - name='split: nostring', - test=test.expect.eq( - actual=xtd.camelcase.split(''), - expected=[''], - ) -) -+ test.case.new( - name='split: lowercase', - test=test.expect.eq( - actual=xtd.camelcase.split('lowercase'), - expected=['lowercase'], - ) -) -+ test.case.new( - name='split: Class', - test=test.expect.eq( - actual=xtd.camelcase.split('Class'), - expected=['Class'], - ) -) -+ test.case.new( - name='split: MyClass', - test=test.expect.eq( - actual=xtd.camelcase.split('MyClass'), - expected=['My', 'Class'], - ) -) -+ test.case.new( - name='split: MyC', - test=test.expect.eq( - actual=xtd.camelcase.split('MyC'), - expected=['My', 'C'], - ) -) -+ test.case.new( - name='split: HTML', - test=test.expect.eq( - actual=xtd.camelcase.split('HTML'), - expected=['HTML'], - ) -) -+ test.case.new( - name='split: PDFLoader', - test=test.expect.eq( - actual=xtd.camelcase.split('PDFLoader'), - expected=['PDF', 'Loader'], - ) -) -+ test.case.new( - name='split: AString', - test=test.expect.eq( - actual=xtd.camelcase.split('AString'), - expected=['A', 'String'], - ) -) -+ test.case.new( - name='split: SimpleXMLParser', - test=test.expect.eq( - actual=xtd.camelcase.split('SimpleXMLParser'), - expected=['Simple', 'XML', 'Parser'], - ) -) -+ test.case.new( - name='split: vimRPCPlugin', - test=test.expect.eq( - actual=xtd.camelcase.split('vimRPCPlugin'), - expected=['vim', 'RPC', 'Plugin'], - ) -) -+ test.case.new( - name='split: GL11Version', - test=test.expect.eq( - actual=xtd.camelcase.split('GL11Version'), - expected=['GL', '11', 'Version'], - ) -) -+ test.case.new( - name='split: 99Bottles', - test=test.expect.eq( - actual=xtd.camelcase.split('99Bottles'), - expected=['99', 'Bottles'], - ) -) -+ test.case.new( - name='split: May5', - test=test.expect.eq( - actual=xtd.camelcase.split('May5'), - expected=['May', '5'], - ) -) -+ test.case.new( - name='split: BFG9000', - test=test.expect.eq( - actual=xtd.camelcase.split('BFG9000'), - expected=['BFG', '9000'], - ) -) -+ test.case.new( - name='split: Two spaces', - test=test.expect.eq( - actual=xtd.camelcase.split('Two spaces'), - expected=['Two', ' ', 'spaces'], - ) -) -+ test.case.new( - name='split: Multiple Random spaces', - test=test.expect.eq( - actual=xtd.camelcase.split('Multiple Random spaces'), - expected=['Multiple', ' ', 'Random', ' ', 'spaces'], - ) -) -+ test.case.new( - name='toCamelCase: empty string', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase(''), - expected='', - ) -) -+ test.case.new( - name='toCamelCase: lowercase', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lowercase'), - expected='lowercase', - ) -) -+ test.case.new( - name='toCamelCase: underscores', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lower_case'), - expected='lowerCase', - ) -) -+ test.case.new( - name='toCamelCase: dashes', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lower-case'), - expected='lowerCase', - ) -) -+ test.case.new( - name='toCamelCase: spaces', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lower case'), - expected='lowerCase', - ) -) -+ test.case.new( - name='toCamelCase: mixed', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lower_case-mixed'), - expected='lowerCaseMixed', - ) -) -+ test.case.new( - name='toCamelCase: multiple spaces', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('lower case'), - expected='lowerCase', - ) -) -+ test.case.new( - name='toCamelCase: PascalCase', - test=test.expect.eq( - actual=xtd.camelcase.toCamelCase('PascalCase'), - expected='pascalCase', - ) -) - -// TODO: find or create is(Upper|Lower) for non-ascii characters -// Something like this for Jsonnet: -// https://cs.opensource.google/go/go/+/refs/tags/go1.17.3:src/unicode/tables.go -//+ test.case.new( -// name='BöseÜberraschung', -// test=test.expect.eq( -// actual=xtd.camelcase.split('BöseÜberraschung'), -// expected=['Böse', 'Überraschung'], -// ) -//) - -// This doesn't even render in Jsonnet -//+ test.case.new( -// name="BadUTF8\xe2\xe2\xa1", -// test=test.expect.eq( -// actual=xtd.camelcase.split("BadUTF8\xe2\xe2\xa1"), -// expected=["BadUTF8\xe2\xe2\xa1"], -// ) -//) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet deleted file mode 100644 index 974642883d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/date_test.jsonnet +++ /dev/null @@ -1,219 +0,0 @@ -local xtd = import '../main.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -test.new(std.thisFile) - -+ test.case.new( - name='Leap Year commonYear', - test=test.expect.eq( - actual=xtd.date.isLeapYear(1995), - expected=false, - ) -) - -+ test.case.new( - name='Leap Year fourYearCycle', - test=test.expect.eq( - actual=xtd.date.isLeapYear(1996), - expected=true, - ) -) - -+ test.case.new( - name='Leap Year fourHundredYearCycle', - test=test.expect.eq( - actual=xtd.date.isLeapYear(2000), - expected=true, - ) -) - -+ test.case.new( - name='Leap Year hundredYearCycle', - test=test.expect.eq( - actual=xtd.date.isLeapYear(2100), - expected=false, - ) -) - -+ test.case.new( - name='Day Of Week leapYearStart', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(2000, 1, 1), - expected=6, - ) -) - -+ test.case.new( - name='Day Of Week leapYearEnd', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(2000, 12, 31), - expected=0, - ) -) - -+ test.case.new( - name='Day Of Week commonYearStart', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(1995, 1, 1), - expected=0, - ) -) - -+ test.case.new( - name='Day Of Week commonYearEnd', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(2003, 12, 31), - expected=3, - ) -) - -+ test.case.new( - name='Day Of Week leapYearMid', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(2024, 7, 19), - expected=5, - ) -) - -+ test.case.new( - name='Day Of Week commonYearMid', - test=test.expect.eq( - actual=xtd.date.dayOfWeek(2023, 6, 15), - expected=4, - ) -) -+ test.case.new( - name='Day Of Year leapYearStart', - test=test.expect.eq( - actual=xtd.date.dayOfYear(2000, 1, 1), - expected=1, - ) -) - -+ test.case.new( - name='Day Of Year leapYearEnd', - test=test.expect.eq( - actual=xtd.date.dayOfYear(2000, 12, 31), - expected=366, - ) -) - -+ test.case.new( - name='Day Of Year commonYearStart', - test=test.expect.eq( - actual=xtd.date.dayOfYear(1995, 1, 1), - expected=1, - ) -) - -+ test.case.new( - name='Day Of Year commonYearEnd', - test=test.expect.eq( - actual=xtd.date.dayOfYear(2003, 12, 31), - expected=365, - ) -) - -+ test.case.new( - name='Day Of Year leapYearMid', - test=test.expect.eq( - actual=xtd.date.dayOfYear(2024, 7, 19), - expected=201, - ) -) - -+ test.case.new( - name='Day Of Year commonYearMid', - test=test.expect.eq( - actual=xtd.date.dayOfYear(2023, 6, 15), - expected=166, - ) -) - -+ test.case.new( - name='toUnixTimestamp of 1970-01-01 00:00:00 (zero)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(1970, 1, 1, 0, 0, 0), - expected=0, - ), -) - -+ test.case.new( - name='toUnixTimestamp of 1970-01-02 00:00:00 (one day)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(1970, 1, 2, 0, 0, 0), - expected=86400, - ), -) - -+ test.case.new( - name='toUnixTimestamp of 1971-01-01 00:00:00 (one year)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(1971, 1, 1, 0, 0, 0), - expected=365 * 24 * 3600, - ), -) - -+ test.case.new( - name='toUnixTimestamp of 1972-03-01 00:00:00 (month of leap year)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(1972, 3, 1, 0, 0, 0), - expected=2 * 365 * 24 * 3600 + 31 * 24 * 3600 + 29 * 24 * 3600, - ), -) - -+ test.case.new( - name='toUnixTimestamp of 1974-01-01 00:00:00 (incl leap year)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(1974, 1, 1, 0, 0, 0), - expected=(4 * 365 + 1) * 24 * 3600, - ), -) - -+ test.case.new( - name='toUnixTimestamp of 2020-01-02 03:04:05 (full date)', - test=test.expect.eq( - actual=xtd.date.toUnixTimestamp(2020, 1, 2, 3, 4, 5), - expected=1577934245, - ), -) - -+ test.case.new( - name='parseRFC3339 of 1970-01-01T00:00:00Z (standard unix zero)', - test=test.expect.eq( - actual=xtd.date.parseRFC3339('1970-01-01T00:00:00Z'), - expected={ year: 1970, month: 1, day: 1, hour: 0, minute: 0, second: 0 }, - ), -) - -+ test.case.new( - name='parseRFC3339 of 2020-01-02T03:04:05Z (non-zero date)', - test=test.expect.eq( - actual=xtd.date.parseRFC3339('2020-01-02T03:04:05Z'), - expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, - ), -) - -+ test.case.new( - name='parseRFC3339 of 2020-01-02 03:04:05Z (space separator)', - test=test.expect.eq( - actual=xtd.date.parseRFC3339('2020-01-02 03:04:05Z'), - expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, - ), -) - -+ test.case.new( - name='parseRFC3339 of 2020-01-02t03:04:05Z (lowercase t separator and lowercase z)', - test=test.expect.eq( - actual=xtd.date.parseRFC3339('2020-01-02t03:04:05z'), - expected={ year: 2020, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, - ), -) - -+ test.case.new( - name='parseRFC3339(..).toUnixTimestamp()', - test=test.expect.eq( - actual=xtd.date.parseRFC3339('2020-01-02T03:04:05Z').toUnixTimestamp(), - expected=1577934245, - ), -) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet deleted file mode 100644 index 54510ea05d..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/inspect_test.jsonnet +++ /dev/null @@ -1,152 +0,0 @@ -local xtd = import '../main.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -test.new(std.thisFile) - -+ test.case.new( - name='emptyobject', - test=test.expect.eq( - actual=xtd.inspect.inspect({}), - expected={} - ) -) - -+ test.case.new( - name='flatObject', - test=test.expect.eq( - actual=xtd.inspect.inspect({ - key: 'value', - hidden_key:: 'value', - func(value): value, - hidden_func(value):: value, - }), - expected={ - fields: ['key'], - hidden_fields: ['hidden_key'], - functions: ['func'], - hidden_functions: ['hidden_func'], - } - ) -) - -+ test.case.new( - name='nestedObject', - test=test.expect.eq( - actual=xtd.inspect.inspect({ - nested: { - key: 'value', - hidden_key:: 'value', - func(value): value, - hidden_func(value):: value, - }, - key: 'value', - hidden_func(value):: value, - }), - expected={ - nested: { - fields: ['key'], - hidden_fields: ['hidden_key'], - functions: ['func'], - hidden_functions: ['hidden_func'], - }, - fields: ['key'], - hidden_functions: ['hidden_func'], - } - ) -) - -+ test.case.new( - name='maxRecursionDepth', - test=test.expect.eq( - actual=xtd.inspect.inspect({ - key: 'value', - nested: { - key: 'value', - nested: { - key: 'value', - }, - }, - }, maxDepth=1), - expected={ - fields: ['key'], - nested: { - fields: ['key', 'nested'], - }, - } - ) -) - -+ test.case.new( - name='noDiff', - test=test.expect.eq( - actual=xtd.inspect.diff('', ''), - expected='' - ) -) -+ test.case.new( - name='typeDiff', - test=test.expect.eq( - actual=xtd.inspect.diff('string', true), - expected='~[ string , true ]' - ) -) -+ ( - local input1 = { - same: 'same', - change: 'this', - remove: 'removed', - }; - local input2 = { - same: 'same', - change: 'changed', - add: 'added', - }; - test.case.new( - name='objectDiff', - test=test.expect.eq( - actual=xtd.inspect.diff(input1, input2), - expected={ - 'add +': 'added', - 'change ~': '~[ this , changed ]', - 'remove -': 'removed', - } - ) - ) -) - -+ ( - local input1 = [ - 'same', - 'this', - [ - 'same', - 'this', - ], - 'remove', - ]; - local input2 = [ - 'same', - 'changed', - [ - 'same', - 'changed', - 'added', - ], - ]; - test.case.new( - name='arrayDiff', - test=test.expect.eq( - actual=xtd.inspect.diff(input1, input2), - expected=[ - 'same', - '~[ this , changed ]', - [ - 'same', - '~[ this , changed ]', - '+ added', - ], - '- remove', - ] - ) - ) -) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json deleted file mode 100644 index ce9ad4d5ac..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonnetfile.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": 1, - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/jsonnet-libs/testonnet.git", - "subdir": "" - } - }, - "version": "master" - } - ], - "legacyImports": true -} diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet deleted file mode 100644 index 8c1106b1df..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/jsonpath_test.jsonnet +++ /dev/null @@ -1,305 +0,0 @@ -local jsonpath = import '../jsonpath.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -test.new(std.thisFile) - -// Root -+ test.case.new( - name='root $', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, '$'), - expected={ key: 'content' }, - ) -) -+ test.case.new( - name='root (empty path)', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, ''), - expected={ key: 'content' }, - ) -) -+ test.case.new( - name='root .', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, '.'), - expected={ key: 'content' }, - ) -) - -// Single key -+ test.case.new( - name='path without dot prefix', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, 'key'), - expected='content', - ) -) -+ test.case.new( - name='single key', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, '.key'), - expected='content', - ) -) -+ test.case.new( - name='single bracket key', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, '[key]'), - expected='content', - ) -) -+ test.case.new( - name='single bracket key with $', - test=test.expect.eq( - actual=jsonpath.getJSONPath({ key: 'content' }, '$[key]'), - expected='content', - ) -) -+ test.case.new( - name='single array index', - test=test.expect.eq( - actual=jsonpath.getJSONPath(['content'], '.[0]'), - expected='content', - ) -) -+ test.case.new( - name='single array index without dot prefix', - test=test.expect.eq( - actual=jsonpath.getJSONPath(['content'], '[0]'), - expected='content', - ) -) - -// Nested -+ test.case.new( - name='nested key', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: { key3: 'content' } } }, - '.key1.key2.key3' - ), - expected='content', - ) -) -+ test.case.new( - name='nested bracket key', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: { key3: 'content' } } }, - '.key1.key2[key3]' - ), - expected='content', - ) -) -+ test.case.new( - name='nested bracket key (quoted)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: { key3: 'content' } } }, - ".key1.key2['key3']" - ), - expected='content', - ) -) -+ test.case.new( - name='nested bracket star key', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: { key3: 'content' } } }, - '.key1.key2[*]' - ), - expected={ key3: 'content' }, - ) -) -+ test.case.new( - name='nested array index', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - '.key1.key2[1]' - ), - expected='content2', - ) -) -+ test.case.new( - name='nested array index with $', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - '$.key1.key2[1]' - ), - expected='content2', - ) -) -+ test.case.new( - name='nested array index without brackets', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - '.key1.key2.1' - ), - expected='content2', - ) -) -+ test.case.new( - name='nested array star index', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - '.key1.key2[*]' - ), - expected=['content1', 'content2'], - ) -) -+ test.case.new( - name='nested bracket keys and array index combo', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - '$.[key1][key2][1]' - ), - expected='content2', - ) -) -+ test.case.new( - name='all keys in bracket and quoted', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key1: { key2: ['content1', 'content2'] } }, - "$['key1']['key2']" - ), - expected=['content1', 'content2'], - ) -) - -// index range/slice -+ test.case.new( - name='array with index range (first two)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[0:2]' - ), - expected=['content1', 'content2'], - ) -) -+ test.case.new( - name='array with index range (last two)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[1:3]' - ), - expected=['content2', 'content3'], - ) -) -+ test.case.new( - name='array with index range (until end)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[1:]' - ), - expected=['content2', 'content3'], - ) -) -+ test.case.new( - name='array with index range (from beginning)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[:2]' - ), - expected=['content1', 'content2'], - ) -) -+ test.case.new( - name='array with index range (negative start)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[-2:]' - ), - expected=['content2', 'content3'], - ) -) -+ test.case.new( - name='array with index range (negative end)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: ['content1', 'content2', 'content3'] }, - 'key[:-1]' - ), - expected=['content1', 'content2'], - ) -) -+ test.case.new( - name='array with index range (step)', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: [ - 'content%s' % i - for i in std.range(1, 10) - ] }, - 'key[:5:2]' - ), - expected=['content1', 'content3', 'content5'], - ) -) - -// filter expr -+ test.case.new( - name='array with filter expression - string', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: [ - { - key: 'content%s' % i, - } - for i in std.range(1, 10) - ] }, - '.key[?(@.key==content2)]' - ), - expected=[{ - key: 'content2', - }], - ) -) -+ test.case.new( - name='array with filter expression - number', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: [ - { - count: i, - } - for i in std.range(1, 10) - ] }, - '.key[?(@.count<=2)]' - ), - expected=[{ - count: 1, - }, { - count: 2, - }], - ) -) -+ test.case.new( - name='array with filter expression - has key', - test=test.expect.eq( - actual=jsonpath.getJSONPath( - { key: [ - { - key1: 'value', - }, - { - key2: 'value', - }, - ] }, - '.key[?(@.key1)]' - ), - expected=[{ - key1: 'value', - }], - ) -) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet deleted file mode 100644 index b2393a27e7..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/test/url_test.jsonnet +++ /dev/null @@ -1,209 +0,0 @@ -local xtd = import '../main.libsonnet'; -local test = import 'github.com/jsonnet-libs/testonnet/main.libsonnet'; - -test.new(std.thisFile) -+ test.case.new( - name='empty', - test=test.expect.eq( - actual=xtd.url.escapeString(''), - expected='', - ) -) - -+ test.case.new( - name='abc', - test=test.expect.eq( - actual=xtd.url.escapeString('abc'), - expected='abc', - ) -) - -+ test.case.new( - name='space', - test=test.expect.eq( - actual=xtd.url.escapeString('one two'), - expected='one%20two', - ) -) - -+ test.case.new( - name='percent', - test=test.expect.eq( - actual=xtd.url.escapeString('10%'), - expected='10%25', - ) -) - -+ test.case.new( - name='complex', - test=test.expect.eq( - actual=xtd.url.escapeString(" ?&=#+%!<>#\"{}|\\^[]`☺\t:/@$'()*,;"), - expected='%20%3F%26%3D%23%2B%25%21%3C%3E%23%22%7B%7D%7C%5C%5E%5B%5D%60%E2%98%BA%09%3A%2F%40%24%27%28%29%2A%2C%3B', - ) -) - -+ test.case.new( - name='exclusions', - test=test.expect.eq( - actual=xtd.url.escapeString('hello, world', [',']), - expected='hello,%20world', - ) -) - -+ test.case.new( - name='multiple exclusions', - test=test.expect.eq( - actual=xtd.url.escapeString('hello, world,&', [',', '&']), - expected='hello,%20world,&', - ) -) - -+ test.case.new( - name='empty', - test=test.expect.eq( - actual=xtd.url.encodeQuery({}), - expected='', - ) -) - -+ test.case.new( - name='simple', - test=test.expect.eq( - actual=xtd.url.encodeQuery({ q: 'puppies', oe: 'utf8' }), - expected='oe=utf8&q=puppies', - ) -) - -// url.parse -+ test.case.new( - name='Full absolute URL', - test=test.expect.eqJson( - actual=xtd.url.parse('https://example.com/path/to/location;type=person?name=john#address'), - expected={ - scheme: 'https', - netloc: 'example.com', - hostname: 'example.com', - path: '/path/to/location', - params: 'type=person', - query: 'name=john', - fragment: 'address', - }, - ) -) - -+ test.case.new( - name='URL with fragment before params and query', - test=test.expect.eqJson( - actual=xtd.url.parse('https://example.com/path/to/location#address;type=person?name=john'), - expected={ - scheme: 'https', - netloc: 'example.com', - hostname: 'example.com', - path: '/path/to/location', - fragment: 'address;type=person?name=john', - }, - ) -) - -+ test.case.new( - name='URL without query', - test=test.expect.eqJson( - actual=xtd.url.parse('https://example.com/path/to/location;type=person#address'), - expected={ - scheme: 'https', - netloc: 'example.com', - hostname: 'example.com', - path: '/path/to/location', - params: 'type=person', - fragment: 'address', - }, - ) -) - -+ test.case.new( - name='URL without params', - test=test.expect.eqJson( - actual=xtd.url.parse('https://example.com/path/to/location?name=john#address'), - expected={ - scheme: 'https', - netloc: 'example.com', - hostname: 'example.com', - path: '/path/to/location', - query: 'name=john', - fragment: 'address', - }, - ) -) - -+ test.case.new( - name='URL with empty fragment', - test=test.expect.eqJson( - actual=xtd.url.parse('https://example.com/path/to/location#'), - expected={ - scheme: 'https', - netloc: 'example.com', - hostname: 'example.com', - path: '/path/to/location', - fragment: '', - }, - ) -) - -+ test.case.new( - name='host with port', - test=test.expect.eqJson( - actual=xtd.url.parse('//example.com:80'), - expected={ - netloc: 'example.com:80', - hostname: 'example.com', - port: '80', - }, - ) -) - -+ test.case.new( - name='mailto', - test=test.expect.eqJson( - actual=xtd.url.parse('mailto:john@example.com'), - expected={ - scheme: 'mailto', - path: 'john@example.com', - }, - ) -) - -+ test.case.new( - name='UserInfo', - test=test.expect.eqJson( - actual=xtd.url.parse('ftp://admin:password@example.com'), - - expected={ - hostname: 'example.com', - netloc: 'admin:password@example.com', - scheme: 'ftp', - username: 'admin', - password: 'password', - } - , - ) -) - -+ test.case.new( - name='Relative URL only', - test=test.expect.eqJson( - actual=xtd.url.parse('/path/to/location'), - expected={ - path: '/path/to/location', - }, - ) -) - -+ test.case.new( - name='URL fragment only', - test=test.expect.eqJson( - actual=xtd.url.parse('#fragment_only'), - expected={ - fragment: 'fragment_only', - }, - ) -) diff --git a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet b/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet deleted file mode 100644 index 32d1a30255..0000000000 --- a/docs/node-observ-lib/vendor/github.com/jsonnet-libs/xtd/url.libsonnet +++ /dev/null @@ -1,111 +0,0 @@ -local d = import 'doc-util/main.libsonnet'; - -{ - '#': d.pkg( - name='url', - url='github.com/jsonnet-libs/xtd/url.libsonnet', - help='`url` provides functions to deal with URLs', - ), - - '#escapeString': d.fn( - '`escapeString` escapes the given string so it can be safely placed inside an URL, replacing special characters with `%XX` sequences', - args=[ - d.arg('str', d.T.string), - d.arg('excludedChars', d.T.array, default=[]), - ], - ), - escapeString(str, excludedChars=[]):: - local allowedChars = '0123456789abcdefghijklmnopqrstuvwqxyzABCDEFGHIJKLMNOPQRSTUVWQXYZ'; - local utf8(char) = std.foldl(function(a, b) a + '%%%02X' % b, std.encodeUTF8(char), ''); - local escapeChar(char) = if std.member(excludedChars, char) || std.member(allowedChars, char) then char else utf8(char); - std.join('', std.map(escapeChar, std.stringChars(str))), - - '#encodeQuery': d.fn( - '`encodeQuery` takes an object of query parameters and returns them as an escaped `key=value` string', - args=[d.arg('params', d.T.object)], - ), - encodeQuery(params):: - local fmtParam(p) = '%s=%s' % [self.escapeString(p), self.escapeString(params[p])]; - std.join('&', std.map(fmtParam, std.objectFields(params))), - - '#parse': d.fn( - ||| - `parse` parses absolute and relative URLs. - - :///;parameters?# - - Inspired by Python's urllib.urlparse, following several RFC specifications. - |||, - args=[d.arg('url', d.T.string)], - ), - parse(url): - local hasFragment = std.member(url, '#'); - local fragmentSplit = std.splitLimit(url, '#', 1); - local fragment = fragmentSplit[1]; - - local hasQuery = std.member(fragmentSplit[0], '?'); - local querySplit = std.splitLimit(fragmentSplit[0], '?', 1); - local query = querySplit[1]; - - local hasParams = std.member(querySplit[0], ';'); - local paramsSplit = std.splitLimit(querySplit[0], ';', 1); - local params = paramsSplit[1]; - - local hasNetLoc = std.member(paramsSplit[0], '//'); - local netLocSplit = std.splitLimit(paramsSplit[0], '//', 1); - local netLoc = std.splitLimit(netLocSplit[1], '/', 1)[0]; - - local hasScheme = std.member(netLocSplit[0], ':'); - local schemeSplit = std.splitLimit(netLocSplit[0], ':', 1); - local scheme = schemeSplit[0]; - - local path = - if hasNetLoc && std.member(netLocSplit[1], '/') - then '/' + std.splitLimit(netLocSplit[1], '/', 1)[1] - else if hasScheme - then schemeSplit[1] - else netLocSplit[0]; - local hasPath = (path != ''); - - local hasUserInfo = hasNetLoc && std.member(netLoc, '@'); - local userInfoSplit = std.reverse(std.splitLimitR(netLoc, '@', 1)); - local userInfo = userInfoSplit[1]; - - local hasPassword = hasUserInfo && std.member(userInfo, ':'); - local passwordSplit = std.splitLimitR(userInfo, ':', 1); - local username = passwordSplit[0]; - local password = passwordSplit[1]; - - local hasPort = hasNetLoc && std.length(std.findSubstr(':', userInfoSplit[0])) > 0; - local portSplit = std.splitLimitR(userInfoSplit[0], ':', 1); - local host = portSplit[0]; - local port = portSplit[1]; - - { - [if hasScheme then 'scheme']: scheme, - [if hasNetLoc then 'netloc']: netLoc, - [if hasPath then 'path']: path, - [if hasParams then 'params']: params, - [if hasQuery then 'query']: query, - [if hasFragment then 'fragment']: fragment, - - [if hasUserInfo then 'username']: username, - [if hasPassword then 'password']: password, - [if hasNetLoc then 'hostname']: host, - [if hasPort then 'port']: port, - }, - - '#join': d.fn( - '`join` joins URLs from the object generated from `parse`', - args=[d.arg('splitObj', d.T.object)], - ), - join(splitObj): - std.join('', [ - if 'scheme' in splitObj then splitObj.scheme + ':' else '', - if 'netloc' in splitObj then '//' + splitObj.netloc else '', - if 'path' in splitObj then splitObj.path else '', - if 'params' in splitObj then ';' + splitObj.params else '', - if 'query' in splitObj then '?' + splitObj.query else '', - if 'fragment' in splitObj then '#' + splitObj.fragment else '', - ]), -} diff --git a/docs/node-observ-lib/vendor/grafonnet-v10.0.0 b/docs/node-observ-lib/vendor/grafonnet-v10.0.0 deleted file mode 120000 index 3749c7b1cd..0000000000 --- a/docs/node-observ-lib/vendor/grafonnet-v10.0.0 +++ /dev/null @@ -1 +0,0 @@ -github.com/grafana/grafonnet/gen/grafonnet-v10.0.0 \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/logs-lib b/docs/node-observ-lib/vendor/logs-lib deleted file mode 120000 index 1cb359d54d..0000000000 --- a/docs/node-observ-lib/vendor/logs-lib +++ /dev/null @@ -1 +0,0 @@ -github.com/grafana/jsonnet-libs/logs-lib \ No newline at end of file diff --git a/docs/node-observ-lib/vendor/xtd b/docs/node-observ-lib/vendor/xtd deleted file mode 120000 index 68b106aa33..0000000000 --- a/docs/node-observ-lib/vendor/xtd +++ /dev/null @@ -1 +0,0 @@ -github.com/jsonnet-libs/xtd \ No newline at end of file From 4ff8a8a846c4345b8e9e1a3c3fcbe4d3cd1347c1 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 29 Nov 2023 18:15:18 +0000 Subject: [PATCH 004/151] jb update Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/jsonnetfile.lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/node-observ-lib/jsonnetfile.lock.json b/docs/node-observ-lib/jsonnetfile.lock.json index 5853fd6180..a2ae6bb858 100644 --- a/docs/node-observ-lib/jsonnetfile.lock.json +++ b/docs/node-observ-lib/jsonnetfile.lock.json @@ -8,7 +8,7 @@ "subdir": "gen/grafonnet-v10.0.0" } }, - "version": "9e217263ac4b922ca2e00bc5cc36ada2311bb5a6", + "version": "bb2afaffbcefeae1035cd691ab06a486e0022002", "sum": "gj/20VIGucG2vDGjG7YdHLC4yUUfrpuaneUYaRmymOM=" }, { @@ -18,8 +18,8 @@ "subdir": "common-lib" } }, - "version": "a7647832fd3eaae70411bc9f697fa7504b04796c", - "sum": "XTZ4WevbwUlziv53i4HY9ndaW+VNMHiT6NpSDvTyYyA=" + "version": "eb731883044fc58f255d79c2a8d78a5854084e05", + "sum": "DqKb0LXimrOgvBIP6aXifpvJlBGUirY+FtY3xE1Hqdw=" }, { "source": { @@ -28,7 +28,7 @@ "subdir": "logs-lib" } }, - "version": "a7647832fd3eaae70411bc9f697fa7504b04796c", + "version": "eb731883044fc58f255d79c2a8d78a5854084e05", "sum": "IkBo9nj0Qt1eC9w80dO5SI4yvHzmmXcKx5BK8H8U0Mk=" }, { From 52d094dc11e31a8ec2150de77ce2d6cdc14fa609 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Sat, 4 May 2024 18:57:41 +0000 Subject: [PATCH 005/151] Add .json suffix Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/dashboards.libsonnet | 31 ++++++++----- docs/node-observ-lib/links.libsonnet | 4 +- docs/node-observ-lib/macos/main.libsonnet | 56 +++++++++++++++++++++++ docs/node-observ-lib/panels.libsonnet | 12 ++--- 4 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 docs/node-observ-lib/macos/main.libsonnet diff --git a/docs/node-observ-lib/dashboards.libsonnet b/docs/node-observ-lib/dashboards.libsonnet index 933e421c80..20ca3c1945 100644 --- a/docs/node-observ-lib/dashboards.libsonnet +++ b/docs/node-observ-lib/dashboards.libsonnet @@ -1,5 +1,5 @@ -local g = import './g.libsonnet'; -local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; +local g = import '../g.libsonnet'; +local logslib = import 'logs-lib/logs/main.libsonnet'; { local root = self, new(this): @@ -15,7 +15,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local panels = this.grafana.panels; local stat = g.panel.stat; { - fleet: + 'fleet.json': local title = prefix + 'fleet overview'; g.dashboard.new(title) + g.dashboard.withPanels( @@ -33,7 +33,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) // hide link to self + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), - overview: + 'overview.json': g.dashboard.new(prefix + 'overview') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -59,13 +59,20 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso panels.diskUsage { gridPos+: { w: 12, h: 8 } }, g.panel.row.new('Network'), panels.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, - panels.networkErrorsPerSec { gridPos+: { w: 12, h: 8 } }, - ], 6, 2 + panels.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, + ] + + + if this.config.enableHardware then + [ + g.panel.row.new('Hardware'), + panels.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, + ] else [] + , 6, 2 ) ) // defaults to uid=nodes for backward compatibility with old node-mixins + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), - network: + 'network.json': g.dashboard.new(prefix + 'network') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -101,7 +108,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), - memory: + 'memory.json': g.dashboard.new(prefix + 'memory') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -131,7 +138,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), - system: + 'system.json': g.dashboard.new(prefix + 'CPU and system') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -151,7 +158,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), - disks: + 'disks.json': g.dashboard.new(prefix + 'filesystem and disks') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -177,7 +184,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso if this.config.enableLokiLogs then { - logs: + 'logs.json': logslib.new( prefix + 'logs', datasourceName=this.grafana.variables.datasources.loki.name, @@ -210,7 +217,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso this.grafana.variables.datasources.prometheus { hide: 2 }, ], }, - }.dashboards.logs, + }.dashboards['logs.json'], } else {}, applyCommon(vars, uid, tags, links, annotations, timezone, refresh, period): diff --git a/docs/node-observ-lib/links.libsonnet b/docs/node-observ-lib/links.libsonnet index ac61ad7ad5..efaa6b6364 100644 --- a/docs/node-observ-lib/links.libsonnet +++ b/docs/node-observ-lib/links.libsonnet @@ -5,10 +5,10 @@ local commonlib = import 'common-lib/common/main.libsonnet'; { local link = g.dashboard.link, backToFleet: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards.fleet.uid) + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards['fleet.json'].uid) + link.link.options.withKeepTime(true), backToOverview: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards.overview.uid) + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['overview.json'].uid) + link.link.options.withKeepTime(true), otherDashboards: link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) diff --git a/docs/node-observ-lib/macos/main.libsonnet b/docs/node-observ-lib/macos/main.libsonnet new file mode 100644 index 0000000000..94605e9928 --- /dev/null +++ b/docs/node-observ-lib/macos/main.libsonnet @@ -0,0 +1,56 @@ +local g = import '../g.libsonnet'; +local nodelib = import '../linux/main.libsonnet'; +local alerts = import './alerts.libsonnet'; +local config = import './config.libsonnet'; +local panels = import './panels.libsonnet'; +local targets = import './targets.libsonnet'; + + +// inherit nodelib +nodelib +{ + + new(): + super.new() + + nodelib.withConfigMixin(config) + + + { + local this = self, + local parentGrafana = super.grafana, + local parentPrometheus = super.prometheus, + + grafana+: { + // drop backToFleet link + links+: { + backToFleet:: {}, + }, + annotations: { + // keep only reboot annotation + reboot: parentGrafana.annotations.reboot, + }, + // override targets (memory) + targets+: targets.new(this), + // override panels (update description and targets in panels) + panels+: panels.new(this), + + // keep only overview and logs(optionally) dashes + dashboards: + { + 'overview.json': parentGrafana.dashboards['overview.json'], + } + + + ( + if this.config.enableLokiLogs + then + { + 'logs.json': parentGrafana.dashboards['logs.json'], + } + ), + }, + prometheus+: { + recordingRules: {}, + alerts: alerts.new(this, parentPrometheus), + }, + }, + +} diff --git a/docs/node-observ-lib/panels.libsonnet b/docs/node-observ-lib/panels.libsonnet index ddee5a910f..d7cc555688 100644 --- a/docs/node-observ-lib/panels.libsonnet +++ b/docs/node-observ-lib/panels.libsonnet @@ -82,7 +82,7 @@ local utils = commonlib.utils; { targetBlank: false, title: 'Drill down to ${__field.name} ${__value.text}', - url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}' % [this.grafana.dashboards['overview.json'].uid, instanceLabel, instanceLabel], }, ]), fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) @@ -91,7 +91,7 @@ local utils = commonlib.utils; { targetBlank: false, title: 'Filter by ${__field.name}', - url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}' % [this.grafana.dashboards.fleet.uid], + url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}' % [this.grafana.dashboards['fleet.json'].uid], }, ]), fieldOverride.byName.new('Cores') @@ -264,7 +264,7 @@ local utils = commonlib.utils; target=t.cpuUsage, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( @@ -301,7 +301,7 @@ local utils = commonlib.utils; target=t.memoryUsagePercent, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), memoryUsageTsBytes: commonlib.panels.memory.timeSeries.usageBytes.new( @@ -619,7 +619,7 @@ local utils = commonlib.utils; target=t.diskUsagePercent, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] @@ -630,7 +630,7 @@ local utils = commonlib.utils; target=t.diskIOutilization, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), diskIOps: commonlib.panels.disk.timeSeries.iops.new( From 7e2437c2be4cfb97a52ed92adb1188bbe1a97c55 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Sat, 4 May 2024 19:11:35 +0000 Subject: [PATCH 006/151] Fix typo in NodeDiskIOSaturation Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/alerts.libsonnet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/node-observ-lib/alerts.libsonnet b/docs/node-observ-lib/alerts.libsonnet index 0ba8e2fbcd..38acc18354 100644 --- a/docs/node-observ-lib/alerts.libsonnet +++ b/docs/node-observ-lib/alerts.libsonnet @@ -394,7 +394,7 @@ annotations: { summary: 'Disk IO queue is high.', description: ||| - Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 30 minutes, is currently at {{ printf "%%.2f" $value }}. This symptom might indicate disk saturation. ||| % this.config, }, From e4cd6d5ba5760a833b1b155e0883b86d47728943 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Sat, 4 May 2024 19:12:58 +0000 Subject: [PATCH 007/151] Fix typo in config Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/config.libsonnet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/node-observ-lib/config.libsonnet b/docs/node-observ-lib/config.libsonnet index b136c492ef..fe8fb08c09 100644 --- a/docs/node-observ-lib/config.libsonnet +++ b/docs/node-observ-lib/config.libsonnet @@ -72,7 +72,7 @@ fsSpaceAvailableWarningThreshold: 5, fsSpaceAvailableCriticalThreshold: 3, - // Memory utilzation (%) level on which to trigger the + // Memory utilization (%) level on which to trigger the // 'NodeMemoryHighUtilization' alert. memoryHighUtilizationThreshold: 90, From 191ab75514919b3fb83b85d91890d918bea6540c Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 13:11:57 +0000 Subject: [PATCH 008/151] merge grafana/node_exporter Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/.lint | 58 + docs/node-mixin/alerts/alerts.libsonnet | 7 +- docs/node-mixin/config.libsonnet | 27 + docs/node-mixin/dashboards/disk.libsonnet | 165 +++ docs/node-mixin/dashboards/fleet.libsonnet | 505 ++++++++ docs/node-mixin/dashboards/memory.libsonnet | 406 ++++++ docs/node-mixin/dashboards/network.libsonnet | 796 ++++++++++++ docs/node-mixin/dashboards/node.libsonnet | 14 +- .../dashboards/prom-mixin.libsonnet | 180 +++ docs/node-mixin/dashboards/system.libsonnet | 150 +++ docs/node-mixin/dashboards/use.libsonnet | 38 +- docs/node-mixin/lib/common.libsonnet | 707 ++++++++++ .../lib/panels/common/info.libsonnet | 30 + .../panels/common/networktraffic.libsonnet | 18 + .../lib/panels/common/panels.libsonnet | 6 + .../lib/panels/common/percentusage.libsonnet | 30 + .../lib/panels/common/uptime.libsonnet | 43 + docs/node-mixin/lib/panels/panel.libsonnet | 129 ++ docs/node-mixin/lib/panels/panels.libsonnet | 5 + docs/node-mixin/lib/panels/stat.libsonnet | 28 + docs/node-mixin/lib/panels/table.libsonnet | 37 + .../lib/panels/timeseries.libsonnet | 145 +++ docs/node-mixin/lib/prom-mixin.libsonnet | 504 -------- docs/node-observ-lib/.gitignore | 3 +- docs/node-observ-lib/config.libsonnet | 1 - docs/node-observ-lib/jsonnetfile.json | 12 +- docs/node-observ-lib/linux/README.md | 163 +++ docs/node-observ-lib/linux/alerts.libsonnet | 450 +++++++ .../linux/annotations.libsonnet | 69 + docs/node-observ-lib/linux/config.libsonnet | 109 ++ .../linux/dashboards.libsonnet | 233 ++++ docs/node-observ-lib/linux/links.libsonnet | 19 + docs/node-observ-lib/linux/main.libsonnet | 39 + docs/node-observ-lib/linux/panels.libsonnet | 1148 +++++++++++++++++ docs/node-observ-lib/linux/rules.libsonnet | 119 ++ docs/node-observ-lib/linux/targets.libsonnet | 1147 ++++++++++++++++ .../node-observ-lib/linux/variables.libsonnet | 71 + docs/node-observ-lib/macos/README.md | 86 ++ docs/node-observ-lib/macos/alerts.libsonnet | 23 + docs/node-observ-lib/macos/config.libsonnet | 59 + docs/node-observ-lib/macos/panels.libsonnet | 38 + docs/node-observ-lib/macos/targets.libsonnet | 87 ++ docs/node-observ-lib/mixin-mac.libsonnet | 8 + docs/node-observ-lib/mixin.libsonnet | 6 +- 44 files changed, 7385 insertions(+), 533 deletions(-) create mode 100644 docs/node-mixin/.lint create mode 100644 docs/node-mixin/dashboards/disk.libsonnet create mode 100644 docs/node-mixin/dashboards/fleet.libsonnet create mode 100644 docs/node-mixin/dashboards/memory.libsonnet create mode 100644 docs/node-mixin/dashboards/network.libsonnet create mode 100644 docs/node-mixin/dashboards/prom-mixin.libsonnet create mode 100644 docs/node-mixin/dashboards/system.libsonnet create mode 100644 docs/node-mixin/lib/common.libsonnet create mode 100644 docs/node-mixin/lib/panels/common/info.libsonnet create mode 100644 docs/node-mixin/lib/panels/common/networktraffic.libsonnet create mode 100644 docs/node-mixin/lib/panels/common/panels.libsonnet create mode 100644 docs/node-mixin/lib/panels/common/percentusage.libsonnet create mode 100644 docs/node-mixin/lib/panels/common/uptime.libsonnet create mode 100644 docs/node-mixin/lib/panels/panel.libsonnet create mode 100644 docs/node-mixin/lib/panels/panels.libsonnet create mode 100644 docs/node-mixin/lib/panels/stat.libsonnet create mode 100644 docs/node-mixin/lib/panels/table.libsonnet create mode 100644 docs/node-mixin/lib/panels/timeseries.libsonnet delete mode 100644 docs/node-mixin/lib/prom-mixin.libsonnet create mode 100644 docs/node-observ-lib/linux/README.md create mode 100644 docs/node-observ-lib/linux/alerts.libsonnet create mode 100644 docs/node-observ-lib/linux/annotations.libsonnet create mode 100644 docs/node-observ-lib/linux/config.libsonnet create mode 100644 docs/node-observ-lib/linux/dashboards.libsonnet create mode 100644 docs/node-observ-lib/linux/links.libsonnet create mode 100644 docs/node-observ-lib/linux/main.libsonnet create mode 100644 docs/node-observ-lib/linux/panels.libsonnet create mode 100644 docs/node-observ-lib/linux/rules.libsonnet create mode 100644 docs/node-observ-lib/linux/targets.libsonnet create mode 100644 docs/node-observ-lib/linux/variables.libsonnet create mode 100644 docs/node-observ-lib/macos/README.md create mode 100644 docs/node-observ-lib/macos/alerts.libsonnet create mode 100644 docs/node-observ-lib/macos/config.libsonnet create mode 100644 docs/node-observ-lib/macos/panels.libsonnet create mode 100644 docs/node-observ-lib/macos/targets.libsonnet create mode 100644 docs/node-observ-lib/mixin-mac.libsonnet diff --git a/docs/node-mixin/.lint b/docs/node-mixin/.lint new file mode 100644 index 0000000000..c95289c4dc --- /dev/null +++ b/docs/node-mixin/.lint @@ -0,0 +1,58 @@ +--- +exclusions: + template-datasource-rule: + reason: using the not yet implemented new convention for dashboards with Loki and Prometheus datasources. + panel-datasource-rule: + reason: using the not yet implemented new convention for dashboards with Loki and Prometheus datasources. + target-job-rule: + reason: Job is hardcoded by the mixin. + entries: + - dashboard: Node Exporter / USE Method / Node + - dashboard: Node Exporter / Nodes + - dashboard: Node Exporter / MacOS + - dashboard: Node Exporter / USE Method / Multi-cluster + - dashboard: Node Exporter / USE Method / Cluster + template-job-rule: + reason: Job is hardcoded by the mixin. + entries: + - dashboard: Node Exporter / USE Method / Node + - dashboard: Node Exporter / Nodes + - dashboard: Node Exporter / MacOS + - dashboard: Node Exporter / USE Method / Multi-cluster + - dashboard: Node Exporter / USE Method / Cluster + target-instance-rule: + entries: + - dashboard: Node Exporter / USE Method / Multi-cluster + reason: Instances are aggregated for all clusters + - dashboard: Node Exporter / USE Method / Cluster + reason: Instances are aggregated for the whole cluster + - dashboard: Node Exporter / USE Method / Node + reason: Dashboard only allows selecting a single instance at a time. + - dashboard: Node Exporter / Nodes + reason: Dashboard only allows selecting a single instance at a time. + - dashboard: Node Exporter / MacOS + reason: Dashboard only allows selecting a single instance at a time. + template-instance-rule: + entries: + - dashboard: Node Exporter / USE Method / Multi-cluster + reason: Instances are aggregated for all clusters + - dashboard: Node Exporter / USE Method / Cluster + reason: Instances are aggregated for the whole cluster + - dashboard: Node Exporter / Nodes + reason: Dashboard only allows selecting a single instance at a time. + - dashboard: Node Exporter / MacOS + reason: Ignoring mislabeling of instance template + - dashboard: Node Exporter / USE Method / Node + reason: Ignoring mislabeling of instance template + panel-units-rule: + entries: + - dashboard: Node Exporter / Nodes + reason: Units are indeed set for all but load average (which doesn't have a reasonable unit), but in the yaxis "format" property rather than in field config. The dashboard linter needs to be patched accordingly. + - dashboard: Node Exporter / MacOS + reason: Units are indeed set for all but load average (which doesn't have a reasonable unit), but in the yaxis "format" property rather than in field config. The dashboard linter needs to be patched accordingly. + - dashboard: Node Exporter / USE Method / Cluster + reason: Units are indeed set, but in the yaxis "format" property rather than in field config. The dashboard linter needs to be patched accordingly. + - dashboard: Node Exporter / USE Method / Multi-cluster + reason: Units are indeed set, but in the yaxis "format" property rather than in field config. The dashboard linter needs to be patched accordingly. + - dashboard: Node Exporter / USE Method / Node + reason: Units are indeed set, but in the yaxis "format" property rather than in field config. The dashboard linter needs to be patched accordingly. diff --git a/docs/node-mixin/alerts/alerts.libsonnet b/docs/node-mixin/alerts/alerts.libsonnet index 34d5314cc0..fc2ae2b56c 100644 --- a/docs/node-mixin/alerts/alerts.libsonnet +++ b/docs/node-mixin/alerts/alerts.libsonnet @@ -2,7 +2,7 @@ prometheusAlerts+:: { groups+: [ { - name: 'node-exporter', + name: 'node-exporter-filesystem', rules: [ { alert: 'NodeFilesystemSpaceFillingUp', @@ -156,6 +156,11 @@ description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', }, }, + ], + }, + { + name: 'node-exporter', + rules: [ { alert: 'NodeNetworkReceiveErrs', expr: ||| diff --git a/docs/node-mixin/config.libsonnet b/docs/node-mixin/config.libsonnet index bf6c83edd3..4e9cafadf2 100644 --- a/docs/node-mixin/config.libsonnet +++ b/docs/node-mixin/config.libsonnet @@ -88,9 +88,36 @@ rateInterval: '5m', // Opt-in for multi-cluster support. showMultiCluster: false, + clusterLabel: 'cluster', + // groupLabels is a string with comma-separated + // labels that are common labels of instances belonging to the + // same logical group. Include not only enough labels to + // identify cluster members, but also all common labels you want + // to keep for resulting cluster-level alerts. + groupLabels: 'job', + // commaSeparated list of labels identifying a single instance: + instanceLabels: 'instance', + dashboardNamePrefix: 'Node Exporter / ', dashboardTags: ['node-exporter-mixin'], + dashboardRefresh: '30s', + dashboardTimezone: 'utc', + dashboardInterval: 'now-2h', + + // Grafana dashboard IDs are necessary for stable links for dashboards + grafanaDashboardIDs: { + 'node-rsrc-use.json': 'node-rsrc-use', + 'node-cluster-rsrc-use.json': 'node-cluster-rsrc-use', + 'node-multicluster-rsrc-use.json': 'node-multicluster-rsrc-use', + 'nodes.json': 'nodes', + 'nodes-darwin.json': 'nodes-darwin', + 'nodes-system.json': 'node-system', + 'nodes-memory.json': 'node-memory', + 'nodes-network.json': 'node-network', + 'nodes-disk.json': 'node-disk', + 'nodes-fleet.json': 'node-fleet', + }, }, } diff --git a/docs/node-mixin/dashboards/disk.libsonnet b/docs/node-mixin/dashboards/disk.libsonnet new file mode 100644 index 0000000000..2f78c4da3e --- /dev/null +++ b/docs/node-mixin/dashboards/disk.libsonnet @@ -0,0 +1,165 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; + +{ + + // https://www.robustperception.io/filesystem-metrics-from-the-node-exporter/ + new(config=null, platform=null):: { + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + local templates = c.templates, + local q = c.queries, + + local fsAvailable = + nodeTimeseries.new( + 'Filesystem Space Available', + description=||| + Filesystem space utilisation in bytes, by mountpoint. + ||| + ) + .withUnits('decbytes') + .withFillOpacity(5) + .addTarget(commonPromTarget( + expr=q.node_filesystem_avail_bytes, + legendFormat='{{ mountpoint }}', + )), + + local fsInodes = + nodeTimeseries.new( + 'Free inodes', + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', + ) + .withUnits('short') + .addTarget(commonPromTarget( + expr=q.node_filesystem_files_free, + legendFormat='{{ mountpoint }}' + )) + .addTarget(commonPromTarget( + expr=q.node_filesystem_files, + legendFormat='{{ mountpoint }}' + )), + local fsInodesTotal = + nodeTimeseries.new( + 'Total inodes', + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', + ) + .withUnits('short') + .addTarget(commonPromTarget( + expr=q.node_filesystem_files, + legendFormat='{{ mountpoint }}' + )), + local fsErrorsandRO = + nodeTimeseries.new('Filesystems with errors / read-only') + .withMax(1) + .addTarget(commonPromTarget( + expr=q.node_filesystem_readonly, + legendFormat='{{ mountpoint }}' + )) + .addTarget(commonPromTarget( + expr=q.node_filesystem_device_error, + legendFormat='{{ mountpoint }}' + )), + local fileDescriptors = + nodeTimeseries.new( + 'File Descriptors', + description=||| + File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. + The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. + ||| + ) + .addTarget(commonPromTarget( + expr=q.process_max_fds, + legendFormat='Maximum open file descriptors', + )) + .addTarget(commonPromTarget( + expr=q.process_open_fds, + legendFormat='Open file descriptors', + )), + + local diskIOcompleted = + nodeTimeseries.new( + title='Disk IOps completed', + description='The number (after merges) of I/O requests completed per second for the device' + ) + .withUnits('iops') + .withNegativeYByRegex('reads') + .withAxisLabel('read(-) | write(+)') + .addTarget(commonPromTarget( + expr=q.node_disk_reads_completed_total, + legendFormat='{{device}} reads completed', + )) + .addTarget(commonPromTarget( + expr=q.node_disk_writes_completed_total, + legendFormat='{{device}} writes completed', + )), + + local diskAvgWaitTime = + nodeTimeseries.new( + title='Disk Average Wait Time', + description='The average time for requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.' + ) + .withUnits('s') + .withNegativeYByRegex('read') + .withAxisLabel('read(-) | write(+)') + .addTarget(commonPromTarget( + expr=q.diskWaitReadTime, + legendFormat='{{device}} read wait time avg', + )) + .addTarget(commonPromTarget( + expr=q.diskWaitWriteTime, + legendFormat='{{device}} write wait time avg', + )), + + local diskAvgQueueSize = + nodeTimeseries.new( + title='Average Queue Size (aqu-sz)', + description='The average queue length of the requests that were issued to the device.' + ) + .addTarget(commonPromTarget( + expr=q.diskAvgQueueSize, + legendFormat='{{device}}', + )), + + local panelsGrid = + [ + { type: 'row', title: 'Filesystem', gridPos: { y: 0 } }, + fsAvailable { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, + c.panelsWithTargets.diskSpaceUsage { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, + fsInodes { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, + fsInodesTotal { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, + fsErrorsandRO { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, + fileDescriptors { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, + { type: 'row', title: 'Disk', gridPos: { y: 25 } }, + c.panelsWithTargets.diskIO { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, + diskIOcompleted { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, + diskAvgWaitTime { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, + diskAvgQueueSize { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, + ], + + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode Filesystem and Disk' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-disk.json'] + ) + .addLink(c.links.fleetDash) + .addLink(c.links.nodeDash) + .addLink(c.links.otherDashes) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addPanels(panelsGrid) + else if platform == 'Darwin' then {}, + }, +} diff --git a/docs/node-mixin/dashboards/fleet.libsonnet b/docs/node-mixin/dashboards/fleet.libsonnet new file mode 100644 index 0000000000..a9939e59e2 --- /dev/null +++ b/docs/node-mixin/dashboards/fleet.libsonnet @@ -0,0 +1,505 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; + +{ + + new(config=null, platform=null):: { + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + + + local templates = [ + if std.member(std.split(config.instanceLabels, ','), template.name) + then + template + { + allValue: '.+', + includeAll: true, + multi: true, + } + else template + for template in c.templates + ], + + local q = c.queries, + + local fleetTable = + nodePanels.table.new( + title='Linux Nodes Overview' + ) + .addTarget(commonPromTarget(expr=q.osInfo, format='table', instant=true) { refId: 'INFO' }) + .addTarget(commonPromTarget(expr=q.nodeInfo, format='table', instant=true) { refId: 'OS' }) + .addTarget(commonPromTarget(expr=q.uptime, format='table', instant=true) { refId: 'UPTIME' }) + .addTarget(commonPromTarget(expr=q.systemLoad1, format='table', instant=true) { refId: 'LOAD1' }) + .addTarget(commonPromTarget(expr=q.systemLoad5, format='table', instant=true) { refId: 'LOAD5' }) + .addTarget(commonPromTarget(expr=q.systemLoad15, format='table', instant=true) { refId: 'LOAD15' }) + .addTarget(commonPromTarget( + expr=q.cpuCount, + format='table', + instant=true, + ) { refId: 'CPUCOUNT' }) + .addTarget(commonPromTarget( + expr=q.cpuUsage, format='table', instant=true, + ) { refId: 'CPUUSAGE' }) + .addTarget(commonPromTarget(expr=q.memoryTotal, format='table', instant=true) { refId: 'MEMTOTAL' }) + .addTarget(commonPromTarget(expr=q.memoryUsage, format='table', instant=true) { refId: 'MEMUSAGE' }) + .addTarget(commonPromTarget(expr=q.fsSizeTotalRoot, format='table', instant=true) { refId: 'FSTOTAL' }) + .addTarget(commonPromTarget( + expr= + ||| + 100-(max by (%(instanceLabels)s) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, fstype!="", mountpoint="/"}) + / + max by (%(instanceLabels)s) (node_filesystem_size_bytes{%(nodeQuerySelector)s, fstype!="", mountpoint="/"}) * 100) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + ) { refId: 'FSUSAGE' }) + .addTarget(commonPromTarget( + expr='count by (%(instanceLabels)s) (max_over_time(ALERTS{%(nodeQuerySelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(nodeQuerySelector)s})' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true + ) { refId: 'CRITICAL' }) + .addTarget(commonPromTarget( + expr='count by (%(instanceLabels)s) (max_over_time(ALERTS{%(nodeQuerySelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(nodeQuerySelector)s})' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true + ) { refId: 'WARNING' }) + .withTransform() + .joinByField(field=std.split(config.instanceLabels, ',')[0]) + .filterFieldsByName(std.split(config.instanceLabels, ',')[0] + '|nodename|Value.+') + .organize( + excludeByName={ + 'Value #OS': true, + 'Value #INFO': true, + 'Value #LOAD5': true, + 'Value #LOAD15': true, + }, + renameByName={ + instance: 'Instance', + pretty_name: 'OS', + nodename: 'Hostname', + release: 'Kernel version', + 'Value #LOAD1': 'Load 1m', + 'Value #LOAD5': 'Load 5m', + 'Value #LOAD15': 'Load 15m', + 'Value #CPUCOUNT': 'Cores', + 'Value #CPUUSAGE': 'CPU usage', + 'Value #MEMTOTAL': 'Memory total', + 'Value #MEMUSAGE': 'Memory usage', + 'Value #FSTOTAL': 'Root disk size', + 'Value #FSUSAGE': 'Root disk usage', + 'Value #UPTIME': 'Uptime', + 'Value #CRITICAL': 'Crit Alerts', + 'Value #WARNING': 'Warnings', + } + ) + .withFooter(reducer=['mean'], fields=[ + 'Value #LOAD1', + 'Value #MEMUSAGE', + 'Value #CPUUSAGE', + ]) + .addThresholdStep(color='light-blue', value=null) + .addThresholdStep(color='light-yellow', value=80) + .addThresholdStep(color='light-red', value=90) + .addOverride( + matcher={ + id: 'byName', + options: 'Instance', + }, + properties=[ + { + id: 'links', + value: [ + { + targetBlank: true, + title: c.links.instanceDataLinkForTable.title, + url: c.links.instanceDataLinkForTable.url, + }, + ], + }, + { + id: 'custom.filterable', + value: true, + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'OS|Kernel version|Hostname', + }, + properties=[ + { + id: 'custom.filterable', + value: true, + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'Memory total|Root disk size', + }, + properties=[ + { + id: 'unit', + value: 'bytes', + }, + { + id: 'decimals', + value: 0, + }, + ] + ) + .addOverride( + matcher={ + id: 'byName', + options: 'Cores', + }, + properties=[ + { + id: 'custom.width', + value: 60, + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'Load.+', + }, + properties=[ + { + id: 'custom.width', + value: 60, + }, + ] + ) + .addOverride( + matcher={ + id: 'byName', + options: 'Uptime', + }, + properties=[ + { + id: 'unit', + value: 'dtdurations', + }, + { + id: 'custom.displayMode', + value: 'color-text', + }, + { + id: 'thresholds', + value: { + mode: 'absolute', + steps: [ + { + color: 'light-orange', + value: null, + }, + { + color: 'text', + value: 300, + }, + ], + }, + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'CPU usage|Memory usage|Root disk usage', + }, + properties=[ + { + id: 'unit', + value: 'percent', + }, + // { + // id: 'custom.displayMode', + // value: 'gradient-gauge', + // }, + { + id: 'custom.displayMode', + value: 'basic', + }, + { + id: 'max', + value: 100, + }, + { + id: 'min', + value: 0, + }, + ] + ) + .sortBy('Instance') + , + + local memoryUsagePanel = + nodePanels.timeseries.new('Memory Usage', description='Top 25') + .withUnits('percent') + .withMin(0) + .withMax(100) + .withColor(mode='continuous-BlYlRd') + .withFillOpacity(1) + .withGradientMode('scheme') + .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') + .addDataLink( + title=c.links.instanceDataLink.title, + url=c.links.instanceDataLink.url, + ) + .addTarget(commonPromTarget( + expr='topk(25, ' + q.memoryUsage + ')', + legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + )) + .addTarget(commonPromTarget( + expr='avg(' + q.memoryUsage + ')', + legendFormat='Mean', + )) + .addOverride( + matcher={ + id: 'byName', + options: 'Mean', + + }, + properties=[ + { + id: 'custom.lineStyle', + value: { + fill: 'dash', + dash: [ + 10, + 10, + ], + }, + }, + { + id: 'custom.fillOpacity', + value: 0, + }, + { + id: 'color', + value: { + mode: 'fixed', + fixedColor: 'light-purple', + }, + }, + { + id: 'custom.lineWidth', + value: 2, + }, + ] + ), + + local cpuUsagePanel = + nodePanels.timeseries.new('CPU Usage', description='Top 25') + .withUnits('percent') + .withMin(0) + .withMax(100) + .withFillOpacity(1) + .withColor(mode='continuous-BlYlRd') + .withGradientMode('scheme') + .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') + .addDataLink( + title=c.links.instanceDataLink.title, + url=c.links.instanceDataLink.url, + ) + .addTarget(commonPromTarget( + expr='topk(25, ' + q.cpuUsage + ')', + legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')), + )) + .addTarget(commonPromTarget( + expr='avg(' + q.cpuUsage + ')', + legendFormat='Mean', + )) + .addOverride( + matcher={ + id: 'byName', + options: 'Mean', + + }, + properties=[ + { + id: 'custom.lineStyle', + value: { + fill: 'dash', + dash: [ + 10, + 10, + ], + }, + }, + { + id: 'custom.fillOpacity', + value: 0, + }, + { + id: 'color', + value: { + mode: 'fixed', + fixedColor: 'light-purple', + }, + }, + { + id: 'custom.lineWidth', + value: 2, + }, + ] + ), + + local diskIOPanel = + nodePanels.timeseries.new('Disks I/O', description='Top 25') + .withUnits('percentunit') + .withMin(0) + .withMax(1) + .withFillOpacity(1) + .withColor(mode='continuous-BlYlRd') + .withGradientMode('scheme') + .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') + .addDataLink( + title=c.links.instanceDataLink.title, + url=c.links.instanceDataLink.url, + ) + .addTarget(commonPromTarget( + expr='topk(25, ' + q.diskIoTime + ')', + legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{device}}', + )) + .addOverride( + matcher={ + id: 'byName', + options: 'Mean', + + }, + properties=[ + { + id: 'custom.lineStyle', + value: { + fill: 'dash', + dash: [ + 10, + 10, + ], + }, + }, + { + id: 'custom.fillOpacity', + value: 0, + }, + { + id: 'color', + value: { + mode: 'fixed', + fixedColor: 'light-purple', + }, + }, + { + id: 'custom.lineWidth', + value: 2, + }, + ] + ), + local diskSpacePanel = + nodePanels.timeseries.new('Disks Space Usage', description='Top 25') + .withUnits('percentunit') + .withMin(0) + .withMax(1) + .withFillOpacity(1) + .withColor(mode='continuous-BlYlRd') + .withGradientMode('scheme') + .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') + .addDataLink( + title=c.links.instanceDataLink.title, + url=c.links.instanceDataLink.url, + ) + .addTarget(commonPromTarget( + expr='topk(25, ' + q.diskSpaceUsage + ')', + legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{mountpoint}}', + )) + .addOverride( + matcher={ + id: 'byName', + options: 'Mean', + + }, + properties=[ + { + id: 'custom.lineStyle', + value: { + fill: 'dash', + dash: [ + 10, + 10, + ], + }, + }, + { + id: 'custom.fillOpacity', + value: 0, + }, + { + id: 'color', + value: { + mode: 'fixed', + fixedColor: 'light-purple', + }, + }, + { + id: 'custom.lineWidth', + value: 2, + }, + ] + ), + local networkErrorsDropsPanel = + nodePanels.timeseries.new('Network Errors and Dropped Packets', description='Top 25') + .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') + .addTarget(commonPromTarget( + expr='topk(25, ' + q.networkReceiveErrorsPerSec + ' + ' + q.networkTransmitErrorsPerSec + ' + ' + q.networkReceiveDropsPerSec + ' + ' + q.networkTransmitDropsPerSec + ') > 0.5', + legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{device}}', + )) + .withDecimals(1) + .withUnits('pps') + .withDrawStyle('points') + .withPointsSize(5) + .addDataLink( + title=c.links.instanceDataLink.title, + url=c.links.instanceDataLink.url, + ), + + local rows = + [ + row.new('Overview') + .addPanel(fleetTable { span: 12, height: '800px' }) + .addPanel(cpuUsagePanel { span: 12 }) + .addPanel(memoryUsagePanel { span: 12 }) + .addPanel(diskIOPanel { span: 6 }).addPanel(diskSpacePanel { span: 6 }) + .addPanel(networkErrorsDropsPanel { span: 12 }), + ], + + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode Fleet Overview' % config.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-fleet.json'], + ) + .addLink(c.links.otherDashes { includeVars: false }) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addRows(rows) + else if platform == 'Darwin' then {}, + }, +} diff --git a/docs/node-mixin/dashboards/memory.libsonnet b/docs/node-mixin/dashboards/memory.libsonnet new file mode 100644 index 0000000000..5b6e613851 --- /dev/null +++ b/docs/node-mixin/dashboards/memory.libsonnet @@ -0,0 +1,406 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; + +{ + + new(config=null, platform=null):: { + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + local templates = c.templates, + local q = c.queries, + + local memoryPagesInOut = + nodeTimeseries.new( + 'Memory Pages In / Out', + description=||| + Page-In - Return of pages to physical memory. This is a common and normal event. + + Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. + When the kernel detects low memory, it attempts to free memory by paging out. + While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. + Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. + ||| + ) + .withNegativeYByRegex('out') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_vmstat_pgpgin{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Page-In' + )) + .addTarget(commonPromTarget( + expr='irate(node_vmstat_pgpgout{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Page-Out' + )), + local memoryPagesSwapInOut = + nodeTimeseries.new( + 'Memory Pages Swapping In / Out', + description=||| + Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. + Nonetheless, it is a preferable option to crashing or killing off processes. + + The process of writing pages out to disk to free memory is known as swapping-out. + If a page fault occurs because the page is on disk, in the swap area, rather than in memory, + the kernel will read the page back in from the disk to satisfy the page fault. + This is known as swapping-in. + ||| + ) + .withNegativeYByRegex('out') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_vmstat_pswpin{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Pages swapped in' + )) + .addTarget(commonPromTarget( + expr='irate(node_vmstat_pswpout{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Pages swapped out' + )), + + local memoryPagesFaults = + nodeTimeseries.new( + 'Memory Page Faults', + description=||| + A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, + requiring a mapping to be added to the process's virtual address space. The page contents may also need to be loaded from a backing store such as a disk. + While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. + Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. + ||| + ) + .addTarget(commonPromTarget( + expr='irate(node_vmstat_pgmajfault{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Major page fault operations' + )) + .addTarget(commonPromTarget( + expr= + ||| + irate(node_vmstat_pgfault{%(nodeQuerySelector)s}[$__rate_interval]) + - + irate(node_vmstat_pgmajfault{%(nodeQuerySelector)s}[$__rate_interval]) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Minor page fault operations' + )), + + local memoryOOMkiller = + nodeTimeseries.new( + 'OOM Killer', + description=||| + Out Of Memory Killer is a process used by the Linux kernel when the system is running critically low on memory. + This can happen when the kernel has allocated more memory than is available for its processes. + ||| + ) + .addTarget(commonPromTarget( + expr='increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval] offset -$__interval)' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='OOM killer invocations' + )), + + local memoryActiveInactive = + nodeTimeseries.new( + 'Memory Active / Inactive', + description=||| + Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. + Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Inactive_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Inactive', + )) + .addTarget(commonPromTarget( + expr='node_memory_Active_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Active', + )), + + local memoryActiveInactiveDetail = + nodeTimeseries.new( + 'Memory Active / Inactive Details', + description=||| + Inactive_file: File-backed memory on inactive LRU list. + Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). + Active_file: File-backed memory on active LRU list. + Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Inactive_file_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Inactive_file', + )) + .addTarget(commonPromTarget( + expr='node_memory_Inactive_anon_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Inactive_anon', + )) + .addTarget(commonPromTarget( + expr='node_memory_Active_file_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Active_file', + )) + .addTarget(commonPromTarget( + expr='node_memory_Active_anon_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Active_anon', + )), + + local memoryCommited = + nodeTimeseries.new( + 'Memory Commited', + description=||| + Committed_AS - Amount of memory presently allocated on the system. + CommitLimit - Amount of memory currently available to be allocated on the system. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Committed_AS_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Committed_AS' + )) + .addTarget(commonPromTarget( + expr='node_memory_CommitLimit_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='CommitLimit' + )), + local memorySharedAndMapped = + nodeTimeseries.new( + 'Memory Shared and Mapped', + description=||| + Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. + Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. + ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. + ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Mapped_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Mapped' + )) + .addTarget(commonPromTarget( + expr='node_memory_Shmem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Shmem' + )) + .addTarget(commonPromTarget( + expr='node_memory_ShmemHugePages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ShmemHugePages' + )) + .addTarget(commonPromTarget( + expr='node_memory_ShmemPmdMapped_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ShmemPmdMapped' + )), + + local memoryWriteAndDirty = + nodeTimeseries.new( + 'Memory Writeback and Dirty', + description=||| + Writeback: This refers to the memory that is currently being actively written back to the disk. + WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. + Dirty: This type of memory is waiting to be written back to the disk. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Writeback_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Writeback' + )) + .addTarget(commonPromTarget( + expr='node_memory_WritebackTmp_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='WritebackTmp' + )) + .addTarget(commonPromTarget( + expr='node_memory_Dirty_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Dirty' + )), + + local memoryVmalloc = + nodeTimeseries.new( + 'Memory Vmalloc', + description=||| + Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. + + VmallocChunk: Largest contiguous block of vmalloc area which is free. + VmallocTotal: Total size of vmalloc memory area. + VmallocUsed: Amount of vmalloc area which is used. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_VmallocChunk_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='VmallocChunk' + )) + .addTarget(commonPromTarget( + expr='node_memory_VmallocTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='VmallocTotal' + )) + .addTarget(commonPromTarget( + expr='node_memory_VmallocUsed_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='VmallocUsed' + )), + + local memorySlab = + nodeTimeseries.new('Memory Slab', + description=||| + Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. + + The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. + + SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. + SReclaimable: Part of Slab, that might be reclaimed, such as caches. + |||) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_SUnreclaim_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='SUnreclaim' + )) + .addTarget(commonPromTarget( + expr='node_memory_SReclaimable_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='SReclaimable' + )), + + local memoryAnonymous = + nodeTimeseries.new( + 'Memory Anonymous', + description=||| + Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. + + This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. + + Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, + and from Memory Shared with other processes, + which refers to memory regions that can be accessed and modified by multiple processes. + + AnonHugePages: Memory in anonymous huge pages. + AnonPages: Memory in user pages not backed by files. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_AnonHugePages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='AnonHugePages' + )) + .addTarget(commonPromTarget( + expr='node_memory_AnonPages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='AnonPages' + )), + + local memoryHugePagesCounter = + nodeTimeseries.new( + 'Memory HugePages Counter', + description=||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + + HugePages_Free: Huge pages in the pool that are not yet allocated. + HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. + HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. + ||| + ) + .addTarget(commonPromTarget( + expr='node_memory_HugePages_Free{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='HugePages_Free' + )) + .addTarget(commonPromTarget( + expr='node_memory_HugePages_Rsvd{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='HugePages_Rsvd' + )) + .addTarget(commonPromTarget( + expr='node_memory_HugePages_Surp{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='HugePages_Surp' + )), + local memoryHugePagesSize = + nodeTimeseries.new( + 'Memory HugePages Size', + description=||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_HugePages_Total{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Huge pages total size' + )) + .addTarget(commonPromTarget( + expr='node_memory_Hugepagesize_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Huge page size' + )), + local memoryDirectMap = + nodeTimeseries.new( + 'Memory Direct Map', + description=||| + Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_DirectMap1G_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='DirectMap1G' + )) + .addTarget(commonPromTarget( + expr='node_memory_DirectMap2M_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='DirectMap2M' + )) + .addTarget(commonPromTarget( + expr='node_memory_DirectMap4k_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='DirectMap4k' + )), + + local memoryBounce = + nodeTimeseries.new( + 'Memory Bounce', + description=||| + Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. + + To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. + + Bounce: Memory used for block device bounce buffers. + ||| + ) + .withUnits('decbytes') + .addTarget(commonPromTarget( + expr='node_memory_Bounce_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Bounce' + )), + local panelsGrid = + [ + c.panelsWithTargets.memoryGauge { gridPos: { x: 0, w: 6, h: 6, y: 0 } }, + c.panelsWithTargets.memoryGraph { gridPos: { x: 6, w: 18, h: 6, y: 0 } }, + { type: 'row', title: 'Vmstat', gridPos: { y: 25 } }, + memoryPagesInOut { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, + memoryPagesSwapInOut { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, + memoryPagesFaults { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, + memoryOOMkiller { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, + { type: 'row', title: 'Memstat', gridPos: { y: 50 } }, + memoryActiveInactive { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memoryActiveInactiveDetail { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + memoryCommited { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memorySharedAndMapped { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + memoryWriteAndDirty { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memoryVmalloc { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + memorySlab { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memoryAnonymous { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + memoryHugePagesCounter { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memoryHugePagesSize { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + memoryDirectMap { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, + memoryBounce { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, + ], + + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode Memory' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-memory.json'], + ) + .addLink(c.links.fleetDash) + .addLink(c.links.nodeDash) + .addLink(c.links.otherDashes) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addPanels(panelsGrid) + else if platform == 'Darwin' then {}, + }, +} diff --git a/docs/node-mixin/dashboards/network.libsonnet b/docs/node-mixin/dashboards/network.libsonnet new file mode 100644 index 0000000000..ceacd13e42 --- /dev/null +++ b/docs/node-mixin/dashboards/network.libsonnet @@ -0,0 +1,796 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; + +{ + + new(config=null, platform=null):: { + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + local templates = c.templates, + local q = c.queries, + + local networkTrafficPanel = + commonPanels.networkTrafficGraph.new( + 'Network Traffic', + description=||| + Network interfaces utilisation by device and direction. + ||| + ) + .addTarget(commonPromTarget( + expr=q.networkReceiveBitsPerSec, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitBitsPerSec, + legendFormat='{{device}} transmitted', + )), + + local networkPacketsPanel = + nodeTimeseries.new( + 'Packets', + description=||| + packets received: Number of good packets received by the interface. + For hardware interfaces counts all good packets received from the device by the host, including packets which host had to drop at various stages of processing (even in the driver). + + packets transmitted: Number of packets successfully transmitted. + For hardware interfaces counts packets which host was able to successfully hand over to the device, + which does not necessarily mean that packets had been successfully transmitted out of the device, only that device acknowledged it copied them out of host memory. + + https://docs.kernel.org/networking/statistics.html + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_network_receive_packets_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + 'irate(node_network_transmit_packets_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)'), + + local networkErrorsPanel = + nodeTimeseries.new( + 'Network Errors', + description=||| + errors received: Total number of bad packets received on this network device. This counter must include events counted by rx_length_errors, rx_crc_errors, rx_frame_errors and other errors not otherwise counted. + + errors transmitted: Total number of transmit problems. This counter must include events counter by tx_aborted_errors, tx_carrier_errors, tx_fifo_errors, tx_heartbeat_errors, tx_window_errors and other errors not otherwise counted. + + https://docs.kernel.org/networking/statistics.html + ||| + ) + .addTarget(commonPromTarget( + expr=q.networkReceiveErrorsPerSec, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitErrorsPerSec, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)'), + + local networkDropsPanel = + nodeTimeseries.new( + 'Dropped Packets', + description=||| + drops received: Number of packets received but not processed, e.g. due to lack of resources or unsupported protocol. For hardware interfaces this counter may include packets discarded due to L2 address filtering but should not include packets dropped by the device due to buffer exhaustion which are counted separately in rx_missed_errors (since procfs folds those two counters together). + + drops transmitted: Number of packets dropped on their way to transmission, e.g. due to lack of resources. + https://docs.kernel.org/networking/statistics.html + ||| + ) + .addTarget(commonPromTarget( + expr=q.networkReceiveDropsPerSec, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitDropsPerSec, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)'), + local networkCompressedPanel = + nodeTimeseries.new( + 'Compressed Packets', + description=||| + compressed received: + Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + compressed transmitted: + Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + https://docs.kernel.org/networking/statistics.html + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_network_receive_compressed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + 'irate(node_network_transmit_compressed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)'), + + local networkMulticastPanel = + nodeTimeseries.new( + 'Multicast Packets', + description=||| + Multicast packets received and transmitted. + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_network_receive_multicast_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + 'irate(node_network_transmit_multicast_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit'), + + local networkFifoPanel = + nodeTimeseries.new( + 'Network FIFO', + description=||| + Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. + It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. + Packets are stored in the FIFO buffer until they can be transmitted or processed further. + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_network_receive_fifo_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + 'irate(node_network_transmit_fifo_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}} transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)'), + + local networkNFConntrack = + nodeTimeseries.new( + 'NF Conntrack', + description=||| + NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, + enforce firewall rules, perform NAT, and manage network address/port translation. + ||| + ) + .addTarget(commonPromTarget( + 'node_nf_conntrack_entries{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='NF conntrack entries', + )) + .addTarget(commonPromTarget( + 'node_nf_conntrack_entries_limit{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='NF conntrack limits', + )) + .withFillOpacity(0), + + local networkSoftnetPanel = + nodeTimeseries.new( + 'Softnet Packets', + description=||| + Softnet packets are received by the network and queued for processing by the kernel's networking stack. + Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_softnet_processed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='CPU {{cpu }} proccessed', + )) + .addTarget(commonPromTarget( + 'irate(node_softnet_dropped_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='CPU {{cpu }} dropped', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('dropped') + .withAxisLabel('Dropped(-) | Processed(+)'), + + local networkSoftnetSqueezePanel = + nodeTimeseries.new( + 'Softnet Out of Quota', + description=||| + "Softnet Out of Quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. + This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. + ||| + ) + .addTarget(commonPromTarget( + 'irate(node_softnet_times_squeezed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='CPU {{cpu}} out of quota', + )) + .withDecimals(1) + .withUnits('pps'), + + local networkInterfacesTable = + nodePanels.table.new( + title='Network Interfaces Overview' + ) + // "Value #A" + .addTarget(commonPromTarget( + expr='node_network_up{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "Value #B" + .addTarget(commonPromTarget( + expr='node_network_carrier{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "Value #C" + .addTarget(commonPromTarget( + expr=q.networkTransmitBitsPerSec, + format='table', + instant=true, + )) + // "Value #D" + .addTarget(commonPromTarget( + expr=q.networkReceiveBitsPerSec, + format='table', + instant=true, + )) + // "Value #E" + .addTarget(commonPromTarget( + expr='node_arp_entries{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "Value #F" + .addTarget(commonPromTarget( + expr='node_network_mtu_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "Value #G" + .addTarget(commonPromTarget( + expr='node_network_speed_bytes{%(nodeQuerySelector)s} * 8' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "Value #H" + .addTarget(commonPromTarget( + expr='node_network_transmit_queue_length{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + // "VALUE #I" + .addTarget(commonPromTarget( + expr='node_network_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + format='table', + instant=true, + )) + .withTransform() + .joinByField(field='device') + .filterFieldsByName('device|address|duplex|Value.+') + .organize( + excludeByName={ + 'Value #I': true, + }, + renameByName= + { + device: 'Interface', + address: 'Address', + duplex: 'Duplex', + 'Value #A': 'Up', + 'Value #B': 'Carrier', + 'Value #C': 'Transmit', + 'Value #D': 'Receive', + 'Value #E': 'ARP entries', + 'Value #F': 'MTU', + 'Value #G': 'Speed', + 'Value #H': 'Queue length', + } + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'Speed', + }, + properties=[ + { + id: 'unit', + value: 'bps', + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'Carrier|Up', + }, + properties=[ + { + id: 'custom.displayMode', + value: 'color-text', + }, + { + id: 'mappings', + value: [ + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 1, + }, + '1': { + text: 'Up', + color: 'light-green', + index: 0, + }, + }, + }, + ], + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: 'Transmit|Receive', + }, + properties=[ + { + id: 'unit', + value: 'bps', + }, + { + id: 'custom.displayMode', + value: 'gradient-gauge', + }, + { + id: 'color', + value: { + mode: 'continuous-BlYlRd', + }, + }, + { + id: 'max', + value: 1000 * 1000 * 100, + }, + ] + ) + , + + local networkOperStatus = + nodeTimeseries.new( + title='Network Interfaces Carrier Status', + description='Network Interfaces Carrier Status', + ) + .withColor(mode='palette-classic') + .withFillOpacity(100) + .withLegend(mode='list') + .addTarget(commonPromTarget( + expr='node_network_carrier{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='{{device}}' + )) + + { + maxDataPoints: 100, + type: 'status-history', + fieldConfig+: { + defaults+: { + mappings+: [ + { + type: 'value', + options: { + '1': { + text: 'Up', + color: 'light-green', + index: 1, + }, + }, + }, + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 0, + }, + }, + }, + + ], + }, + }, + }, + // https://github.com/prometheus/node_exporter/pull/2346/files#diff-3699c850869aecf912f8e8272958b556913fc266534206833a5dcb7d6cca3610 + local networkSockstatTCP = + nodeTimeseries.new( + title='Sockets TCP', + description=||| + TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. + + Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. + ||| + ) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_alloc{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Allocated' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv6 In use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 In use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_orphan{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Orphan sockets' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_tw{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Time wait' + )), + + local networkSockstatUDP = + nodeTimeseries.new( + title='Sockets UDP', + description=||| + UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. + Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. + ||| + ) + .addTarget(commonPromTarget( + expr='node_sockstat_UDPLITE_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 UDPLITE in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_UDP_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 UDP in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_UDPLITE6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv6 UDPLITE in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_UDP6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv6 UDP in use' + )), + + local networkSockstatOther = + nodeTimeseries.new( + title='Sockets Other', + description=||| + FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. + + RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. + ||| + ) + .addTarget(commonPromTarget( + expr='node_sockstat_FRAG_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 Frag sockets in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_FRAG6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv6 Frag sockets in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_RAW_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 Raw sockets in use' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_RAW6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv6 Raw sockets in use' + )), + + + local networkSockstatMemory = + nodeTimeseries.new( + title='Sockets Memory', + description=||| + Memory currently in use for sockets. + ||| + ) + .withMaxDataPoints(100) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_mem{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Memory pages allocated for TCP sockets' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_UDP_mem{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Memory pages allocated for UDP sockets' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_TCP_mem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Memory bytes allocated for TCP sockets' + )) + .addTarget(commonPromTarget( + expr='node_sockstat_UDP_mem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Memory bytes allocated for UDP sockets' + )) + .addOverride( + matcher={ + id: 'byRegexp', + options: '/bytes/', + }, + properties=[ + { + id: 'unit', + value: 'bytes', + }, + { + id: 'custom.drawStyle', + value: 'lines', + }, + { + id: 'custom.drawStyle', + value: 'bars', + }, + { + id: 'custom.stacking', + value: { + mode: 'normal', + group: 'A', + }, + }, + ] + ), + + local networkSockstatAll = + nodeTimeseries.new( + title='Sockets in use', + description='Number of sockets currently in use.', + ) + .addTarget(commonPromTarget( + expr='node_sockstat_sockets_used{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='IPv4 sockets in use' + )), + + local networkNetstatIP = + nodeTimeseries.new( + title='IP octets', + description='Rate of IP octets received and transmitted.' + ) + .withUnits('oct/s') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_netstat_IpExt_InOctets{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Octets received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_IpExt_OutOctets{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Octets transmitted' + )), + + + local networkNetstatTCP = + nodeTimeseries.new( + title='TCP segments', + description='Rate of TCP segments received and transmitted.' + ) + .withUnits('seg/s') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_netstat_Tcp_InSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Tcp_OutSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP transmitted' + )), + + local networkNetstatTCPerrors = + nodeTimeseries.new( + title='TCP errors rate', + description='Rate of TCP errors.' + ) + .withUnits('err/s') + .addTarget(commonPromTarget( + expr='irate(node_netstat_TcpExt_ListenOverflows{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP overflow' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_TcpExt_ListenDrops{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP ListenDrops - SYNs to LISTEN sockets ignored' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_TcpExt_TCPSynRetrans{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP SYN rentransmits' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Tcp_RetransSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP retransmitted segments, containing one or more previously transmitted octets' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Tcp_InErrs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP received with errors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Tcp_OutRsts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='TCP segments sent with RST flag' + )), + + local networkNetstatUDP = + nodeTimeseries.new( + title='UDP datagrams', + description='Rate of UDP datagrams received and transmitted.' + ) + .withUnits('dat/s') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_InDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_OutDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP transmitted' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_InDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_OutDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 transmitted' + )), + + local networkNetstatUDPerrors = + nodeTimeseries.new( + title='UDP errors rate', + description='Rate of UDP datagrams received and transmitted with errors.' + ) + .withUnits('err/s') + .addTarget(commonPromTarget( + expr='irate(node_netstat_UdpLite_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDPLite InErrors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP InErrors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 InErrors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_NoPorts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP NoPorts' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_NoPorts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 NoPorts' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_RcvbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP receive buffer errors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_RcvbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 receive buffer errors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp_SndbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP send buffer errors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Udp6_SndbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='UDP6 send buffer errors' + )), + + + local networkNetstatICMP = + nodeTimeseries.new( + title='ICMP messages', + description="Rate of ICMP messages, like 'ping', received and transmitted." + ) + .withUnits('msg/s') + .withNegativeYByRegex('transmit') + .withAxisLabel('out(-) | in(+)') + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp_InMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp_OutMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP transmitted' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp6_InMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP6 received' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp6_OutMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP6 transmitted' + )), + + local networkNetstatICMPerrors = + nodeTimeseries.new( + title='ICMP errors rate', + description='Rate of ICMP messages received and transmitted with errors.' + ) + .withUnits('err/s') + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP Errors' + )) + .addTarget(commonPromTarget( + expr='irate(node_netstat_Icmp6_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='ICMP6 Errors' + )), + + + local rows = + [ + row.new('Network') + .addPanel(networkInterfacesTable { span: 12 }) + .addPanel(networkTrafficPanel { span: 6 }) + .addPanel(networkOperStatus { span: 6 }) + .addPanel(networkErrorsPanel { span: 6 }) + .addPanel(networkDropsPanel { span: 6 }) + .addPanel(networkPacketsPanel { span: 6 }) + .addPanel(networkMulticastPanel { span: 6 }) + .addPanel(networkFifoPanel { span: 6 }) + .addPanel(networkCompressedPanel { span: 6 }) + .addPanel(networkNFConntrack { span: 6 }) + .addPanel(networkSoftnetPanel { span: 6 }) + .addPanel(networkSoftnetSqueezePanel { span: 6 }), + row.new('Network Sockets') + .addPanel(networkSockstatAll { span: 12 }) + .addPanel(networkSockstatTCP { span: 6 }) + .addPanel(networkSockstatUDP { span: 6 }) + .addPanel(networkSockstatMemory { span: 6 }) + .addPanel(networkSockstatOther { span: 6 }), + + row.new('Network Netstat') + .addPanel(networkNetstatIP { span: 12 }) + .addPanel(networkNetstatTCP { span: 6 }) + .addPanel(networkNetstatTCPerrors { span: 6 }) + .addPanel(networkNetstatUDP { span: 6 }) + .addPanel(networkNetstatUDPerrors { span: 6 }) + .addPanel(networkNetstatICMP { span: 6 }) + .addPanel(networkNetstatICMPerrors { span: 6 }), + ], + + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode Network' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-network.json'] + ) + .addLink(c.links.fleetDash) + .addLink(c.links.nodeDash) + .addLink(c.links.otherDashes) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addRows(rows) + else if platform == 'Darwin' then {}, + }, +} diff --git a/docs/node-mixin/dashboards/node.libsonnet b/docs/node-mixin/dashboards/node.libsonnet index 898c912d56..a00eb1b9f7 100644 --- a/docs/node-mixin/dashboards/node.libsonnet +++ b/docs/node-mixin/dashboards/node.libsonnet @@ -1,7 +1,19 @@ { - local nodemixin = import '../lib/prom-mixin.libsonnet', + local nodemixin = import './prom-mixin.libsonnet', + local cpu = import './cpu.libsonnet', + local system = import './system.libsonnet', + local memory = import './memory.libsonnet', + local disk = import './disk.libsonnet', + local network = import './network.libsonnet', + local fleet = import './fleet.libsonnet', + grafanaDashboards+:: { 'nodes.json': nodemixin.new(config=$._config, platform='Linux').dashboard, 'nodes-darwin.json': nodemixin.new(config=$._config, platform='Darwin').dashboard, + 'nodes-system.json': system.new(config=$._config, platform='Linux').dashboard, + 'nodes-memory.json': memory.new(config=$._config, platform='Linux').dashboard, + 'nodes-network.json': network.new(config=$._config, platform='Linux').dashboard, + 'nodes-disk.json': disk.new(config=$._config, platform='Linux').dashboard, + 'nodes-fleet.json': fleet.new(config=$._config, platform='Linux').dashboard, }, } diff --git a/docs/node-mixin/dashboards/prom-mixin.libsonnet b/docs/node-mixin/dashboards/prom-mixin.libsonnet new file mode 100644 index 0000000000..a562844073 --- /dev/null +++ b/docs/node-mixin/dashboards/prom-mixin.libsonnet @@ -0,0 +1,180 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local statPanel = grafana.statPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; +local nodeTemplates = common.templates; + +{ + + new(config=null, platform=null):: { + + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + local templates = c.templates, + local q = c.queries, + + local uptimePanel = + commonPanels.uptimeStat.new() + .addTarget(commonPromTarget(expr=q.uptime)), + + local cpuCountPanel = + commonPanels.infoStat.new('CPU Count') + .addTarget(commonPromTarget(expr=q.cpuCount)), + + local memoryTotalPanel = + commonPanels.infoStat.new('Memory Total') + .addTarget(commonPromTarget(expr=q.memoryTotal)) + .withUnits('bytes') + .withDecimals(0), + + local osPanel = + commonPanels.infoStat.new('OS') + .addTarget(commonPromTarget( + expr=q.osInfo, format='table' + )) { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, + + local nodeNamePanel = + commonPanels.infoStat.new('Hostname') + .addTarget(commonPromTarget( + expr=q.nodeInfo, format='table' + )) + { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, + + local kernelVersionPanel = + + commonPanels.infoStat.new('Kernel version') + .addTarget(commonPromTarget( + expr=q.nodeInfo, format='table' + )) + { options+: { reduceOptions+: { fields: '/^release$/' } } } + , + + local totalSwapPanel = + commonPanels.infoStat.new('Total swap') + .addTarget(commonPromTarget( + expr=q.memorySwapTotal + )) + .withUnits('bytes') + .withDecimals(0), + + local totalRootFSPanel = + commonPanels.infoStat.new('Root mount size') + .addTarget(commonPromTarget( + expr=q.fsSizeTotalRoot, + )) + .withUnits('bytes') + .withDecimals(0), + + local networkTrafficPanel = + commonPanels.networkTrafficGraph.new( + 'Network Traffic', description='Network transmitted and received (bits/s)', + ) + .addTarget(commonPromTarget( + expr=q.networkReceiveBitsPerSec, + legendFormat='{{device}} received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitBitsPerSec, + legendFormat='{{device}} transmitted', + )), + + local networkErrorsDropsPanel = + nodePanels.timeseries.new( + 'Network Errors and Dropped Packets', + description=||| + errors received: Total number of bad packets received on this network device. This counter must include events counted by rx_length_errors, rx_crc_errors, rx_frame_errors and other errors not otherwise counted. + + errors transmitted: Total number of transmit problems. This counter must include events counter by tx_aborted_errors, tx_carrier_errors, tx_fifo_errors, tx_heartbeat_errors, tx_window_errors and other errors not otherwise counted. + + drops received: Number of packets received but not processed, e.g. due to lack of resources or unsupported protocol. For hardware interfaces this counter may include packets discarded due to L2 address filtering but should not include packets dropped by the device due to buffer exhaustion which are counted separately in rx_missed_errors (since procfs folds those two counters together). + + drops transmitted: Number of packets dropped on their way to transmission, e.g. due to lack of resources. + + https://docs.kernel.org/networking/statistics.html + ||| + ) + .addTarget(commonPromTarget( + expr=q.networkReceiveErrorsPerSec, + legendFormat='{{device}} errors received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitErrorsPerSec, + legendFormat='{{device}} errors transmitted', + )) + .addTarget(commonPromTarget( + expr=q.networkReceiveDropsPerSec, + legendFormat='{{device}} drops received', + )) + .addTarget(commonPromTarget( + expr=q.networkTransmitDropsPerSec, + legendFormat='{{device}} drops transmitted', + )) + .withDecimals(1) + .withUnits('pps') + .withNegativeYByRegex('trasnmitted') + .withAxisLabel('out(-) | in(+)'), + + + local panelsGrid = + [ + // use negative gravity effect, max w=24, default h=8 + { type: 'row', title: 'Overview' }, + uptimePanel { gridPos: { x: 0, w: 6, h: 2 } }, + nodeNamePanel { gridPos: { x: 6, w: 6, h: 2 } }, + kernelVersionPanel { gridPos: { x: 12, w: 6, h: 2 } }, + osPanel { gridPos: { x: 18, w: 6, h: 2 } }, + cpuCountPanel { gridPos: { x: 0, w: 6, h: 2 } }, + memoryTotalPanel { gridPos: { x: 6, w: 6, h: 2 } }, + totalSwapPanel { gridPos: { x: 12, w: 6, h: 2 } }, + totalRootFSPanel { gridPos: { x: 18, w: 6, h: 2 } }, + { type: 'row', title: 'CPU' } { gridPos: { y: 25 } }, + c.panelsWithTargets.cpuStatPanel { gridPos: { x: 0, w: 6, h: 6, y: 25 } }, + c.panelsWithTargets.idleCPU { gridPos: { x: 6, w: 12, h: 6, y: 25 } }, + c.panelsWithTargets.systemLoad { gridPos: { x: 18, w: 6, h: 6, y: 25 } }, + { type: 'row', title: 'Memory' } { gridPos: { y: 50 } }, + c.panelsWithTargets.memoryGauge { gridPos: { x: 0, w: 6, h: 6, y: 50 } }, + c.panelsWithTargets.memoryGraph { gridPos: { x: 6, w: 18, h: 6, y: 50 } }, + { type: 'row', title: 'Disk' } { gridPos: { y: 75 } }, + c.panelsWithTargets.diskIO { gridPos: { x: 0, w: 12, h: 8, y: 75 } }, + c.panelsWithTargets.diskSpaceUsage { gridPos: { x: 12, w: 12, h: 8, y: 75 } }, + { type: 'row', title: 'Network' } { gridPos: { y: 100 } }, + networkTrafficPanel { gridPos: { x: 0, w: 12, h: 8, y: 100 } }, + networkErrorsDropsPanel { gridPos: { x: 12, w: 12, h: 8, y: 100 } }, + ], + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode Overview' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes.json'], + ) + .addLink(c.links.fleetDash) + .addLink(c.links.otherDashes) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addPanels(panelsGrid) + else if platform == 'Darwin' then + dashboard.new( + '%sMacOS' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-darwin.json'], + ) + .addTemplates(templates) + .addPanels(panelsGrid), + + }, +} diff --git a/docs/node-mixin/dashboards/system.libsonnet b/docs/node-mixin/dashboards/system.libsonnet new file mode 100644 index 0000000000..e1bd58d759 --- /dev/null +++ b/docs/node-mixin/dashboards/system.libsonnet @@ -0,0 +1,150 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +local common = import '../lib/common.libsonnet'; + +{ + + new(config=null, platform=null):: { + local c = common.new(config=config, platform=platform), + local commonPromTarget = c.commonPromTarget, + local templates = c.templates, + local q = c.queries, + + local cpuUsageModes = + nodeTimeseries.new( + 'CPU Usage', + description=||| + System: Processes executing in kernel mode. + User: Normal processes executing in user mode. + Nice: Niced processes executing in user mode. + Idle: Waiting for something to happen. + Iowait: Waiting for I/O to complete. + Irq: Servicing interrupts. + Softirq: Servicing softirqs. + Steal: Time spent in other operating systems when running in a virtualized environment. + ||| + ) + .withStacking('normal') + .withUnits('percent') + .withFillOpacity(100) + .withMax(100) + .withMin(0) + .addTarget(commonPromTarget( + expr=q.cpuUsageModes, + legendFormat='{{mode}}', + )), + local timeZoneOffset = + commonPanels.infoStat.new( + 'Timezone', + description='Timezone set on instance.' + ) + .addTarget(commonPromTarget( + expr=q.node_time_zone_offset_seconds, format='table' + )) + { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, + local timeSyncDrift = + nodeTimeseries.new( + 'Time Synchronized Drift', + description=||| + Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. + ||| + ) + .withUnits('s') + .addTarget(commonPromTarget( + expr=q.node_timex_estimated_error_seconds, + legendFormat='Estimated error in seconds', + )) + .addTarget(commonPromTarget( + expr=q.node_timex_offset_seconds, + legendFormat='Time offset in between local system and reference clock', + )) + .addTarget(commonPromTarget( + expr=q.node_timex_maxerror_seconds, + legendFormat='Maximum error in seconds' + )), + + local timeSynchronizedStatus = + nodeTimeseries.new( + 'Time Synchronized Status', + description='Status of time synchronization.' + ) + .withColor(mode='palette-classic') + .withFillOpacity(75) + .withLegend(show=false) + { + maxDataPoints: 100, + type: 'status-history', + fieldConfig+: { + defaults+: { + mappings+: [ + { + type: 'value', + options: { + '1': { + text: 'In sync', + color: 'light-green', + index: 1, + }, + }, + }, + { + type: 'value', + options: { + '0': { + text: 'Not in sync', + color: 'light-yellow', + index: 0, + }, + }, + }, + + ], + }, + }, + } + .addTarget(commonPromTarget( + expr=q.node_timex_sync_status, + legendFormat='Sync status', + )), + + local panelsGrid = + [ + //use negative gravity(skip y), max w=24, default h should be '6'. + c.panelsWithTargets.cpuStatPanel { gridPos: { x: 0, w: 6, h: 6 } }, + c.panelsWithTargets.idleCPU { gridPos: { x: 6, h: 6, w: 9 } }, + cpuUsageModes { gridPos: { x: 15, h: 6, w: 9 } }, + //pseudorow y:25 + c.panelsWithTargets.systemLoad { gridPos: { x: 0, h: 6, w: 12, y: 25 } }, + c.panelsWithTargets.systemContextSwitches { gridPos: { x: 12, h: 6, w: 12, y: 25 } }, + { type: 'row', title: 'Time', gridPos: { x: 0, w: 24, y: 75 } }, + timeZoneOffset { gridPos: { x: 0, h: 3, w: 3, y: 75 } }, + timeSynchronizedStatus { gridPos: { x: 3, h: 3, w: 21, y: 75 } }, + timeSyncDrift { gridPos: { x: 0, h: 6, w: 24, y: 80 } }, + ], + + dashboard: if platform == 'Linux' then + dashboard.new( + '%sNode CPU and System' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, + time_from=config.dashboardInterval, + tags=(config.dashboardTags), + timezone=config.dashboardTimezone, + refresh=config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=config.grafanaDashboardIDs['nodes-system.json'], + ) + .addLink(c.links.fleetDash) + .addLink(c.links.nodeDash) + .addLink(c.links.otherDashes) + .addAnnotations(c.annotations) + .addTemplates(templates) + .addPanels(panelsGrid) + else if platform == 'Darwin' then {}, + }, +} diff --git a/docs/node-mixin/dashboards/use.libsonnet b/docs/node-mixin/dashboards/use.libsonnet index 65e96dd8dc..9de0c4103a 100644 --- a/docs/node-mixin/dashboards/use.libsonnet +++ b/docs/node-mixin/dashboards/use.libsonnet @@ -5,8 +5,6 @@ local prometheus = grafana.prometheus; local template = grafana.template; local graphPanel = grafana.graphPanel; -local c = import '../config.libsonnet'; - local datasourceTemplate = { current: { text: 'default', @@ -25,6 +23,7 @@ local datasourceTemplate = { local CPUUtilisation = graphPanel.new( 'CPU Utilisation', + description='Total CPU utilisation percent.', datasource='$datasource', span=6, format='percentunit', @@ -38,6 +37,7 @@ local CPUSaturation = // average relates to the "CPU saturation" in the title. graphPanel.new( 'CPU Saturation (Load1 per CPU)', + description='System load average over the last minute. A measurement of how many processes are waiting for CPU cycles. The value is as a percent compared to the number of CPU cores for the node.', datasource='$datasource', span=6, format='percentunit', @@ -49,6 +49,7 @@ local CPUSaturation = local memoryUtilisation = graphPanel.new( 'Memory Utilisation', + description='Total memory utilisation in percent.', datasource='$datasource', span=6, format='percentunit', @@ -60,6 +61,7 @@ local memoryUtilisation = local memorySaturation = graphPanel.new( 'Memory Saturation (Major Page Faults)', + description='Rate of major memory page faults.', datasource='$datasource', span=6, format='rds', @@ -71,6 +73,7 @@ local memorySaturation = local networkUtilisation = graphPanel.new( 'Network Utilisation (Bytes Receive/Transmit)', + description='Network Utilisation (Bytes Receive/Transmit)', datasource='$datasource', span=6, format='Bps', @@ -85,6 +88,7 @@ local networkUtilisation = local networkSaturation = graphPanel.new( 'Network Saturation (Drops Receive/Transmit)', + description='Network Saturation (Drops Receive/Transmit)', datasource='$datasource', span=6, format='Bps', @@ -99,6 +103,7 @@ local networkSaturation = local diskIOUtilisation = graphPanel.new( 'Disk IO Utilisation', + description='Disk total IO seconds.', datasource='$datasource', span=6, format='percentunit', @@ -110,6 +115,7 @@ local diskIOUtilisation = local diskIOSaturation = graphPanel.new( 'Disk IO Saturation', + description='Disk saturation (weighted seconds spent, 1 second rate)', datasource='$datasource', span=6, format='percentunit', @@ -121,6 +127,7 @@ local diskIOSaturation = local diskSpaceUtilisation = graphPanel.new( 'Disk Space Utilisation', + description='Total disk utilisation percent', datasource='$datasource', span=12, format='percentunit', @@ -146,11 +153,12 @@ local diskSpaceUtilisation = dashboard.new( '%sUSE Method / Node' % $._config.dashboardNamePrefix, - time_from='now-1h', + time_from=$._config.dashboardInterval, tags=($._config.dashboardTags), - timezone='utc', - refresh='30s', - graphTooltip='shared_crosshair' + timezone=$._config.dashboardTimezone, + refresh=$._config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=$._config.grafanaDashboardIDs['node-rsrc-use.json'], ) .addTemplate(datasourceTemplate) .addTemplate($._clusterTemplate) @@ -211,11 +219,12 @@ local diskSpaceUtilisation = 'node-cluster-rsrc-use.json': dashboard.new( '%sUSE Method / Cluster' % $._config.dashboardNamePrefix, - time_from='now-1h', + time_from=$._config.dashboardInterval, tags=($._config.dashboardTags), - timezone='utc', - refresh='30s', - graphTooltip='shared_crosshair' + timezone=$._config.dashboardTimezone, + refresh=$._config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=$._config.grafanaDashboardIDs['node-cluster-rsrc-use.json'], ) .addTemplate(datasourceTemplate) .addTemplate($._clusterTemplate) @@ -322,11 +331,12 @@ local diskSpaceUtilisation = 'node-multicluster-rsrc-use.json': dashboard.new( '%sUSE Method / Multi-cluster' % $._config.dashboardNamePrefix, - time_from='now-1h', + time_from=$._config.dashboardInterval, tags=($._config.dashboardTags), - timezone='utc', - refresh='30s', - graphTooltip='shared_crosshair' + timezone=$._config.dashboardTimezone, + refresh=$._config.dashboardRefresh, + graphTooltip='shared_crosshair', + uid=$._config.grafanaDashboardIDs['node-multicluster-rsrc-use.json'], ) .addTemplate(datasourceTemplate) .addRow( diff --git a/docs/node-mixin/lib/common.libsonnet b/docs/node-mixin/lib/common.libsonnet new file mode 100644 index 0000000000..66d45fd5c5 --- /dev/null +++ b/docs/node-mixin/lib/common.libsonnet @@ -0,0 +1,707 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local row = grafana.row; +local prometheus = grafana.prometheus; +local template = grafana.template; +local nodePanels = import '../lib/panels/panels.libsonnet'; +local commonPanels = import '../lib/panels/common/panels.libsonnet'; +local nodeTimeseries = nodePanels.timeseries; +{ + + new(config=null, platform=null):: { + + local c = self, + + local labelsToRegexSelector(labels) = + std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), + local labelsToLegend(labels) = + std.join('/', ['{{%s}}' % [label] for label in labels]), + + local labelsToURLvars(labels, prefix) = + std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), + // export + labelsToLegend:: labelsToLegend, + labelsToURLvars:: labelsToURLvars, + // add to all queries but not templates + local nodeQuerySelector = labelsToRegexSelector(std.split(config.groupLabels + ',' + config.instanceLabels, ',')), + nodeQuerySelector:: nodeQuerySelector, + + // common templates + local prometheusDatasourceTemplate = { + current: { + text: 'default', + value: 'default', + }, + hide: 0, + label: 'Data Source', + name: 'datasource', + options: [], + query: 'prometheus', + refresh: 1, + regex: '', + type: 'datasource', + }, + + local chainLabelsfold(prev, label) = { + chain: + if std.length(prev) > 0 + then + [[label] + prev.chain[0]] + prev.chain + else + [[label]], + }, + + local chainLabels(labels) = + [ + { + label: l[0:1][0], + chainSelector: labelsToRegexSelector(std.reverse(l[1:])), + } + for l in std.reverse(std.foldl(chainLabelsfold, labels, init={}).chain) + ], + + local groupTemplates = + [ + template.new( + name=label.label, + label=label.label, + datasource='$datasource', + query='', + current='', + refresh=2, + includeAll=true, + // do not use .*, will get series without such label at all when ALL is selected, ignoring nodeExporterSelector results + allValues=null, + multi=true, + sort=1 + ) + { + query: if platform == 'Darwin' then 'label_values(node_uname_info{sysname="Darwin", %(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: label.chainSelector } + else 'label_values(node_uname_info{sysname!="Darwin", %(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: label.chainSelector }, + } + for label in chainLabels(std.split(config.groupLabels, ',')) + ], + + local instanceTemplates = + [ + template.new( + label.label, + '$datasource', + 'label_values(node_uname_info{%(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: labelsToRegexSelector(std.split(config.groupLabels, ',')) + ',' + label.chainSelector }, + sort=1, + refresh='time', + label=label.label, + ) + for label in chainLabels(std.split(config.instanceLabels, ',')) + ], + + // return common templates + templates: [prometheusDatasourceTemplate] + groupTemplates + instanceTemplates, + // return templates where instance select is not required + groupDashboardTemplates: [prometheusDatasourceTemplate] + groupTemplates, + + local rebootAnnotation = { + datasource: { + type: 'prometheus', + uid: '$datasource', + }, + enable: true, + hide: true, + expr: 'node_boot_time_seconds{%(nodeQuerySelector)s}*1000 > $__from < $__to' % config { nodeQuerySelector: nodeQuerySelector }, + name: 'Reboot', + iconColor: 'light-orange', + tagKeys: config.instanceLabels, + textFormat: '', + titleFormat: 'Reboot', + useValueForTime: 'on', + }, + local memoryOOMkillerAnnotation = { + datasource: { + type: 'prometheus', + uid: '$datasource', + }, + enable: true, + hide: true, + expr: 'increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval])' % config { nodeQuerySelector: nodeQuerySelector }, + name: 'OOMkill', + iconColor: 'light-purple', + tagKeys: config.instanceLabels, + textFormat: '', + titleFormat: 'OOMkill', + }, + local newKernelAnnotation = { + datasource: { + type: 'prometheus', + uid: '$datasource', + }, + enable: true, + hide: true, + expr: ||| + changes( + sum by (%(instanceLabels)s) ( + group by (%(instanceLabels)s,release) (node_uname_info{%(nodeQuerySelector)s}) + ) + [$__interval:1m] offset -$__interval) > 1 + ||| % config { nodeQuerySelector: nodeQuerySelector }, + name: 'Kernel update', + iconColor: 'light-blue', + tagKeys: config.instanceLabels, + textFormat: '', + titleFormat: 'Kernel update', + step: '5m', // must be larger than possible scrape periods + }, + // return common annotations + annotations: [rebootAnnotation, memoryOOMkillerAnnotation, newKernelAnnotation], + + // return common prometheus target (with project defaults) + commonPromTarget( + expr=null, + intervalFactor=1, + datasource='$datasource', + legendFormat=null, + format='timeseries', + instant=null, + hide=null, + interval=null, + ):: + prometheus.target( + expr=expr, + intervalFactor=intervalFactor, + datasource=datasource, + legendFormat=legendFormat, + format=format, + instant=instant, + hide=hide, + interval=interval + ), + // link to fleet panel + links:: { + fleetDash:: grafana.link.dashboards( + asDropdown=false, + title='Back to Node Fleet Overview', + tags=[], + includeVars=false, + keepTime=true, + url='d/' + config.grafanaDashboardIDs['nodes-fleet.json'] + ) { type: 'link', icon: 'dashboard' }, + nodeDash:: grafana.link.dashboards( + asDropdown=false, + title='Back to Node Overview', + tags=[], + includeVars=true, + keepTime=true, + url='d/' + config.grafanaDashboardIDs['nodes.json'] + ) { type: 'link', icon: 'dashboard' }, + otherDashes:: grafana.link.dashboards( + asDropdown=true, + title='Other Node Dashboards', + includeVars=true, + keepTime=true, + tags=(config.dashboardTags), + ), + // used in fleet table + instanceDataLinkForTable:: { + title: 'Drill down to instance ${__data.fields.%s}' % std.split(config.instanceLabels, ',')[0], + url: 'd/' + config.grafanaDashboardIDs['nodes.json'] + '?' + labelsToURLvars(std.split(config.instanceLabels, ','), prefix='__data.fields.') + '&${__url_time_range}&var-datasource=${datasource}', + }, + // used in ts panels + instanceDataLink:: { + title: 'Drill down to instance ${__field.labels.%s}' % std.split(config.instanceLabels, ',')[0], + url: 'd/' + config.grafanaDashboardIDs['nodes.json'] + '?' + labelsToURLvars(std.split(config.instanceLabels, ','), prefix='__field.labels.') + '&${__url_time_range}&var-datasource=${datasource}', + }, + }, + // return common queries that could be used in multiple dashboards + queries:: { + systemLoad1:: 'avg by (%(instanceLabels)s) (node_load1{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, + systemLoad5:: 'avg by (%(instanceLabels)s) (node_load5{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, + systemLoad15:: 'avg by (%(instanceLabels)s) (node_load15{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, + uptime:: 'time() - node_boot_time_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + cpuCount:: 'count by (%(instanceLabels)s) (node_cpu_seconds_total{%(nodeQuerySelector)s, mode="idle"})' % config { nodeQuerySelector: nodeQuerySelector }, + cpuUsage:: + ||| + (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(nodeQuerySelector)s}) by (cpu, %(instanceLabels)s))) + - + avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(nodeQuerySelector)s}[$__rate_interval])))) * 100) + / + count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(nodeQuerySelector)s}) by (cpu, %(instanceLabels)s)) + ||| % config { nodeQuerySelector: nodeQuerySelector }, + cpuUsageModes:: + ||| + sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(nodeQuerySelector)s}[$__rate_interval])) + / on(%(instanceLabels)s) + group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(nodeQuerySelector)s}[$__rate_interval]))) * 100 + ||| % config { nodeQuerySelector: nodeQuerySelector }, + cpuUsagePerCore:: + ||| + ( + (1 - sum without (mode) (rate(node_cpu_seconds_total{%(nodeQuerySelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) + / ignoring(cpu) group_left + count without (cpu, mode) (node_cpu_seconds_total{%(nodeQuerySelector)s, mode="idle"}) + ) * 100 + ||| % config { nodeQuerySelector: nodeQuerySelector }, + memoryTotal:: 'node_memory_MemTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + memorySwapTotal:: 'node_memory_SwapTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + memoryUsage:: + ||| + 100 - + ( + avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(nodeQuerySelector)s}) / + avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(nodeQuerySelector)s}) + * 100 + ) + ||| % config { nodeQuerySelector: nodeQuerySelector }, + + process_max_fds:: 'process_max_fds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + process_open_fds:: 'process_open_fds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + + fsSizeTotalRoot:: 'node_filesystem_size_bytes{%(nodeQuerySelector)s, mountpoint="/",fstype!="rootfs"}' % config { nodeQuerySelector: nodeQuerySelector }, + osInfo:: 'node_os_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + nodeInfo:: 'node_uname_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_disk_reads_completed_total:: 'irate(node_disk_reads_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + node_disk_writes_completed_total:: 'irate(node_disk_writes_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + diskReadTime:: 'rate(node_disk_read_bytes_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + diskWriteTime:: 'rate(node_disk_written_bytes_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + diskIoTime:: 'rate(node_disk_io_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + diskWaitReadTime:: + ||| + irate(node_disk_read_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_reads_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % config { nodeQuerySelector: nodeQuerySelector }, + diskWaitWriteTime:: + ||| + irate(node_disk_write_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_writes_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % config { nodeQuerySelector: nodeQuerySelector }, + diskAvgQueueSize:: 'irate(node_disk_io_time_weighted_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + diskSpaceUsage:: + ||| + sort_desc(1 - + ( + max by (job, %(instanceLabels)s, fstype, device, mountpoint) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) + / + max by (job, %(instanceLabels)s, fstype, device, mountpoint) (node_filesystem_size_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) + ) != 0 + ) + ||| % config { nodeQuerySelector: nodeQuerySelector }, + node_filesystem_avail_bytes:: 'node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_filesystem_files_free:: 'node_filesystem_files_free{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_filesystem_files:: 'node_filesystem_files{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_filesystem_readonly:: 'node_filesystem_readonly{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_filesystem_device_error:: 'node_filesystem_device_error{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + networkReceiveBitsPerSec:: 'irate(node_network_receive_bytes_total{%(nodeQuerySelector)s}[$__rate_interval])*8' % config { nodeQuerySelector: nodeQuerySelector }, + networkTransmitBitsPerSec:: 'irate(node_network_transmit_bytes_total{%(nodeQuerySelector)s}[$__rate_interval])*8' % config { nodeQuerySelector: nodeQuerySelector }, + networkReceiveErrorsPerSec:: 'irate(node_network_receive_errs_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + networkTransmitErrorsPerSec:: 'irate(node_network_transmit_errs_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + networkReceiveDropsPerSec:: 'irate(node_network_receive_drop_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + networkTransmitDropsPerSec:: 'irate(node_network_transmit_drop_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + + systemContextSwitches:: 'irate(node_context_switches_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + systemInterrupts:: 'irate(node_intr_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, + + //time + node_timex_estimated_error_seconds:: 'node_timex_estimated_error_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_timex_offset_seconds:: 'node_timex_offset_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_timex_maxerror_seconds:: 'node_timex_maxerror_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + + node_timex_sync_status:: 'node_timex_sync_status{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_time_zone_offset_seconds:: 'node_time_zone_offset_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + node_systemd_units:: 'node_systemd_units{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, + + + }, + // share across dashboards + panelsWithTargets:: { + // cpu + idleCPU:: + nodePanels.timeseries.new( + 'CPU Usage', + description='Total CPU utilisation percent.' + ) + .withUnits('percent') + .withStacking('normal') + .withMin(0) + .withMax(100) + .addTarget(c.commonPromTarget( + expr=c.queries.cpuUsagePerCore, + legendFormat='cpu {{cpu}}', + )), + + systemLoad:: + nodePanels.timeseries.new( + 'Load Average', + description='System load average over the previous 1, 5, and 15 minute ranges. A measurement of how many processes are waiting for CPU cycles. The maximum number is the number of CPU cores for the node.', + ) + .withUnits('short') + .withMin(0) + .withFillOpacity(0) + .addTarget(c.commonPromTarget(c.queries.systemLoad1, legendFormat='1m load average')) + .addTarget(c.commonPromTarget(c.queries.systemLoad5, legendFormat='5m load average')) + .addTarget(c.commonPromTarget(c.queries.systemLoad15, legendFormat='15m load average')) + .addTarget(c.commonPromTarget(c.queries.cpuCount, legendFormat='logical cores')) + .addOverride( + matcher={ + id: 'byName', + options: 'logical cores', + }, + properties=[ + { + id: 'custom.lineStyle', + value: { + fill: 'dash', + dash: [ + 10, + 10, + ], + }, + }, + ] + ), + cpuStatPanel:: + commonPanels.percentUsageStat.new( + 'CPU Usage', + description='Total CPU utilisation percent.' + ) + .addTarget(c.commonPromTarget( + expr=c.queries.cpuUsage + )), + systemContextSwitches:: + nodePanels.timeseries.new( + 'Context Switches / Interrupts', + description=||| + Context switches occur when the operating system switches from running one process to another. + Interrupts are signals sent to the CPU by external devices to request its attention. + + A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. + ||| + ) + .addTarget(c.commonPromTarget(c.queries.systemContextSwitches, legendFormat='Context Switches')) + .addTarget(c.commonPromTarget(c.queries.systemInterrupts, legendFormat='Interrupts')), + + diskSpaceUsage:: + nodePanels.table.new( + title='Disk Space Usage', + description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.', + ) + .setFieldConfig(unit='decbytes') + //.addThresholdStep(color='light-green', value=null) + .addThresholdStep(color='light-blue', value=null) + .addThresholdStep(color='light-yellow', value=0.8) + .addThresholdStep(color='light-red', value=0.9) + .addTarget(c.commonPromTarget( + ||| + max by (mountpoint) (node_filesystem_size_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='', + instant=true, + format='table' + )) + .addTarget(c.commonPromTarget( + ||| + max by (mountpoint) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='', + instant=true, + format='table', + )) + .addOverride( + matcher={ + id: 'byName', + options: 'Mounted on', + }, + properties=[ + { + id: 'custom.width', + value: 260, + }, + ], + ) + .addOverride( + matcher={ + id: 'byName', + options: 'Size', + }, + properties=[ + + { + id: 'custom.width', + value: 93, + }, + + ], + ) + .addOverride( + matcher={ + id: 'byName', + options: 'Used', + }, + properties=[ + { + id: 'custom.width', + value: 72, + }, + ], + ) + .addOverride( + matcher={ + id: 'byName', + options: 'Available', + }, + properties=[ + { + id: 'custom.width', + value: 88, + }, + ], + ) + + .addOverride( + matcher={ + id: 'byName', + options: 'Used, %', + }, + properties=[ + { + id: 'unit', + value: 'percentunit', + }, + { + id: 'custom.displayMode', + value: 'basic', + }, + { + id: 'max', + value: 1, + }, + { + id: 'min', + value: 0, + }, + ] + ) + .sortBy('Mounted on') + + { + transformations+: [ + { + id: 'groupBy', + options: { + fields: { + 'Value #A': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + 'Value #B': { + aggregations: [ + 'lastNotNull', + ], + operation: 'aggregate', + }, + mountpoint: { + aggregations: [], + operation: 'groupby', + }, + }, + }, + }, + { + id: 'merge', + options: {}, + }, + { + id: 'calculateField', + options: { + alias: 'Used', + binary: { + left: 'Value #A (lastNotNull)', + operator: '-', + reducer: 'sum', + right: 'Value #B (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'calculateField', + options: { + alias: 'Used, %', + binary: { + left: 'Used', + operator: '/', + reducer: 'sum', + right: 'Value #A (lastNotNull)', + }, + mode: 'binary', + reduce: { + reducer: 'sum', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: {}, + indexByName: {}, + renameByName: { + 'Value #A (lastNotNull)': 'Size', + 'Value #B (lastNotNull)': 'Available', + mountpoint: 'Mounted on', + }, + }, + }, + ], + }, + memoryGraphPanelPrototype:: + nodePanels.timeseries.new( + 'Memory Usage', + description='Memory usage by category, measured in bytes.', + ) + .withMin(0) + .withUnits('bytes'), + memoryGraph:: + if platform == 'Linux' then + self.memoryGraphPanelPrototype + { + description: ||| + Used: The amount of physical memory currently in use by the system. + Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. + Free: The amount of physical memory that is currently not in use. + Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. + Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. + |||, + } + { stack: true } + .addTarget(c.commonPromTarget( + ||| + ( + node_memory_MemTotal_bytes{%(nodeQuerySelector)s} + - + node_memory_MemFree_bytes{%(nodeQuerySelector)s} + - + node_memory_Buffers_bytes{%(nodeQuerySelector)s} + - + node_memory_Cached_bytes{%(nodeQuerySelector)s} + ) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, + legendFormat='Memory used' + )) + .addTarget(c.commonPromTarget('node_memory_Buffers_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory buffers')) + .addTarget(c.commonPromTarget('node_memory_Cached_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory cached')) + .addTarget(c.commonPromTarget('node_memory_MemFree_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory free')) + .addTarget(c.commonPromTarget('node_memory_MemAvailable_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory available')) + .addTarget(c.commonPromTarget('node_memory_MemTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory total')) + else if platform == 'Darwin' then + // not useful to stack + self.memoryGraphPanelPrototype { stack: false } + .addTarget(c.commonPromTarget('node_memory_total_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Physical Memory')) + .addTarget(c.commonPromTarget( + ||| + ( + node_memory_internal_bytes{%(nodeQuerySelector)s} - + node_memory_purgeable_bytes{%(nodeQuerySelector)s} + + node_memory_wired_bytes{%(nodeQuerySelector)s} + + node_memory_compressed_bytes{%(nodeQuerySelector)s} + ) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory Used' + )) + .addTarget(c.commonPromTarget( + ||| + ( + node_memory_internal_bytes{%(nodeQuerySelector)s} - + node_memory_purgeable_bytes{%(nodeQuerySelector)s} + ) + ||| % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='App Memory' + )) + .addTarget(c.commonPromTarget('node_memory_wired_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Wired Memory')) + .addTarget(c.commonPromTarget('node_memory_compressed_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Compressed')), + + // NOTE: avg() is used to circumvent a label change caused by a node_exporter rollout. + memoryGaugePanelPrototype:: + commonPanels.percentUsageStat.new( + 'Memory Usage', + description='Total memory utilisation.', + ), + + memoryGauge:: + if platform == 'Linux' then + self.memoryGaugePanelPrototype + + .addTarget(c.commonPromTarget(c.queries.memoryUsage)) + + else if platform == 'Darwin' then + self.memoryGaugePanelPrototype + .addTarget(c.commonPromTarget( + ||| + ( + ( + avg(node_memory_internal_bytes{%(nodeQuerySelector)s}) - + avg(node_memory_purgeable_bytes{%(nodeQuerySelector)s}) + + avg(node_memory_wired_bytes{%(nodeQuerySelector)s}) + + avg(node_memory_compressed_bytes{%(nodeQuerySelector)s}) + ) / + avg(node_memory_total_bytes{%(nodeQuerySelector)s}) + ) + * + 100 + ||| % config { nodeQuerySelector: c.nodeQuerySelector } + )), + diskIO:: + nodePanels.timeseries.new( + 'Disk I/O', + description='Disk read/writes in bytes, and total IO seconds.' + ) + .withFillOpacity(0) + .withMin(0) + .addTarget(c.commonPromTarget( + c.queries.diskReadTime, + legendFormat='{{device}} read', + )) + .addTarget(c.commonPromTarget( + c.queries.diskWriteTime, + legendFormat='{{device}} written', + )) + .addTarget(c.commonPromTarget( + c.queries.diskIoTime, + legendFormat='{{device}} io time', + )) + .addOverride( + matcher={ + id: 'byRegexp', + options: '/ read| written/', + }, + properties=[ + { + id: 'unit', + value: 'bps', + }, + ] + ) + .addOverride( + matcher={ + id: 'byRegexp', + options: '/ io time/', + }, + properties=[ + { + id: 'unit', + value: 'percentunit', + }, + { + id: 'custom.axisSoftMax', + value: 1, + }, + { + id: 'custom.drawStyle', + value: 'points', + }, + ] + ), + }, + }, + +} diff --git a/docs/node-mixin/lib/panels/common/info.libsonnet b/docs/node-mixin/lib/panels/common/info.libsonnet new file mode 100644 index 0000000000..3b54d39382 --- /dev/null +++ b/docs/node-mixin/lib/panels/common/info.libsonnet @@ -0,0 +1,30 @@ +// Info panel text (number or text) +local statPanel = import '../stat.libsonnet'; +statPanel { + new( + title=null, + description=null, + datasource=null, + ):: + super.new( + title, + description, + datasource, + ) + + self.withColor(color='text') + + self.withTextSize(value=20) + + self.withGraphMode('none') + + + { + options+: { + reduceOptions: { + values: false, + calcs: [ + 'lastNotNull', + ], + fields: '', + }, + graphMode: 'none', + }, + }, +} diff --git a/docs/node-mixin/lib/panels/common/networktraffic.libsonnet b/docs/node-mixin/lib/panels/common/networktraffic.libsonnet new file mode 100644 index 0000000000..09f3370f67 --- /dev/null +++ b/docs/node-mixin/lib/panels/common/networktraffic.libsonnet @@ -0,0 +1,18 @@ +// Panels to graph network traffic in and out +local timeseries = import '../timeseries.libsonnet'; +timeseries { + new( + title=null, + description=null, + datasource=null, + ):: + super.new( + title, + description, + datasource, + ) + + self.withDecimals(1) + + self.withUnits('bps') + + self.withNegativeYByRegex('transmit|tx|out') + + self.withAxisLabel('out(-) | in(+)'), +} diff --git a/docs/node-mixin/lib/panels/common/panels.libsonnet b/docs/node-mixin/lib/panels/common/panels.libsonnet new file mode 100644 index 0000000000..88fea17a6e --- /dev/null +++ b/docs/node-mixin/lib/panels/common/panels.libsonnet @@ -0,0 +1,6 @@ +{ + uptimeStat:: import 'uptime.libsonnet', + infoStat:: import 'info.libsonnet', + percentUsageStat:: import 'percentusage.libsonnet', + networkTrafficGraph:: import 'networktraffic.libsonnet', +} diff --git a/docs/node-mixin/lib/panels/common/percentusage.libsonnet b/docs/node-mixin/lib/panels/common/percentusage.libsonnet new file mode 100644 index 0000000000..884878f673 --- /dev/null +++ b/docs/node-mixin/lib/panels/common/percentusage.libsonnet @@ -0,0 +1,30 @@ +// Panels to display metrics that can go from 0 to 100%. (cpu utilization, memory utilization etc). Full utilization is considered an issue. +local statPanel = import '../stat.libsonnet'; +statPanel { + new( + title=null, + description=null, + datasource=null, + ):: + super.new( + title, + description, + datasource, + ) + + self.withDecimals(1) + + self.withUnits('percent') + + self.withMax(100) + + self.withMin(0) + + self.withColor(mode='continuous-BlYlRd') + { + options+: { + reduceOptions: { + values: false, + calcs: [ + 'lastNotNull', + ], + fields: '', + }, + }, + }, +} diff --git a/docs/node-mixin/lib/panels/common/uptime.libsonnet b/docs/node-mixin/lib/panels/common/uptime.libsonnet new file mode 100644 index 0000000000..a64a179faa --- /dev/null +++ b/docs/node-mixin/lib/panels/common/uptime.libsonnet @@ -0,0 +1,43 @@ +local statPanel = import '../stat.libsonnet'; +statPanel { + new( + title='Uptime', + description=null, + datasource=null, + ):: + super.new( + title, + description, + datasource, + ) + + self.withDecimals(1) + + self.withGraphMode('none') + + self.withTextSize(value=20) + + self.withUnits('dtdurations') + + self.withThresholds( + mode='absolute', + steps=[ + { + color: 'orange', + value: null, + }, + { + color: 'text', + value: 300, + }, + ] + ) + + self.withColor(mode='thresholds') + + + { + options+: { + reduceOptions: { + values: false, + calcs: [ + 'lastNotNull', + ], + fields: '', + }, + }, + }, +} diff --git a/docs/node-mixin/lib/panels/panel.libsonnet b/docs/node-mixin/lib/panels/panel.libsonnet new file mode 100644 index 0000000000..8ede6ffe87 --- /dev/null +++ b/docs/node-mixin/lib/panels/panel.libsonnet @@ -0,0 +1,129 @@ +// generic grafana dashboard +{ + //feed grafonnet panel + new():: {}, + + withUnits(unit):: self { + + fieldConfig+: { + defaults+: { + unit: unit, + }, + }, + }, + + withLegend(show=true, mode='table', placement='bottom', calcs=['min', 'mean', 'max', 'lastNotNull']):: self { + options+: { + legend: { + showLegend: show, + displayMode: mode, + placement: placement, + calcs: calcs, + }, + }, + }, + withDecimals(decimals):: self { + + fieldConfig+: { + defaults+: { + decimals: decimals, + }, + }, + }, + + withThresholds(mode='absolute', steps=null):: self { + + fieldConfig+: { + defaults+: { + thresholds: { + mode: mode, + steps: steps, + }, + }, + }, + }, + withMin(value):: self { + fieldConfig+: { + defaults+: { + min: value, + }, + }, + }, + withMax(value):: self { + fieldConfig+: { + defaults+: { + max: value, + }, + }, + }, + withColor(color=null, mode='fixed'):: self { + fieldConfig+: { + defaults+: { + color: { + mode: mode, + fixedColor: if mode == 'fixed' then color else null, + }, + }, + }, + }, + withMaxDataPoints(value):: self { + maxDataPoints: value, + }, + withTransform():: self { + + merge():: self + { + transformations+: [ + { + id: 'merge', + options: {}, + }, + ], + }, + filterFieldsByName(pattern=null):: self + { + transformations+: [ + { + id: 'filterFieldsByName', + options: { + include: { + pattern: pattern, + }, + }, + }, + ], + }, + joinByField( + mode='outer', + field=null + ):: self { + transformations+: [ + { + id: 'joinByField', + options: { + byField: field, + mode: mode, + }, + }, + ], + }, + organize( + excludeByName={}, + indexByName={}, + renameByName={}, + + ):: self + { + transformations+: [ + { + id: 'organize', + options: { + excludeByName: excludeByName, + indexByName: indexByName, + renameByName: renameByName, + }, + }, + ], + }, + }, +} diff --git a/docs/node-mixin/lib/panels/panels.libsonnet b/docs/node-mixin/lib/panels/panels.libsonnet new file mode 100644 index 0000000000..19c9a1d896 --- /dev/null +++ b/docs/node-mixin/lib/panels/panels.libsonnet @@ -0,0 +1,5 @@ +{ + timeseries:: import 'timeseries.libsonnet', + stat:: import 'stat.libsonnet', + table:: import 'table.libsonnet', +} diff --git a/docs/node-mixin/lib/panels/stat.libsonnet b/docs/node-mixin/lib/panels/stat.libsonnet new file mode 100644 index 0000000000..e3fa4172f3 --- /dev/null +++ b/docs/node-mixin/lib/panels/stat.libsonnet @@ -0,0 +1,28 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local genericPanel = import 'panel.libsonnet'; +genericPanel { + new( + title=null, + description=null, + datasource=null, + ):: self + + grafana.statPanel.new( + title=title, + description=description, + datasource=datasource, + ), + withGraphMode(mode='none'):: self { + options+: + { + graphMode: mode, + }, + }, + withTextSize(value='auto', title='auto'):: self { + options+: + { text: { + valueSize: value, + titleSize: title, + } }, + }, + +} diff --git a/docs/node-mixin/lib/panels/table.libsonnet b/docs/node-mixin/lib/panels/table.libsonnet new file mode 100644 index 0000000000..4a9c36cc66 --- /dev/null +++ b/docs/node-mixin/lib/panels/table.libsonnet @@ -0,0 +1,37 @@ +local grafana70 = import 'github.com/grafana/grafonnet-lib/grafonnet-7.0/grafana.libsonnet'; +local genericPanel = import 'panel.libsonnet'; +local table = grafana70.panel.table; +genericPanel +{ + new( + title=null, + description=null, + datasource=null, + ):: self + + table.new( + title=title, + description=description, + datasource=datasource, + ), + sortBy(field, desc=false):: self { + options+: { + sortBy: [ + { + displayName: field, + desc: desc, + }, + ], + }, + }, + withFooter(reducer=['mean'], fields=[]):: self { + + options+: { + footer: { + show: true, + reducer: reducer, + fields: fields, + }, + }, + }, + +} diff --git a/docs/node-mixin/lib/panels/timeseries.libsonnet b/docs/node-mixin/lib/panels/timeseries.libsonnet new file mode 100644 index 0000000000..816ec49ad0 --- /dev/null +++ b/docs/node-mixin/lib/panels/timeseries.libsonnet @@ -0,0 +1,145 @@ +local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; +local genericPanel = import 'panel.libsonnet'; +genericPanel +{ + new( + title=null, + description=null, + datasource=null, + ):: self + + grafana.graphPanel.new( + title=title, + description=description, + datasource=datasource, + ) + + + { + type: 'timeseries', + } + + self.withFillOpacity(10) + + self.withGradientMode('opacity') + + self.withLineInterpolation('smooth') + + self.withShowPoints('never') + + self.withTooltip(mode='multi', sort='desc') + + self.withLegend(mode='list', calcs=[]), + withDrawStyle(style):: self { + fieldConfig+: { + defaults+: { + custom+: { + drawStyle: style, + }, + }, + }, + }, + withPointsSize(size):: self { + fieldConfig+: { + defaults+: { + custom+: { + pointSize: size, + }, + }, + }, + }, + withTooltip(mode=null, sort='none'):: self { + options+: { + tooltip: { + mode: 'multi', + sort: sort, + }, + }, + }, + withLineInterpolation(value):: self { + fieldConfig+: { + defaults+: { + custom+: { + lineInterpolation: value, + }, + }, + }, + }, + withShowPoints(value):: self { + fieldConfig+: { + defaults+: { + custom+: { + showPoints: value, + }, + }, + }, + }, + withStacking(stack='normal'):: self { + fieldConfig+: { + defaults+: { + custom+: { + stacking: { + mode: stack, + group: 'A', + }, + }, + }, + }, + }, + withGradientMode(mode):: self { + fieldConfig+: { + defaults+: { + custom+: { + gradientMode: mode, + }, + }, + }, + }, + addDataLink(title, url):: self { + + fieldConfig+: { + defaults+: { + links: [ + { + title: title, + url: url, + }, + ], + }, + }, + }, + withFillOpacity(opacity):: self { + fieldConfig+: { + defaults+: { + custom+: { + fillOpacity: opacity, + }, + }, + }, + + }, + + withAxisLabel(label):: self { + fieldConfig+: { + defaults+: { + custom+: { + axisLabel: label, + }, + }, + }, + }, + + withNegativeYByRegex(regex):: self { + fieldConfig+: { + overrides+: [ + { + matcher: { + id: 'byRegexp', + options: '/' + regex + '/', + }, + properties: [ + { + id: 'custom.transform', + value: 'negative-Y', + }, + ], + }, + + ], + }, + + + }, +} diff --git a/docs/node-mixin/lib/prom-mixin.libsonnet b/docs/node-mixin/lib/prom-mixin.libsonnet deleted file mode 100644 index 6c4d990481..0000000000 --- a/docs/node-mixin/lib/prom-mixin.libsonnet +++ /dev/null @@ -1,504 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local grafana70 = import 'github.com/grafana/grafonnet-lib/grafonnet-7.0/grafana.libsonnet'; -local gaugePanel = grafana70.panel.gauge; -local table = grafana70.panel.table; - -{ - - new(config=null, platform=null):: { - - local prometheusDatasourceTemplate = { - current: { - text: 'default', - value: 'default', - }, - hide: 0, - label: 'Data Source', - name: 'datasource', - options: [], - query: 'prometheus', - refresh: 1, - regex: '', - type: 'datasource', - }, - - local instanceTemplatePrototype = - template.new( - 'instance', - '$datasource', - '', - refresh='time', - label='Instance', - ), - local instanceTemplate = - if platform == 'Darwin' then - instanceTemplatePrototype - { query: 'label_values(node_uname_info{%(nodeExporterSelector)s, sysname="Darwin"}, instance)' % config } - else - instanceTemplatePrototype - { query: 'label_values(node_uname_info{%(nodeExporterSelector)s, sysname!="Darwin"}, instance)' % config }, - - - local idleCPU = - graphPanel.new( - 'CPU Usage', - datasource='$datasource', - span=6, - format='percentunit', - max=1, - min=0, - stack=true, - ) - .addTarget(prometheus.target( - ||| - ( - (1 - sum without (mode) (rate(node_cpu_seconds_total{%(nodeExporterSelector)s, mode=~"idle|iowait|steal", instance="$instance"}[$__rate_interval]))) - / ignoring(cpu) group_left - count without (cpu, mode) (node_cpu_seconds_total{%(nodeExporterSelector)s, mode="idle", instance="$instance"}) - ) - ||| % config, - legendFormat='{{cpu}}', - intervalFactor=5, - )), - - local systemLoad = - graphPanel.new( - 'Load Average', - datasource='$datasource', - span=6, - format='short', - min=0, - fill=0, - ) - .addTarget(prometheus.target('node_load1{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='1m load average')) - .addTarget(prometheus.target('node_load5{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='5m load average')) - .addTarget(prometheus.target('node_load15{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='15m load average')) - .addTarget(prometheus.target('count(node_cpu_seconds_total{%(nodeExporterSelector)s, instance="$instance", mode="idle"})' % config, legendFormat='logical cores')), - - local memoryGraphPanelPrototype = - graphPanel.new( - 'Memory Usage', - datasource='$datasource', - span=9, - format='bytes', - min=0, - ), - local memoryGraph = - if platform == 'Linux' then - memoryGraphPanelPrototype { stack: true } - .addTarget(prometheus.target( - ||| - ( - node_memory_MemTotal_bytes{%(nodeExporterSelector)s, instance="$instance"} - - - node_memory_MemFree_bytes{%(nodeExporterSelector)s, instance="$instance"} - - - node_memory_Buffers_bytes{%(nodeExporterSelector)s, instance="$instance"} - - - node_memory_Cached_bytes{%(nodeExporterSelector)s, instance="$instance"} - ) - ||| % config, - legendFormat='memory used' - )) - .addTarget(prometheus.target('node_memory_Buffers_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='memory buffers')) - .addTarget(prometheus.target('node_memory_Cached_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='memory cached')) - .addTarget(prometheus.target('node_memory_MemFree_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='memory free')) - else if platform == 'Darwin' then - // not useful to stack - memoryGraphPanelPrototype { stack: false } - .addTarget(prometheus.target('node_memory_total_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='Physical Memory')) - .addTarget(prometheus.target( - ||| - ( - node_memory_internal_bytes{%(nodeExporterSelector)s, instance="$instance"} - - node_memory_purgeable_bytes{%(nodeExporterSelector)s, instance="$instance"} + - node_memory_wired_bytes{%(nodeExporterSelector)s, instance="$instance"} + - node_memory_compressed_bytes{%(nodeExporterSelector)s, instance="$instance"} - ) - ||| % config, legendFormat='Memory Used' - )) - .addTarget(prometheus.target( - ||| - ( - node_memory_internal_bytes{%(nodeExporterSelector)s, instance="$instance"} - - node_memory_purgeable_bytes{%(nodeExporterSelector)s, instance="$instance"} - ) - ||| % config, legendFormat='App Memory' - )) - .addTarget(prometheus.target('node_memory_wired_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='Wired Memory')) - .addTarget(prometheus.target('node_memory_compressed_bytes{%(nodeExporterSelector)s, instance="$instance"}' % config, legendFormat='Compressed')), - - // NOTE: avg() is used to circumvent a label change caused by a node_exporter rollout. - local memoryGaugePanelPrototype = - gaugePanel.new( - title='Memory Usage', - datasource='$datasource', - ) - .addThresholdStep('rgba(50, 172, 45, 0.97)') - .addThresholdStep('rgba(237, 129, 40, 0.89)', 80) - .addThresholdStep('rgba(245, 54, 54, 0.9)', 90) - .setFieldConfig(max=100, min=0, unit='percent') - + { - span: 3, - }, - - local memoryGauge = - if platform == 'Linux' then - memoryGaugePanelPrototype - - .addTarget(prometheus.target( - ||| - 100 - - ( - avg(node_memory_MemAvailable_bytes{%(nodeExporterSelector)s, instance="$instance"}) / - avg(node_memory_MemTotal_bytes{%(nodeExporterSelector)s, instance="$instance"}) - * 100 - ) - ||| % config, - )) - - else if platform == 'Darwin' then - memoryGaugePanelPrototype - .addTarget(prometheus.target( - ||| - ( - ( - avg(node_memory_internal_bytes{%(nodeExporterSelector)s, instance="$instance"}) - - avg(node_memory_purgeable_bytes{%(nodeExporterSelector)s, instance="$instance"}) + - avg(node_memory_wired_bytes{%(nodeExporterSelector)s, instance="$instance"}) + - avg(node_memory_compressed_bytes{%(nodeExporterSelector)s, instance="$instance"}) - ) / - avg(node_memory_total_bytes{%(nodeExporterSelector)s, instance="$instance"}) - ) - * - 100 - ||| % config - )), - - local diskIO = - graphPanel.new( - 'Disk I/O', - datasource='$datasource', - span=6, - min=0, - fill=0, - ) - // TODO: Does it make sense to have those three in the same panel? - .addTarget(prometheus.target( - 'rate(node_disk_read_bytes_total{%(nodeExporterSelector)s, instance="$instance", %(diskDeviceSelector)s}[$__rate_interval])' % config, - legendFormat='{{device}} read', - intervalFactor=1, - )) - .addTarget(prometheus.target( - 'rate(node_disk_written_bytes_total{%(nodeExporterSelector)s, instance="$instance", %(diskDeviceSelector)s}[$__rate_interval])' % config, - legendFormat='{{device}} written', - intervalFactor=1, - )) - .addTarget(prometheus.target( - 'rate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s, instance="$instance", %(diskDeviceSelector)s}[$__rate_interval])' % config, - legendFormat='{{device}} io time', - intervalFactor=1, - )) + - { - seriesOverrides: [ - { - alias: '/ read| written/', - yaxis: 1, - }, - { - alias: '/ io time/', - yaxis: 2, - }, - ], - yaxes: [ - self.yaxe(format='Bps'), - self.yaxe(format='percentunit'), - ], - }, - - local diskSpaceUsage = - table.new( - title='Disk Space Usage', - datasource='$datasource', - ) - .setFieldConfig(unit='decbytes') - .addThresholdStep(color='green', value=null) - .addThresholdStep(color='yellow', value=0.8) - .addThresholdStep(color='red', value=0.9) - .addTarget(prometheus.target( - ||| - max by (mountpoint) (node_filesystem_size_bytes{%(nodeExporterSelector)s, instance="$instance", %(fsSelector)s, %(fsMountpointSelector)s}) - ||| % config, - legendFormat='', - instant=true, - format='table' - )) - .addTarget(prometheus.target( - ||| - max by (mountpoint) (node_filesystem_avail_bytes{%(nodeExporterSelector)s, instance="$instance", %(fsSelector)s, %(fsMountpointSelector)s}) - ||| % config, - legendFormat='', - instant=true, - format='table' - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mounted on', - }, - properties=[ - { - id: 'custom.width', - value: 260, - }, - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Size', - }, - properties=[ - - { - id: 'custom.width', - value: 93, - }, - - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Used', - }, - properties=[ - { - id: 'custom.width', - value: 72, - }, - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Available', - }, - properties=[ - { - id: 'custom.width', - value: 88, - }, - ], - ) - - .addOverride( - matcher={ - id: 'byName', - options: 'Used, %', - }, - properties=[ - { - id: 'unit', - value: 'percentunit', - }, - { - id: 'custom.displayMode', - value: 'gradient-gauge', - }, - { - id: 'max', - value: 1, - }, - { - id: 'min', - value: 0, - }, - ] - ) - + { span: 6 } - + { - transformations: [ - { - id: 'groupBy', - options: { - fields: { - 'Value #A': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - 'Value #B': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - mountpoint: { - aggregations: [], - operation: 'groupby', - }, - }, - }, - }, - { - id: 'merge', - options: {}, - }, - { - id: 'calculateField', - options: { - alias: 'Used', - binary: { - left: 'Value #A (lastNotNull)', - operator: '-', - reducer: 'sum', - right: 'Value #B (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'calculateField', - options: { - alias: 'Used, %', - binary: { - left: 'Used', - operator: '/', - reducer: 'sum', - right: 'Value #A (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: {}, - indexByName: {}, - renameByName: { - 'Value #A (lastNotNull)': 'Size', - 'Value #B (lastNotNull)': 'Available', - mountpoint: 'Mounted on', - }, - }, - }, - { - id: 'sortBy', - options: { - fields: {}, - sort: [ - { - field: 'Mounted on', - }, - ], - }, - }, - ], - }, - - - local networkReceived = - graphPanel.new( - 'Network Received', - description='Network received (bits/s)', - datasource='$datasource', - span=6, - format='bps', - min=0, - fill=0, - ) - .addTarget(prometheus.target( - 'rate(node_network_receive_bytes_total{%(nodeExporterSelector)s, instance="$instance", device!="lo"}[$__rate_interval]) * 8' % config, - legendFormat='{{device}}', - intervalFactor=1, - )), - - local networkTransmitted = - graphPanel.new( - 'Network Transmitted', - description='Network transmitted (bits/s)', - datasource='$datasource', - span=6, - format='bps', - min=0, - fill=0, - ) - .addTarget(prometheus.target( - 'rate(node_network_transmit_bytes_total{%(nodeExporterSelector)s, instance="$instance", device!="lo"}[$__rate_interval]) * 8' % config, - legendFormat='{{device}}', - intervalFactor=1, - )), - - local cpuRow = - row.new('CPU') - .addPanel(idleCPU) - .addPanel(systemLoad), - - local memoryRow = - row.new('Memory') - .addPanel(memoryGraph) - .addPanel(memoryGauge), - - local diskRow = - row.new('Disk') - .addPanel(diskIO) - .addPanel(diskSpaceUsage), - - local networkRow = - row.new('Network') - .addPanel(networkReceived) - .addPanel(networkTransmitted), - - local rows = - [ - cpuRow, - memoryRow, - diskRow, - networkRow, - ], - - local templates = - [ - prometheusDatasourceTemplate, - instanceTemplate, - ], - - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNodes' % config.dashboardNamePrefix, - time_from='now-1h', - tags=(config.dashboardTags), - timezone='utc', - refresh='30s', - graphTooltip='shared_crosshair' - ) - .addTemplates(templates) - .addRows(rows) - else if platform == 'Darwin' then - dashboard.new( - '%sMacOS' % config.dashboardNamePrefix, - time_from='now-1h', - tags=(config.dashboardTags), - timezone='utc', - refresh='30s', - graphTooltip='shared_crosshair' - ) - .addTemplates(templates) - .addRows(rows), - - }, -} diff --git a/docs/node-observ-lib/.gitignore b/docs/node-observ-lib/.gitignore index 5657f6ea7d..f9bf6ba815 100644 --- a/docs/node-observ-lib/.gitignore +++ b/docs/node-observ-lib/.gitignore @@ -1 +1,2 @@ -vendor \ No newline at end of file +jsonnetfile.lock.json +vendor diff --git a/docs/node-observ-lib/config.libsonnet b/docs/node-observ-lib/config.libsonnet index fe8fb08c09..2a1f88fda9 100644 --- a/docs/node-observ-lib/config.libsonnet +++ b/docs/node-observ-lib/config.libsonnet @@ -89,7 +89,6 @@ dashboardPeriod: 'now-1h', dashboardTimezone: 'default', dashboardRefresh: '1m', - // logs lib related enableLokiLogs: false, extraLogLabels: ['transport', 'unit', 'level'], diff --git a/docs/node-observ-lib/jsonnetfile.json b/docs/node-observ-lib/jsonnetfile.json index 69b58cc74b..b12b5dc0af 100644 --- a/docs/node-observ-lib/jsonnetfile.json +++ b/docs/node-observ-lib/jsonnetfile.json @@ -4,20 +4,20 @@ { "source": { "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", - "subdir": "common-lib" + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v10.0.0" } }, - "version": "master" + "version": "main" }, { "source": { "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "common-lib" } }, - "version": "main" + "version": "master" }, { "source": { diff --git a/docs/node-observ-lib/linux/README.md b/docs/node-observ-lib/linux/README.md new file mode 100644 index 0000000000..3582c0cbb9 --- /dev/null +++ b/docs/node-observ-lib/linux/README.md @@ -0,0 +1,163 @@ +# Node exporter observability lib + +This jsonnet observability lib can be used to generate observability package for node exporter. + +## Import + +```sh +jb init +jb install https://github.com/grafana/node_exporter/docs/node-observ-lib +``` + +## Examples + +### Example 1: Basic example + +You can use observ-lib to fill in monitoring-mixin structure: + +```jsonnet +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/linux/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + filteringSelector: 'job=~".*node.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + dashboardTags: ['node-exporter-mixin'], + uid: 'node', + // enable loki logs + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 2: Fill in monitoring-mixin with default config values and enable loki logs: + + +```jsonnet +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/linux/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 3: Override some of default config values from file: + + +```jsonnet +// overrides.libsonnet +{ + // Memory utilzation (%) level on which to trigger the + // 'NodeMemoryHighUtilization' alert. + memoryHighUtilizationThreshold: 80, + + // Threshold for the rate of memory major page faults to trigger + // 'NodeMemoryMajorPagesFaults' alert. + memoryMajorPagesFaultsThreshold: 1000, + + // Disk IO queue level above which to trigger + // 'NodeDiskIOSaturation' alert. + diskIOSaturationThreshold: 20, +} + +// mixin.libsonnet file +local configOverride = import './overrides.libsonnet'; +local nodelib = import 'node-observ-lib/linux/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin(configOverride); + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +### Example 4: Modify specific panel before rendering dashboards + +```jsonnet +local g = import './g.libsonnet'; +// mixin.libsonnet file +local nodelib = import 'node-observ-lib/linux/main.libsonnet'; + +local linux = + nodelib.new() + + nodelib.withConfigMixin({ + filteringSelector: 'job=~".*node.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + dashboardTags: ['node-exporter-mixin'], + uid: 'node', + }) + + { + grafana+: { + panels+: { + networkSockstatAll+: + + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('bars') + } + } + }; + +{ + grafanaDashboards+:: linux.grafana.dashboards, + prometheusAlerts+:: linux.prometheus.alerts, + prometheusRules+:: linux.prometheus.recordingRules, +} + +``` + +## Collectors used: + +Grafana Agent or combination of node_exporter/promtail can be used in order to collect data required. + +### Logs collection + +Loki logs are used to populate logs dashboard and also for annotations. + +To use logs, you need to opt-in, with setting `enableLokiLogs: true` in config. + +See example above. + +The following scrape snippet can be used in grafana-agent/promtail: + +```yaml + - job_name: integrations/node_exporter_journal_scrape + journal: + max_age: 24h + labels: + instance: '' + job: integrations/node_exporter + relabel_configs: + - source_labels: ['__journal__systemd_unit'] + target_label: 'unit' + - source_labels: ['__journal__boot_id'] + target_label: 'boot_id' + - source_labels: ['__journal__transport'] + target_label: 'transport' + - source_labels: ['__journal_priority_keyword'] + target_label: 'level' +``` diff --git a/docs/node-observ-lib/linux/alerts.libsonnet b/docs/node-observ-lib/linux/alerts.libsonnet new file mode 100644 index 0000000000..8cc89d8fdf --- /dev/null +++ b/docs/node-observ-lib/linux/alerts.libsonnet @@ -0,0 +1,450 @@ +{ + new(this): { + groups: [ + { + name: if this.config.uid == 'node' then 'node-exporter-filesystem' else this.config.uid + '-filesystem-alerts', + rules: [ + { + alert: 'NodeFilesystemSpaceFillingUp', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpWarningThreshold)d + and + predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem is predicted to run out of space within the next 24 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.', + }, + }, + { + alert: 'NodeFilesystemSpaceFillingUp', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpCriticalThreshold)d + and + predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem is predicted to run out of space within the next 4 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfSpace', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableWarningThreshold)d + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '30m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem has less than %(fsSpaceAvailableWarningThreshold)d%% space left.' % this.config, + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfSpace', + expr: ||| + ( + node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableCriticalThreshold)d + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '30m', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem has less than %(fsSpaceAvailableCriticalThreshold)d%% space left.' % this.config, + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', + }, + }, + { + alert: 'NodeFilesystemFilesFillingUp', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 40 + and + predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem is predicted to run out of inodes within the next 24 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.', + }, + }, + { + alert: 'NodeFilesystemFilesFillingUp', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 20 + and + predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem is predicted to run out of inodes within the next 4 hours.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfFiles', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 5 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Filesystem has less than 5% inodes left.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', + }, + }, + { + alert: 'NodeFilesystemAlmostOutOfFiles', + expr: ||| + ( + node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 3 + and + node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 + ) + ||| % this.config, + 'for': '1h', + labels: { + severity: '%(nodeCriticalSeverity)s' % this.config, + }, + annotations: { + summary: 'Filesystem has less than 3% inodes left.', + description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', + }, + }, + ], + }, + { + // defaults to 'node-exporter for backward compatibility with old node-mixin + name: if this.config.uid == 'node' then 'node-exporter' else this.config.uid + '-alerts', + rules: + [ + { + alert: 'NodeNetworkReceiveErrs', + expr: ||| + rate(node_network_receive_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_receive_packets_total{%(filteringSelector)s}[2m]) > 0.01 + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Network interface is reporting many receive errors.', + description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.', + }, + }, + { + alert: 'NodeNetworkTransmitErrs', + expr: ||| + rate(node_network_transmit_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_transmit_packets_total{%(filteringSelector)s}[2m]) > 0.01 + ||| % this.config, + 'for': '1h', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Network interface is reporting many transmit errors.', + description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.', + }, + }, + { + alert: 'NodeHighNumberConntrackEntriesUsed', + expr: ||| + (node_nf_conntrack_entries{%(filteringSelector)s} / node_nf_conntrack_entries_limit) > 0.75 + ||| % this.config, + annotations: { + summary: 'Number of conntrack are getting close to the limit.', + description: '{{ $value | humanizePercentage }} of conntrack entries are used.', + }, + labels: { + severity: 'warning', + }, + }, + { + alert: 'NodeTextFileCollectorScrapeError', + expr: ||| + node_textfile_scrape_error{%(filteringSelector)s} == 1 + ||| % this.config, + annotations: { + summary: 'Node Exporter text file collector failed to scrape.', + description: 'Node Exporter text file collector on {{ $labels.instance }} failed to scrape.', + }, + labels: { + severity: 'warning', + }, + }, + { + alert: 'NodeClockSkewDetected', + expr: ||| + ( + node_timex_offset_seconds{%(filteringSelector)s} > 0.05 + and + deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) >= 0 + ) + or + ( + node_timex_offset_seconds{%(filteringSelector)s} < -0.05 + and + deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) <= 0 + ) + ||| % this.config, + 'for': '10m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Clock skew detected.', + description: 'Clock at {{ $labels.instance }} is out of sync by more than 0.05s. Ensure NTP is configured correctly on this host.', + }, + }, + { + alert: 'NodeClockNotSynchronising', + expr: ||| + min_over_time(node_timex_sync_status{%(filteringSelector)s}[5m]) == 0 + and + node_timex_maxerror_seconds{%(filteringSelector)s} >= 16 + ||| % this.config, + 'for': '10m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Clock not synchronising.', + description: 'Clock at {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.', + }, + }, + { + alert: 'NodeRAIDDegraded', + expr: ||| + node_md_disks_required{%(filteringSelector)s,%(diskDeviceSelector)s} - ignoring (state) (node_md_disks{state="active",%(filteringSelector)s,%(diskDeviceSelector)s}) > 0 + ||| % this.config, + 'for': '15m', + labels: { + severity: 'critical', + }, + annotations: { + summary: 'RAID Array is degraded.', + description: "RAID array '{{ $labels.device }}' at {{ $labels.instance }} is in degraded state due to one or more disks failures. Number of spare drives is insufficient to fix issue automatically.", + }, + }, + { + alert: 'NodeRAIDDiskFailure', + expr: ||| + node_md_disks{state="failed",%(filteringSelector)s,%(diskDeviceSelector)s} > 0 + ||| % this.config, + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Failed device in RAID array.', + description: "At least one device in RAID array at {{ $labels.instance }} failed. Array '{{ $labels.device }}' needs attention and possibly a disk swap.", + }, + }, + { + alert: 'NodeFileDescriptorLimit', + expr: ||| + ( + node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 70 + ) + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Kernel is predicted to exhaust file descriptors limit soon.', + description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', + }, + }, + { + alert: 'NodeFileDescriptorLimit', + expr: ||| + ( + node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 90 + ) + ||| % this.config, + 'for': '15m', + labels: { + severity: 'critical', + }, + annotations: { + summary: 'Kernel is predicted to exhaust file descriptors limit soon.', + description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', + }, + }, + { + alert: 'NodeCPUHighUsage', + expr: ||| + sum without(mode) (avg without (cpu) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode!="idle"}[2m]))) * 100 > %(cpuHighUsageThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'info', + }, + annotations: { + summary: 'High CPU usage.', + description: ||| + CPU usage at {{ $labels.instance }} has been above %(cpuHighUsageThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. + ||| % this.config, + }, + }, + { + alert: 'NodeSystemSaturation', + expr: ||| + node_load1{%(filteringSelector)s} + / count without (cpu, mode) (node_cpu_seconds_total{%(filteringSelector)s, mode="idle"}) > %(systemSaturationPerCoreThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'System saturated, load per core is very high.', + description: ||| + System load per core at {{ $labels.instance }} has been above %(systemSaturationPerCoreThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + This might indicate this instance resources saturation and can cause it becoming unresponsive. + ||| % this.config, + }, + }, + { + alert: 'NodeMemoryMajorPagesFaults', + expr: ||| + rate(node_vmstat_pgmajfault{%(filteringSelector)s}[5m]) > %(memoryMajorPagesFaultsThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Memory major page faults are occurring at very high rate.', + description: ||| + Memory major pages are occurring at very high rate at {{ $labels.instance }}, %(memoryMajorPagesFaultsThreshold)d major page faults per second for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + Please check that there is enough memory available at this instance. + ||| % this.config, + }, + }, + { + alert: 'NodeMemoryHighUtilization', + expr: ||| + 100 - (node_memory_MemAvailable_bytes{%(filteringSelector)s} / node_memory_MemTotal_bytes{%(filteringSelector)s} * 100) > %(memoryHighUtilizationThreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Host is running out of memory.', + description: ||| + Memory is filling up at {{ $labels.instance }}, has been above %(memoryHighUtilizationThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. + ||| % this.config, + }, + }, + { + alert: 'NodeDiskIOSaturation', + expr: ||| + rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[5m]) > %(diskIOSaturationThreshold)d + ||| % this.config, + 'for': '30m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Disk IO queue is high.', + description: ||| + Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + This symptom might indicate disk saturation. + ||| % this.config, + }, + }, + { + alert: 'NodeSystemdServiceFailed', + expr: ||| + node_systemd_unit_state{%(filteringSelector)s, state="failed"} == 1 + ||| % this.config, + 'for': '5m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Systemd service has entered failed state.', + description: 'Systemd service {{ $labels.name }} has entered failed state at {{ $labels.instance }}', + }, + }, + { + alert: 'NodeSystemdServiceCrashlooping', + expr: ||| + increase(node_systemd_service_restart_total{%(filteringSelector)s}[5m]) > 2 + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: 'Systemd service keeps restaring, possibly crash looping.', + description: 'Systemd service {{ $labels.name }} has been restarted too many times at {{ $labels.instance }} for the last 15 minutes. Please check if service is crash looping.', + }, + }, + ] + + if this.config.enableHardware then + [{ + alert: 'NodeHardwareTemperatureHigh', + expr: ||| + avg_over_time(node_hwmon_temp_celsius{%(filteringSelector)s}[5m]) > %(temperatureWarnTreshold)d + ||| % this.config, + 'for': '15m', + labels: { + severity: 'warning', + }, + annotations: { + summary: "Sensor's temperature is high.", + description: 'Sensor {{ $labels.sensor }} is reporting high temperature on chip {{ $labels.chip }}, and has been above %(temperatureWarnTreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%.', + }, + }] else [], + }, + ], + }, +} diff --git a/docs/node-observ-lib/linux/annotations.libsonnet b/docs/node-observ-lib/linux/annotations.libsonnet new file mode 100644 index 0000000000..5b8cb7ff79 --- /dev/null +++ b/docs/node-observ-lib/linux/annotations.libsonnet @@ -0,0 +1,69 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + reboot: + commonlib.annotations.reboot.new( + title='Reboot', + target=this.grafana.targets.reboot, + instanceLabels=std.join(',', this.config.instanceLabels), + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)), + memoryOOM: + commonlib.annotations.base.new( + 'OOMkill', + this.grafana.targets.memoryOOMkiller + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + + commonlib.annotations.base.withTextFormat('') + { + hide: true, + iconColor: 'light-purple', + }, + kernelUpdate: + commonlib.annotations.base.new( + 'Kernel update', + this.grafana.targets.kernelUpdate + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + + commonlib.annotations.base.withTextFormat('') + { + hide: true, + iconColor: 'light-blue', + step: '5m', + }, + } + + + if + this.config.enableLokiLogs + then + { + serviceFailed: commonlib.annotations.serviceFailed.new( + title='Service failed', + target=this.grafana.targets.serviceFailed, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), + criticalEvents: commonlib.annotations.fatal.new( + title='Critical system event', + target=this.grafana.targets.criticalEvents, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), + sessionOpened: + commonlib.annotations.base.new( + title='Session opened', + target=this.grafana.targets.sessionOpened, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) + { hide: true }, + sessionClosed: + commonlib.annotations.base.new( + title='Session closed', + target=this.grafana.targets.sessionOpened, + ) + + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) + { hide: true }, + } + else + {}, +} diff --git a/docs/node-observ-lib/linux/config.libsonnet b/docs/node-observ-lib/linux/config.libsonnet new file mode 100644 index 0000000000..94acca6184 --- /dev/null +++ b/docs/node-observ-lib/linux/config.libsonnet @@ -0,0 +1,109 @@ +{ + + // any modular observability library should inlcude as inputs: + // 'dashboardNamePrefix' - Use as prefix for all Dashboards and (optional) rule groups + // 'filteringSelector' - Static selector to apply to ALL dashboard variables of type query, panel queries, alerts and recording rules. + // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. + // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. + // 'uid' - UID to prefix all dashboards original uids + + filteringSelector: std.get(self, 'nodeExporterSelector', default='job="node"'), + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'Node exporter / ', + uid: 'node', + + dashboardTags: [self.uid], + + // Select the fstype for filesystem-related queries. If left + // empty, all filesystems are selected. If you have unusual + // filesystem you don't want to include in dashboards and + // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. + fsSelector: 'fstype!=""', + + // Select the mountpoint for filesystem-related queries. If left + // empty, all mountpoints are selected. For example if you have a + // special purpose tmpfs instance that has a fixed size and will + // always be 100% full, but you still want alerts and dashboards for + // other tmpfs instances, you can exclude those by mountpoint prefix + // like so: 'mountpoint!~"/var/lib/foo.*"'. + fsMountpointSelector: 'mountpoint!=""', + + // Select the device for disk-related queries. If left empty, all + // devices are selected. If you have unusual devices you don't + // want to include in dashboards and alerting, you can exclude + // them here, e.g. 'device!="tmpfs"'. + diskDeviceSelector: 'device!=""', + + // Some of the alerts are meant to fire if a criticadiskDeviceSelector failure of a + // node is imminent (e.g. the disk is about to run full). In a + // true “cloud native” setup, failures of a single node should be + // tolerated. Hence, even imminent failure of a single node is no + // reason to create a paging alert. However, in practice there are + // still many situations where operators like to get paged in time + // before a node runs out of disk space. nodeCriticalSeverity can + // be set to the desired severity for this kind of alerts. This + // can even be templated to depend on labels of the node, e.g. you + // could make this critical for traditional database masters but + // just a warning for K8s nodes. + nodeCriticalSeverity: 'critical', + + // CPU utilization (%) on which to trigger the + // 'NodeCPUHighUsage' alert. + cpuHighUsageThreshold: 90, + // Load average 1m (per core) on which to trigger the + // 'NodeSystemSaturation' alert. + systemSaturationPerCoreThreshold: 2, + + // Available disk space (%) thresholds on which to trigger the + // 'NodeFilesystemSpaceFillingUp' alerts. These alerts fire if the disk + // usage grows in a way that it is predicted to run out in 4h or 1d + // and if the provided thresholds have been reached right now. + // In some cases you'll want to adjust these, e.g. by default Kubernetes + // runs the image garbage collection when the disk usage reaches 85% + // of its available space. In that case, you'll want to reduce the + // critical threshold below to something like 14 or 15, otherwise + // the alert could fire under normal node usage. + fsSpaceFillingUpWarningThreshold: 40, + fsSpaceFillingUpCriticalThreshold: 20, + + // Available disk space (%) thresholds on which to trigger the + // 'NodeFilesystemAlmostOutOfSpace' alerts. + fsSpaceAvailableWarningThreshold: 5, + fsSpaceAvailableCriticalThreshold: 3, + + // Memory utilzation (%) level on which to trigger the + // 'NodeMemoryHighUtilization' alert. + memoryHighUtilizationThreshold: 90, + + // Threshold for the rate of memory major page faults to trigger + // 'NodeMemoryMajorPagesFaults' alert. + memoryMajorPagesFaultsThreshold: 500, + + // Disk IO queue level above which to trigger + // 'NodeDiskIOSaturation' alert. + diskIOSaturationThreshold: 10, + + // Enable hardware related panels and alerts (temp sensors) + enableHardware: false, + // Temperature sensor treshold + temperatureWarnTreshold: 80, + + rateInterval: '5m', + + dashboardPeriod: 'now-1h', + dashboardTimezone: 'default', + dashboardRefresh: '1m', + + // logs lib related + enableLokiLogs: false, + extraLogLabels: ['transport', 'unit', 'level'], + logsVolumeGroupBy: 'level', + showLogsVolume: true, + logsFilteringSelector: self.filteringSelector, + logsExtraFilters: + ||| + | label_format timestamp="{{__timestamp__}}" + | line_format `{{ if eq "[[instance]]" ".*" }}{{alignLeft 25 .instance}}|{{alignLeft 25 .unit}}|{{else}}{{alignLeft 25 .unit}}|{{end}} {{__line__}}` + |||, +} diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-observ-lib/linux/dashboards.libsonnet new file mode 100644 index 0000000000..a76bf73908 --- /dev/null +++ b/docs/node-observ-lib/linux/dashboards.libsonnet @@ -0,0 +1,233 @@ +local g = import '../g.libsonnet'; +local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libsonnet'; +{ + local root = self, + new(this): + local prefix = this.config.dashboardNamePrefix; + local links = this.grafana.links; + local tags = this.config.dashboardTags; + local uid = g.util.string.slugify(this.config.uid); + local vars = this.grafana.variables; + local annotations = this.grafana.annotations; + local refresh = this.config.dashboardRefresh; + local period = this.config.dashboardPeriod; + local timezone = this.config.dashboardTimezone; + local panels = this.grafana.panels; + local stat = g.panel.stat; + { + fleet: + local title = prefix + 'fleet overview'; + g.dashboard.new(title) + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + // g.panel.row.new("Overview"), + panels.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, + panels.cpuUsageTopk { gridPos+: { w: 24 } }, + panels.memotyUsageTopKPercent { gridPos+: { w: 24 } }, + panels.diskIOutilPercentTopK { gridPos+: { w: 12 } }, + panels.diskUsagePercentTopK { gridPos+: { w: 12 } }, + panels.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, + ], 12, 7 + ) + ) + // hide link to self + + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), + overview: + g.dashboard.new(prefix + 'overview') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Overview'), + panels.uptime, + panels.hostname, + panels.kernelVersion, + panels.osInfo, + panels.cpuCount, + panels.memoryTotalBytes, + panels.memorySwapTotalBytes, + panels.diskTotalRoot, + g.panel.row.new('CPU'), + panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, + panels.systemLoad { gridPos+: { w: 6, h: 6 } }, + g.panel.row.new('Memory'), + panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + g.panel.row.new('Disk'), + panels.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, + panels.diskUsage { gridPos+: { w: 12, h: 8 } }, + g.panel.row.new('Network'), + panels.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, + panels.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, + + ] + + + if this.config.enableHardware then + [ + g.panel.row.new('Hardware'), + panels.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, + ] else [] + , 6, 2 + ) + ) + // defaults to uid=nodes for backward compatibility with old node-mixins + + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), + network: + g.dashboard.new(prefix + 'network') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Network'), + panels.networkOverviewTable { gridPos: { w: 24 } }, + panels.networkUsagePerSec, + panels.networkOperStatus, + panels.networkErrorsPerSec, + panels.networkDroppedPerSec, + panels.networkPacketsPerSec, + panels.networkMulticastPerSec, + panels.networkFifo, + panels.networkCompressedPerSec, + panels.networkNFConntrack, + panels.networkSoftnet, + panels.networkSoftnetSqueeze, + g.panel.row.new('Network sockets'), + panels.networkSockstatAll { gridPos: { w: 24 } }, + panels.networkSockstatTCP, + panels.networkSockstatUDP, + panels.networkSockstatMemory, + panels.networkSockstatOther, + g.panel.row.new('Network netstat'), + panels.networkNetstatIP { gridPos: { w: 24 } }, + panels.networkNetstatTCP, + panels.networkNetstatTCPerrors, + panels.networkNetstatUDP, + panels.networkNetstatUDPerrors, + panels.networkNetstatICMP, + panels.networkNetstatICMPerrors, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), + memory: + g.dashboard.new(prefix + 'memory') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + g.panel.row.new('Vmstat'), + panels.memoryPagesInOut, + panels.memoryPagesSwapInOut, + panels.memoryPagesFaults, + panels.memoryOOMkiller, + g.panel.row.new('Memstat'), + panels.memoryActiveInactive, + panels.memoryActiveInactiveDetail, + panels.memoryCommited, + panels.memorySharedAndMapped, + panels.memoryWriteAndDirty, + panels.memoryVmalloc, + panels.memorySlab, + panels.memoryAnonymous, + panels.memoryHugePagesCounter, + panels.memoryHugePagesSize, + panels.memoryDirectMap, + panels.memoryBounce, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), + + system: + g.dashboard.new(prefix + 'CPU and system') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('System'), + panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, + panels.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, + panels.systemLoad, + panels.systemContextSwitchesAndInterrupts, + g.panel.row.new('Time'), + panels.osTimezone { gridPos+: { w: 3, h: 4 } }, + panels.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, + panels.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, + ], 12, 7 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), + + disks: + g.dashboard.new(prefix + 'filesystem and disks') + + g.dashboard.withPanels( + g.util.grid.wrapPanels( + [ + g.panel.row.new('Filesystem'), + panels.diskFreeTs, + panels.diskUsage, + panels.diskInodesFree, + panels.diskInodesTotal, + panels.diskErrorsandRO, + panels.fileDescriptors, + g.panel.row.new('Disk'), + panels.diskIOBytesPerSec, + panels.diskIOps, + panels.diskIOWaitTime, + panels.diskQueue, + ], 12, 8 + ) + ) + + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), + } + + + if this.config.enableLokiLogs + then + { + logs: + logslib.new( + prefix + 'logs', + datasourceName=this.grafana.variables.datasources.loki.name, + datasourceRegex=this.grafana.variables.datasources.loki.regex, + filterSelector=this.config.logsFilteringSelector, + labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, + formatParser=null, + showLogsVolume=this.config.showLogsVolume, + logsVolumeGroupBy=this.config.logsVolumeGroupBy, + extraFilters=this.config.logsExtraFilters + ) + { + dashboards+: + { + logs+: + // reference to self, already generated variables, to keep them, but apply other common data in applyCommon + root.applyCommon(super.logs.templating.list, uid=uid + '-logs', tags=tags, links=links, annotations=annotations, timezone=timezone, refresh=refresh, period=period), + }, + panels+: + { + // modify log panel + logs+: + g.panel.logs.options.withEnableLogDetails(true) + + g.panel.logs.options.withShowTime(false) + + g.panel.logs.options.withWrapLogMessage(false), + }, + variables+: { + // add prometheus datasource for annotations processing + toArray+: [ + this.grafana.variables.datasources.prometheus { hide: 2 }, + ], + }, + }.dashboards.logs, + } + else {}, + applyCommon(vars, uid, tags, links, annotations, timezone, refresh, period): + g.dashboard.withTags(tags) + + g.dashboard.withUid(uid) + + g.dashboard.withLinks(std.objectValues(links)) + + g.dashboard.withTimezone(timezone) + + g.dashboard.withRefresh(refresh) + + g.dashboard.time.withFrom(period) + + g.dashboard.withVariables(vars) + + g.dashboard.withAnnotations(std.objectValues(annotations)), +} diff --git a/docs/node-observ-lib/linux/links.libsonnet b/docs/node-observ-lib/linux/links.libsonnet new file mode 100644 index 0000000000..cc24910a65 --- /dev/null +++ b/docs/node-observ-lib/linux/links.libsonnet @@ -0,0 +1,19 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + local link = g.dashboard.link, + backToFleet: + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards.fleet.uid) + + link.link.options.withKeepTime(true), + backToOverview: + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards.overview.uid) + + link.link.options.withKeepTime(true), + otherDashboards: + link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) + + link.dashboards.options.withIncludeVars(true) + + link.dashboards.options.withKeepTime(true) + + link.dashboards.options.withAsDropdown(true), + }, +} diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-observ-lib/linux/main.libsonnet new file mode 100644 index 0000000000..0fb13f70d2 --- /dev/null +++ b/docs/node-observ-lib/linux/main.libsonnet @@ -0,0 +1,39 @@ +local alerts = import './alerts.libsonnet'; +local annotations = import './annotations.libsonnet'; +local config = import './config.libsonnet'; +local dashboards = import './dashboards.libsonnet'; +local datasources = import './datasources.libsonnet'; +local g = import './g.libsonnet'; +local links = import './links.libsonnet'; +local panels = import './panels.libsonnet'; +local rules = import './rules.libsonnet'; +local targets = import './targets.libsonnet'; +local variables = import './variables.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; + +{ + withConfigMixin(config): { + config+: config, + }, + + new(): { + + local this = self, + config: config, + grafana: { + variables: variables.new(this), + targets: targets.new(this), + panels: panels.new(this), + annotations: annotations.new(this), + // common links here used across all dashboards + links: links.new(this), + dashboards: dashboards.new(this), + }, + + prometheus: { + alerts: alerts.new(this), + recordingRules: rules.new(this), + }, + + }, +} diff --git a/docs/node-observ-lib/linux/panels.libsonnet b/docs/node-observ-lib/linux/panels.libsonnet new file mode 100644 index 0000000000..cf185ca53b --- /dev/null +++ b/docs/node-observ-lib/linux/panels.libsonnet @@ -0,0 +1,1148 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + fleetOverviewTable: + commonlib.panels.generic.table.base.new( + 'Fleet overview', + targets= + [ + t.osInfoCombined + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('OS Info'), + t.uptime + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Uptime'), + t.systemLoad1 + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Load 1'), + t.cpuCount + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Cores'), + t.cpuUsage + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CPU usage'), + t.memoryTotalBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory total'), + t.memoryUsagePercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory usage'), + t.diskTotalRoot + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount size'), + t.diskUsageRootPercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount used'), + t.alertsCritical + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CRITICAL'), + t.alertsWarning + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('WARNING'), + ], + description="All nodes' perfomance at a glance." + ) + + g.panel.table.options.withFooter( + value={ + reducer: ['sum'], + show: true, + fields: [ + 'Value #Cores', + 'Value #Load 1', + 'Value #Memory total', + 'Value #Root mount size', + ], + } + ) + + commonlib.panels.system.table.uptime.stylizeByName('Uptime') + + table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Product|^Hostname$') + + fieldOverride.byRegexp.withProperty('custom.filterable', true), + fieldOverride.byName.new('Instance') + + fieldOverride.byName.withProperty('custom.filterable', true) + + fieldOverride.byName.withProperty('links', [ + { + targetBlank: false, + title: 'Drill down to ${__field.name} ${__value.text}', + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], + }, + ]), + fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) + + fieldOverride.byRegexp.withProperty('custom.filterable', true) + + fieldOverride.byRegexp.withProperty('links', [ + { + targetBlank: false, + title: 'Filter by ${__field.name}', + url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.fleet.uid], + }, + ]), + fieldOverride.byName.new('Cores') + + fieldOverride.byName.withProperty('custom.width', '120'), + fieldOverride.byName.new('CPU usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Memory total') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Memory usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Root mount size') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Root mount used') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('percent') + ) + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: instanceLabel, + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + //' 1' - would only match first occurence of group label, so no duplicates + pattern: instanceLabel + '|' + + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.instanceLabels + ) + ) + + '|' + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.groupLabels + ) + ) + + '|product|^hostname$|^nodename$|^pretty_name$|Value.+', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: { + 'Value #OS Info': true, + }, + indexByName: + { + [instanceLabel]: 0, + nodename: 1, + hostname: 1, + pretty_name: 2, + product: 2, + } + + + // group labels are named as 'job 1' and so on. + { + [label]: 3 + for label in this.config.groupLabels + }, + renameByName: + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.instanceLabels + } + { + [instanceLabel]: utils.toSentenceCase(instanceLabel), + product: 'OS', // windows + pretty_name: 'OS', // linux + hostname: 'Hostname', // windows + nodename: 'Hostname', // Linux + } + + + // group labels are named as 'job 1' and so on. + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.groupLabels + }, + + }, + }, + { + id: 'renameByRegex', + options: { + regex: 'Value #(.*)', + renamePattern: '$1', + }, + }, + ] + ), + uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), + + systemLoad: + commonlib.panels.system.timeSeries.loadAverage.new( + loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], + cpuCountTarget=t.cpuCount, + ), + + systemContextSwitchesAndInterrupts: + commonlib.panels.generic.timeSeries.base.new( + 'Context switches/Interrupts', + targets=[ + t.systemContextSwitches, + t.systemInterrupts, + ], + description=||| + Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. + + A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. + ||| + ), + + timeNtpStatus: + commonlib.panels.system.statusHistory.ntp.new( + 'NTP status', + targets=[t.timeNtpStatus], + description='Status of time synchronization.' + ) + + g.panel.timeSeries.standardOptions.withNoValue('No data.') + + g.panel.statusHistory.options.withLegend(false), + timeSyncDrift: + commonlib.panels.generic.timeSeries.base.new( + 'Time synchronized drift', + targets=[ + t.timeEstimatedError, + t.timeOffset, + t.timeMaxError, + ], + description=||| + Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. + ||| + ) + + g.panel.timeSeries.standardOptions.withUnit('seconds') + + g.panel.timeSeries.standardOptions.withNoValue('No data.'), + cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), + cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) + + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), + + cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='CPU usage', + target=t.cpuUsage, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), + cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( + targets=[t.cpuUsageByMode], + description=||| + - System: Processes executing in kernel mode. + - User: Normal processes executing in user mode. + - Nice: Niced processes executing in user mode. + - Idle: Waiting for something to happen. + - Iowait: Waiting for I/O to complete. + - Irq: Servicing interrupts. + - Softirq: Servicing softirqs. + - Steal: Time spent in other operating systems when running in a virtualized environment. + ||| + ), + + memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), + memorySwapTotalBytes: + commonlib.panels.memory.stat.total.new( + 'Total swap', + targets=[t.memorySwapTotal], + description=||| + Total swap available. + + Swap is a space on a storage device (usually a dedicated swap partition or a swap file) + used as virtual memory when the physical RAM (random-access memory) is fully utilized. + Swap space helps prevent memory-related performance issues by temporarily transferring less-used data from RAM to disk, + freeing up physical memory for active processes and applications. + ||| + ), + memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), + memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Memory usage', + target=t.memoryUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + memoryUsageTsBytes: + commonlib.panels.memory.timeSeries.usageBytes.new( + targets=[ + t.memoryUsedBytes, + t.memoryCachedBytes, + t.memoryAvailableBytes, + t.memoryBuffersBytes, + t.memoryFreeBytes, + t.memoryTotalBytes, + ], + description= + ||| + - Used: The amount of physical memory currently in use by the system. + - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. + - Free: The amount of physical memory that is currently not in use. + - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. + - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. + ||| + ) + + g.panel.timeSeries.standardOptions.withOverridesMixin( + { + __systemRef: 'hideSeriesFrom', + matcher: { + id: 'byNames', + options: { + mode: 'exclude', + names: [ + t.memoryTotalBytes.legendFormat, + t.memoryUsedBytes.legendFormat, + ], + prefix: 'All except:', + readOnly: true, + }, + }, + properties: [ + { + id: 'custom.hideFrom', + value: { + viz: true, + legend: false, + tooltip: false, + }, + }, + ], + } + ), + + memoryPagesInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages in / out', + targets=[t.memoryPagesIn, t.memoryPagesOut], + description=||| + Page-In - Return of pages to physical memory. This is a common and normal event. + + Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. + When the kernel detects low memory, it attempts to free memory by paging out. + While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. + Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesSwapInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages swapping in / out', + targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], + description=||| + Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. + Nonetheless, it is a preferable option to crashing or killing off processes. + + The process of writing pages out to disk to free memory is known as swapping-out. + If a page fault occurs because the page is on disk, in the swap area, rather than in memory, + the kernel will read the page back in from the disk to satisfy the page fault. + This is known as swapping-in. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesFaults: + commonlib.panels.memory.timeSeries.base.new( + 'Memory page faults', + targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], + description=||| + A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, + requiring a mapping to be added to the process's virtual address space. + + The page contents may also need to be loaded from a backing store such as a disk. + While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. + Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. + |||, + ), + + memoryOOMkiller: + commonlib.panels.memory.timeSeries.base.new( + 'OOM Killer', + targets=[t.memoryOOMkiller], + description=||| + Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. + + This can happen when the kernel has allocated more memory than is available for its processes. + ||| + ), + + memoryActiveInactive: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive', + targets=[t.memoryActiveBytes, t.memoryInactiveBytes], + description=||| + - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. + - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. + |||, + ), + + memoryActiveInactiveDetail: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive details', + targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], + description=||| + - Inactive_file: File-backed memory on inactive LRU list. + - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). + - Active_file: File-backed memory on active LRU list. + - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. + |||, + ), + + memoryCommited: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory commited', + targets=[t.memoryCommitedAs, t.memoryCommitedLimit], + description=||| + - Committed_AS - Amount of memory presently allocated on the system. + - CommitLimit - Amount of memory currently available to be allocated on the system. + ||| + ), + + memorySharedAndMapped: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory shared and mapped', + targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], + description=||| + - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. + - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. + - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. + - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. + ||| + ), + memoryWriteAndDirty: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory writeback and dirty', + targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], + description=||| + - Writeback: This refers to the memory that is currently being actively written back to the disk. + - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. + - Dirty: This type of memory is waiting to be written back to the disk. + ||| + ), + memoryVmalloc: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory Vmalloc', + targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], + description=||| + Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. + + - VmallocChunk: Largest contiguous block of vmalloc area which is free. + - VmallocTotal: Total size of vmalloc memory area. + - VmallocUsed: Amount of vmalloc area which is used. + ||| + ), + memorySlab: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], + description=||| + Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. + + The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. + + - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. + - SReclaimable: Part of Slab, that might be reclaimed, such as caches. + ||| + ), + memoryAnonymous: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memoryAnonHugePages, t.memoryAnonPages], + description=||| + Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. + + This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. + + Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, + and from Memory Shared with other processes, + which refers to memory regions that can be accessed and modified by multiple processes. + + - AnonHugePages: Memory in anonymous huge pages. + - AnonPages: Memory in user pages not backed by files. + ||| + ), + + memoryHugePagesCounter: + commonlib.panels.memory.timeSeries.base.new( + 'Memory HugePages counter', + targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], + description= + ||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + + - HugePages_Free: Huge pages in the pool that are not yet allocated. + - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. + - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. + ||| + ), + memoryHugePagesSize: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory HugePages size', + targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], + + description=||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + ||| + ), + + memoryDirectMap: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory direct map', + targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], + + description=||| + Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. + ||| + ), + memoryBounce: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory bounce', + targets=[t.memoryBounce], + description=||| + Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. + + To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. + + - Bounce: Memory used for block device bounce buffers. + ||| + ), + diskTotalRoot: + commonlib.panels.disk.stat.total.new( + 'Root mount size', + targets=[t.diskTotalRoot], + description=||| + Total capacity on the primary mount point /. + ||| + ), + diskUsage: + commonlib.panels.disk.table.usage.new( + totalTarget= + ( + t.diskTotal + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + ), + freeTarget= + t.diskFree + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true), + groupLabel='mountpoint' + , + description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.' + ), + diskFreeTs: + commonlib.panels.disk.timeSeries.available.new( + 'Filesystem space availabe', + targets=[ + t.diskFree, + ], + description='Filesystem space utilisation in bytes, by mountpoint.' + ), + diskInodesFree: + commonlib.panels.disk.timeSeries.base.new( + 'Free inodes', + targets=[t.diskInodesFree], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskInodesTotal: + commonlib.panels.disk.timeSeries.base.new( + 'Total inodes', + targets=[t.diskInodesTotal], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskErrorsandRO: + commonlib.panels.disk.timeSeries.base.new( + 'Filesystems with errors / read-only', + targets=[ + t.diskDeviceError, + t.diskReadOnly, + ], + description='', + ) + + g.panel.timeSeries.standardOptions.withMax(1), + fileDescriptors: + commonlib.panels.disk.timeSeries.base.new( + 'File descriptors', + targets=[ + t.processMaxFds, + t.processOpenFds, + ], + description=||| + File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. + The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. + ||| + ), + diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk space usage', + target=t.diskUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( + targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] + ), + diskIOutilPercentTopK: + commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk IO', + target=t.diskIOutilization, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOps: + commonlib.panels.disk.timeSeries.iops.new( + targets=[ + t.diskIOReads, + t.diskIOWrites, + ] + ), + + diskQueue: + commonlib.panels.disk.timeSeries.ioQueue.new( + 'Disk average queue', + targets= + [ + t.diskAvgQueueSize, + ] + ), + diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( + targets=[ + t.diskIOWaitReadTime, + t.diskIOWaitWriteTime, + ] + ), + osInfo: commonlib.panels.generic.stat.info.new( + 'OS', + targets=[t.osInfo], + description='Operating system' + ) + { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, + kernelVersion: + commonlib.panels.generic.stat.info.new('Kernel version', + targets=[t.unameInfo], + description='Kernel version of linux host.') + { options+: { reduceOptions+: { fields: '/^release$/' } } }, + osTimezone: + commonlib.panels.generic.stat.info.new( + 'Timezone', targets=[t.osTimezone], description='Current system timezone.' + ) + { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, + hostname: + commonlib.panels.generic.stat.info.new( + 'Hostname', + targets=[t.unameInfo], + description="System's hostname." + ) + { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, + networkErrorsAndDroppedPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=std.map( + function(t) t + { + expr: t.expr + '>0', + }, + [ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ] + ), + description=||| + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkErrorsAndDroppedPerSecTopK: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=std.map( + function(t) t + { + expr: 'topk(25, ' + t.expr + ')>0', + legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), + }, + [ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ] + ), + description=||| + Top 25. + + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') + + g.panel.timeSeries.fieldConfig.defaults.custom.withPointSize(5), + + networkErrorsPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors', + targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkDroppedPerSec: + commonlib.panels.network.timeSeries.dropped.new( + targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkUsagePerSec: + commonlib.panels.network.timeSeries.traffic.new( + targets=[t.networkInBitPerSecFiltered, t.networkOutBitPerSecFiltered] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkPacketsPerSec: + commonlib.panels.network.timeSeries.packets.new( + targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkMulticastPerSec: + commonlib.panels.network.timeSeries.multicast.new( + 'Multicast packets', + targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], + description='Multicast packets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + + networkFifo: + commonlib.panels.network.timeSeries.packets.new( + 'Network FIFO', + targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], + description=||| + Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. + It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. + Packets are stored in the FIFO buffer until they can be transmitted or processed further. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkCompressedPerSec: + commonlib.panels.network.timeSeries.packets.new( + 'Compressed packets', + targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], + description=||| + - Compressed received: + Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + - Compressed transmitted: + Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + https://docs.kernel.org/networking/statistics.html + |||, + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkNFConntrack: + commonlib.panels.generic.timeSeries.base.new( + 'NF conntrack', + targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], + description=||| + NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, + enforce firewall rules, perform NAT, and manage network address/port translation. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0), + + networkSoftnet: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet packets', + targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], + description=||| + Softnet packets are received by the network and queued for processing by the kernel's networking stack. + Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets('/dropped/') + + g.panel.timeSeries.fieldConfig.defaults.custom.withAxisLabel('Dropped(-) | Processed(+)'), + networkSoftnetSqueeze: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet out of quota', + targets=[t.networkSoftnetSqueezedPerSec], + description=||| + "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. + This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. + ||| + ), + networkOperStatus: + commonlib.panels.network.statusHistory.interfaceStatus.new( + 'Network interfaces carrier status', + targets=[t.networkCarrier], + description='Network interfaces carrier status', + ), + networkOverviewTable: + commonlib.panels.generic.table.base.new( + 'Network interfaces overview', + targets= + [ + t.networkUp + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Up'), + t.networkCarrier + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Carrier'), + t.networkOutBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Transmitted'), + t.networkInBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Received'), + t.networkArpEntries + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('ARP entries'), + t.networkMtuBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('MTU'), + t.networkSpeedBitsPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Speed'), + t.networkTransmitQueueLength + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Queue length'), + t.networkInfo + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Info'), + ], + description='Network interfaces overview.' + ) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byName.new('Speed') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Transmitted|Received') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + + table.standardOptions.color.withMode('continuous-BlYlRd') + + table.standardOptions.withMax(1000 * 1000 * 100) + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Carrier|Up') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withMappings( + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 0, + }, + '1': { + text: 'Up', + color: 'light-green', + index: 1, + }, + }, + } + ), + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: 'device', + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + pattern: 'device|duplex|address|Value.+', + }, + }, + }, + { + id: 'renameByRegex', + options: { + regex: '(Value) #(.*)', + renamePattern: '$2', + }, + }, + { + id: 'organize', + options: { + excludeByName: { + Info: true, + }, + renameByName: + { + device: 'Interface', + duplex: 'Duplex', + address: 'Address', + }, + }, + }, + { + id: 'organize', + options: { + indexByName: { + Interface: 0, + Up: 1, + Carrier: 2, + Received: 3, + Transmitted: 4, + }, + }, + }, + ] + ), + networkSockstatAll: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets in use', + targets=[t.networkSocketsUsed], + description='Number of sockets currently in use.', + ), + + networkSockstatTCP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets TCP', + targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], + description=||| + TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. + + Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. + ||| + ), + networkSockstatUDP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets UDP', + targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], + description=||| + UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. + Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. + ||| + ), + networkSockstatOther: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets other', + targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], + description=||| + FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. + + RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. + ||| + ), + networkSockstatMemory: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.generic.timeSeries.base.new( + title='Sockets memory', + targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], + description=||| + Memory currently in use for sockets. + |||, + ) + + panel.queryOptions.withMaxDataPoints(100) + + panel.fieldConfig.defaults.custom.withAxisLabel('Pages') + + panel.standardOptions.withOverridesMixin( + panel.standardOptions.override.byRegexp.new('/bytes/') + + override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('bytes') + + panel.fieldConfig.defaults.custom.withDrawStyle('bars') + + panel.fieldConfig.defaults.custom.withStacking(value={ mode: 'normal', group: 'A' }) + + panel.fieldConfig.defaults.custom.withAxisLabel('Bytes') + ) + ), + + networkNetstatIP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'IP octets', + targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], + description='Rate of IP octets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('oct/s'), + + networkNetstatTCP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'TCP segments', + targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], + description='Rate of TCP segments received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('seg/s'), + + networkNetstatTCPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='TCP errors rate', + targets=[ + t.networkNetstatTCPOverflowPerSec, + t.networkNetstatTCPListenDropsPerSec, + t.networkNetstatTCPRetransPerSec, + t.networkNetstatTCPRetransSegPerSec, + t.networkNetstatTCPInWithErrorsPerSec, + t.networkNetstatTCPOutWithRstPerSec, + ], + description='Rate of TCP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatUDP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'UDP datagrams', + targets=[ + t.networkNetstatIPInUDPPerSec, + t.networkNetstatIPOutUDPPerSec, + t.networkNetstatIPInUDP6PerSec, + t.networkNetstatIPOutUDP6PerSec, + ], + description='Rate of UDP datagrams received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('dat/s'), + + networkNetstatUDPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='UDP errors rate', + targets=[ + t.networkNetstatUDPLiteInErrorsPerSec, + t.networkNetstatUDPInErrorsPerSec, + t.networkNetstatUDP6InErrorsPerSec, + t.networkNetstatUDPNoPortsPerSec, + t.networkNetstatUDP6NoPortsPerSec, + t.networkNetstatUDPRcvBufErrsPerSec, + t.networkNetstatUDP6RcvBufErrsPerSec, + t.networkNetstatUDPSndBufErrsPerSec, + t.networkNetstatUDP6SndBufErrsPerSec, + ], + description='Rate of UDP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatICMP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'ICMP messages', + targets=[ + t.networkNetstatICMPInPerSec, + t.networkNetstatICMPOutPerSec, + t.networkNetstatICMP6InPerSec, + t.networkNetstatICMP6OutPerSec, + ], + description="Rate of ICMP messages, like 'ping', received and transmitted." + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('msg/s'), + + networkNetstatICMPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='ICMP errors rate', + targets=[ + t.networkNetstatICMPInErrorsPerSec, + t.networkNetstatICM6PInErrorsPerSec, + ], + description='Rate of ICMP messages received and transmitted with errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + hardwareTemperature: + commonlib.panels.hardware.timeSeries.temperature.new( + 'Temperature', + targets=[t.hardwareTemperature] + ), + }, +} diff --git a/docs/node-observ-lib/linux/rules.libsonnet b/docs/node-observ-lib/linux/rules.libsonnet new file mode 100644 index 0000000000..97ed548de3 --- /dev/null +++ b/docs/node-observ-lib/linux/rules.libsonnet @@ -0,0 +1,119 @@ +{ + new(this): { + groups+: [ + { + name: if this.config.uid == 'node' then 'node-exporter.rules' else this.config.uid + '-linux-rules', + rules: [ + { + // This rule gives the number of CPUs per node. + record: 'instance:node_num_cpu:sum', + expr: ||| + count without (cpu, mode) ( + node_cpu_seconds_total{%(filteringSelector)s,mode="idle"} + ) + ||| % this.config, + }, + { + // CPU utilisation is % CPU without {idle,iowait,steal}. + record: 'instance:node_cpu_utilisation:rate%(rateInterval)s' % this.config, + expr: ||| + 1 - avg without (cpu) ( + sum without (mode) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode=~"idle|iowait|steal"}[%(rateInterval)s])) + ) + ||| % this.config, + }, + { + // This is CPU saturation: 1min avg run queue length / number of CPUs. + // Can go over 1. + // TODO: There are situation where a run queue >1/core is just normal and fine. + // We need to clarify how to read this metric and if its usage is helpful at all. + record: 'instance:node_load1_per_cpu:ratio', + expr: ||| + ( + node_load1{%(filteringSelector)s} + / + instance:node_num_cpu:sum{%(filteringSelector)s} + ) + ||| % this.config, + }, + { + // Memory utilisation (ratio of used memory per instance). + record: 'instance:node_memory_utilisation:ratio', + expr: ||| + 1 - ( + ( + node_memory_MemAvailable_bytes{%(filteringSelector)s} + or + ( + node_memory_Buffers_bytes{%(filteringSelector)s} + + + node_memory_Cached_bytes{%(filteringSelector)s} + + + node_memory_MemFree_bytes{%(filteringSelector)s} + + + node_memory_Slab_bytes{%(filteringSelector)s} + ) + ) + / + node_memory_MemTotal_bytes{%(filteringSelector)s} + ) + ||| % this.config, + }, + { + record: 'instance:node_vmstat_pgmajfault:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_vmstat_pgmajfault{%(filteringSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + // Disk utilisation (seconds spent, 1 second rate). + record: 'instance_device:node_disk_io_time_seconds:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_disk_io_time_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + // Disk saturation (weighted seconds spent, 1 second rate). + record: 'instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s' % this.config, + expr: ||| + rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) + ||| % this.config, + }, + { + record: 'instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_receive_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + { + record: 'instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_transmit_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + // TODO: Find out if those drops ever happen on modern switched networks. + { + record: 'instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_receive_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + { + record: 'instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s' % this.config, + expr: ||| + sum without (device) ( + rate(node_network_transmit_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) + ) + ||| % this.config, + }, + ], + }, + ], + }, +} diff --git a/docs/node-observ-lib/linux/targets.libsonnet b/docs/node-observ-lib/linux/targets.libsonnet new file mode 100644 index 0000000000..cc9dd8e94c --- /dev/null +++ b/docs/node-observ-lib/linux/targets.libsonnet @@ -0,0 +1,1147 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + uptimeQuery:: 'node_boot_time_seconds', + + reboot: + prometheusQuery.new( + prometheusDatasource, + self.uptimeQuery + '{%(queriesSelector)s}*1000 > $__from < $__to' % variables, + ), + + serviceFailed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="init.scope"} |= "code=exited, status=1/FAILURE"' % variables + ), + // those events should be rare, so can be shown as annotations + criticalEvents: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, transport="kernel", level="emerg"}' % variables + ), + memoryOOMkiller: + prometheusQuery.new( + prometheusDatasource, + 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, + ) + + prometheusQuery.withLegendFormat('OOM killer invocations'), + + kernelUpdate: + prometheusQuery.new( + prometheusDatasource, + expr=||| + changes( + sum by (%(instanceLabels)s) ( + group by (%(instanceLabels)s,release) (node_uname_info{%(queriesSelector)s}) + ) + [$__interval:1m] offset -$__interval) > 1 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + // new interactive session in logs: + sessionOpened: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"}|= "New session"' % variables + ), + sessionClosed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"} |= "logged out"' % variables + ), + + alertsCritical: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + alertsWarning: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + uptime: + prometheusQuery.new( + prometheusDatasource, + 'time() - ' + self.uptimeQuery + '{%(queriesSelector)s}' % variables + ), + cpuCount: + prometheusQuery.new( + prometheusDatasource, + 'count without (cpu) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"})' % variables + ) + + prometheusQuery.withLegendFormat('Cores'), + cpuUsage: + prometheusQuery.new( + prometheusDatasource, + ||| + (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s))) + - + avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(queriesSelector)s}[$__rate_interval])))) * 100) + / + count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s)) + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('CPU usage'), + cpuUsagePerCore: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + (1 - sum without (mode) (rate(node_cpu_seconds_total{%(queriesSelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) + / ignoring(cpu) group_left + count without (cpu, mode) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"}) + ) * 100 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('CPU {{cpu}}'), + cpuUsageByMode: + prometheusQuery.new( + prometheusDatasource, + ||| + sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval])) + / on(%(instanceLabels)s) + group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval]))) * 100 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('{{ mode }}'), + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemTotal_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory total'), + memoryFreeBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemFree_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory free'), + memoryAvailableBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemAvailable_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory available'), + memoryCachedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Cached_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory cached'), + memoryBuffersBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Buffers_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory buffers'), + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_MemTotal_bytes{%(queriesSelector)s} + - + node_memory_MemFree_bytes{%(queriesSelector)s} + - + node_memory_Buffers_bytes{%(queriesSelector)s} + - + node_memory_Cached_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + 100 - + ( + avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(queriesSelector)s}) / + avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(queriesSelector)s}) + * 100 + ) + ||| + % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SwapTotal_bytes{%(queriesSelector)s}' % variables + ), + memoryPagesIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-In'), + memoryPagesOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-Out'), + + memoryPagesSwapIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped in'), + memoryPagesSwapOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped out'), + + memoryPageMajorFaults: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Major page fault operations'), + memoryPageMinorFaults: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_vmstat_pgfault{%(queriesSelector)s}[$__rate_interval]) + - + irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval]) + ||| % variables, + ) + + prometheusQuery.withLegendFormat('Minor page fault operations'), + + memoryInactiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive'), + memoryActiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active'), + + memoryInactiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_file'), + + memoryInactiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_anon'), + + memoryActiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_file'), + + memoryActiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_anon'), + + memoryCommitedAs: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Committed_AS_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Commited_AS'), + memoryCommitedLimit: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_CommitLimit_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('CommitLimit'), + + memoryMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Mapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Mapped'), + memoryShmemBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Shmem_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Shmem'), + memoryShmemHugePagesBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemHugePages'), + memoryShmemPmdMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemPmdMapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemPmdMapped'), + memoryWriteback: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Writeback_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Writeback'), + memoryWritebackTmp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_WritebackTmp_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('WritebackTmp'), + memoryDirty: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Dirty_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Dirty'), + + memoryVmallocChunk: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocChunk_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocChunk'), + memoryVmallocTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocTotal_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocTotal'), + memoryVmallocUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocUsed_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocUsed'), + memorySlabSUnreclaim: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SUnreclaim_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SUnreclaim'), + memorySlabSReclaimable: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SReclaimable_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SReclaimable'), + + memoryAnonHugePages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonHugePages'), + memoryAnonPages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonPages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonPages'), + + memoryHugePages_Free: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Free{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Free'), + memoryHugePages_Rsvd: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Rsvd{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Rsvd'), + memoryHugePages_Surp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Surp{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Surp'), + memoryHugePagesTotalSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Total{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge pages total size'), + memoryHugePagesSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Hugepagesize_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge page size'), + memoryDirectMap1G: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap1G_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap1G'), + memoryDirectMap2M: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap2M_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap2M'), + memoryDirectMap4k: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap4k_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap4k'), + memoryBounce: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Bounce_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Bounce'), + + diskTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ), + diskTotalRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(queriesSelector)s, mountpoint="/", fstype!="rootfs"}' % variables, + ), + diskUsageRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(queriesSelector)s, mountpoint="/",fstype!="rootfs"}' % variables + ), + diskUsageRootPercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}/node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}*100' % variables + ), + diskFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} free'), + diskUsagePercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}/node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}*100' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} used, %'), + + diskInodesFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files_free{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector }, + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes free'), + diskInodesTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes total'), + diskReadOnly: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_readonly{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} read-only'), + diskDeviceError: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_device_error{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} device error'), + // descriptors + processMaxFds: + prometheusQuery.new( + prometheusDatasource, + 'process_max_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum open file descriptors'), + processOpenFds: + prometheusQuery.new( + prometheusDatasource, + 'process_open_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Open file descriptors'), + + // disk(device) + diskIOreadBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_read_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} read'), + diskIOwriteBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_written_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} written'), + diskIOutilization: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} io util'), + diskAvgQueueSize: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_weighted_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} avg queue'), + + diskIOWaitWriteTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_write_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg write time'), + diskIOWaitReadTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_read_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg read time'), + diskIOReads: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} reads'), + diskIOWrites: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} writes'), + + unameInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_uname_info{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + osInfo: + prometheusQuery.new( + prometheusDatasource, + ||| + node_os_info{%(queriesSelector)s} + ||| % variables, + ) + + prometheusQuery.withFormat('table'), + osInfoCombined: + prometheusQuery.new( + prometheusDatasource, + ||| + node_uname_info{%(queriesSelector)s} + * on (%(groupLabels)s,%(instanceLabels)s) + group_left(pretty_name) + node_os_info{%(queriesSelector)s} + ||| % variables { + instanceLabels: std.join(',', this.config.instanceLabels), + groupLabels: std.join(',', this.config.groupLabels), + }, + ) + + prometheusQuery.withFormat('table'), + + osTimezone: //timezone label + prometheusQuery.new( + prometheusDatasource, + 'node_time_zone_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + + systemLoad1: + prometheusQuery.new( + prometheusDatasource, + 'node_load1{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('1m'), + systemLoad5: + prometheusQuery.new( + prometheusDatasource, + 'node_load5{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('5m'), + systemLoad15: + prometheusQuery.new( + prometheusDatasource, + 'node_load15{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('15m'), + + systemContextSwitches: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_context_switches_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Context switches'), + + systemInterrupts: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_intr_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Interrupts'), + + timeNtpStatus: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_sync_status{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('NTP status'), + + timeOffset: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Time offset'), + + timeEstimatedError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_estimated_error_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Estimated error in seconds'), + timeMaxError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_maxerror_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum error in seconds'), + + networkUp: + prometheusQuery.new( + prometheusDatasource, + 'node_network_up{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkCarrier: + prometheusQuery.new( + prometheusDatasource, + 'node_network_carrier{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkArpEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_arp_entries{%(queriesSelector)s}' % variables, + ), + networkMtuBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_network_mtu_bytes{%(queriesSelector)s}' % variables, + ), + networkSpeedBitsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'node_network_speed_bytes{%(queriesSelector)s} * 8' % variables, + ), + networkTransmitQueueLength: + prometheusQuery.new( + prometheusDatasource, + 'node_network_transmit_queue_length{%(queriesSelector)s}' % variables, + ), + networkInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_network_info{%(queriesSelector)s}' % variables, + ), + + networkOutBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkInBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutBitPerSecFiltered: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 + # only show interfaces that had traffic change at least once during selected dashboard interval: + and + increase( + node_network_transmit_bytes_total{%(queriesSelector)s}[$__range] + ) > 0 + ||| % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkInBitPerSecFiltered: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 + # only show interfaces that had traffic change at least once during selected dashboard interval: + and + increase( + node_network_receive_bytes_total{%(queriesSelector)s}[$__range] + ) > 0 + ||| % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + + + networkOutErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors transmitted'), + networkInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors received'), + networkOutDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted dropped'), + networkInDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received dropped'), + + networkInPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkInMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkFifoInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkFifoOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkCompressedInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkCompressedOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkNFConntrackEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack entries'), + networkNFConntrackLimits: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries_limit{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack limits'), + + networkSoftnetProcessedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_processed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} processed'), + networkSoftnetDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_dropped_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} dropped'), + networkSoftnetSqueezedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_times_squeezed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} out of quota'), + + networkSocketsUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_sockets_used{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 sockets in use'), + networkSocketsTCPAllocated: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_alloc{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Allocated'), + networkSocketsTCPIPv6: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 in use'), + networkSocketsTCPIPv4: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 in use'), + networkSocketsTCPOrphans: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_orphan{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Orphan sockets'), + networkSocketsTCPTimeWait: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_tw{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Time wait'), + + networkSocketsUDPLiteInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDPLITE in use'), + networkSocketsUDPInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDP in use'), + networkSocketsUDPLiteIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDPLITE in use'), + networkSocketsUDPIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDP in use'), + + networkSocketsFragInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Frag sockets in use'), + networkSocketsFragIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Frag sockets in use'), + networkSocketsRawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Raw sockets in use'), + networkSocketsIPv6RawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Raw sockets in use'), + + networkSocketsTCPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for TCP sockets'), + networkSocketsUDPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for UDP sockets'), + + networkSocketsTCPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for TCP sockets'), + networkSocketsUDPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for UDP sockets'), + + networkNetstatIPInOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_InOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets received'), + networkNetstatIPOutOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_OutOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets transmitted'), + + networkNetstatTCPInSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received'), + networkNetstatTCPOutSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP transmitted'), + + networkNetstatTCPOverflowPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenOverflows{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP overflow'), + + networkNetstatTCPListenDropsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenDrops{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP ListenDrops - SYNs to LISTEN sockets ignored'), + + networkNetstatTCPRetransPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_TCPSynRetrans{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP SYN rentransmits'), + + networkNetstatTCPRetransSegPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_RetransSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP retransmitted segments, containing one or more previously transmitted octets'), + networkNetstatTCPInWithErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InErrs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received with errors'), + + networkNetstatTCPOutWithRstPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutRsts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP segments sent with RST flag'), + + networkNetstatIPInUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP received'), + + networkNetstatIPOutUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmitted'), + + networkNetstatIPInUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 received'), + + networkNetstatIPOutUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmitted'), + + //UDP errors + networkNetstatUDPLiteInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_UdpLite_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDPLite InErrors'), + + networkNetstatUDPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP InErrors'), + networkNetstatUDP6InErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 InErrors'), + networkNetstatUDPNoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP NoPorts'), + networkNetstatUDP6NoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 NoPorts'), + networkNetstatUDPRcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP receive buffer errors'), + networkNetstatUDP6RcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 receive buffer errors'), + networkNetstatUDPSndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmit buffer errors'), + networkNetstatUDP6SndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmit buffer errors'), + + //ICMP + networkNetstatICMPInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP received'), + networkNetstatICMPOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP transmitted'), + networkNetstatICMP6InPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 received'), + networkNetstatICMP6OutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 transmitted'), + + networkNetstatICMPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + networkNetstatICM6PInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + + hardwareTemperature: + prometheusQuery.new( + prometheusDatasource, + 'node_hwmon_temp_celsius{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('{{chip}}/{{sensor}}'), + + }, +} diff --git a/docs/node-observ-lib/linux/variables.libsonnet b/docs/node-observ-lib/linux/variables.libsonnet new file mode 100644 index 0000000000..e2f1ace8c4 --- /dev/null +++ b/docs/node-observ-lib/linux/variables.libsonnet @@ -0,0 +1,71 @@ +// variables.libsonnet +local g = import '../g.libsonnet'; +local var = g.dashboard.variable; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; + +{ + new( + this + ): { + local filteringSelector = this.config.filteringSelector, + local groupLabels = this.config.groupLabels, + local instanceLabels = this.config.instanceLabels, + local root = self, + local varMetric = 'node_uname_info', + local variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=true) = + local chainVarProto(index, chainVar) = + var.query.new(chainVar.label) + + var.query.withDatasourceFromVariable(root.datasources.prometheus) + + var.query.queryTypes.withLabelValues( + chainVar.label, + '%s{%s}' % [varMetric, chainVar.chainSelector], + ) + + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) + + var.query.selectionOptions.withIncludeAll( + value=if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, + customAllValue='.+' + ) + + var.query.selectionOptions.withMulti( + if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, + ) + + var.query.refresh.onTime() + + var.query.withSort( + i=1, + type='alphabetical', + asc=true, + caseInsensitive=false + ); + std.mapWithIndex(chainVarProto, utils.chainLabels(groupLabels + instanceLabels, [filteringSelector])), + datasources: { + prometheus: + var.datasource.new('datasource', 'prometheus') + + var.datasource.generalOptions.withLabel('Data source') + + var.datasource.withRegex(''), + loki: + var.datasource.new('loki_datasource', 'loki') + + var.datasource.generalOptions.withLabel('Loki data source') + + var.datasource.withRegex('') + + var.datasource.generalOptions.showOnDashboard.withNothing(), + }, + // Use on dashboards where multiple entities can be selected, like fleet dashboards + multiInstance: + [root.datasources.prometheus] + + variablesFromLabels(groupLabels, instanceLabels, filteringSelector), + // Use on dashboards where only single entity can be selected + singleInstance: + [root.datasources.prometheus] + + variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=false), + + queriesSelector: + '%s,%s' % [ + filteringSelector, + utils.labelsToPromQLSelector(groupLabels + instanceLabels), + ], + } + + if this.config.enableLokiLogs then self.withLokiLogs(this) else {}, + withLokiLogs(this): { + multiInstance+: [this.grafana.variables.datasources.loki], + singleInstance+: [this.grafana.variables.datasources.loki], + }, +} diff --git a/docs/node-observ-lib/macos/README.md b/docs/node-observ-lib/macos/README.md new file mode 100644 index 0000000000..815903ffc1 --- /dev/null +++ b/docs/node-observ-lib/macos/README.md @@ -0,0 +1,86 @@ +# MacOS exporter observability lib + +This jsonnet observability lib can be used to generate observability package for node exporter(MacOS). + +## Import + +```sh +jb init +jb install https://github.com/grafana/node_exporter/docs/node-observ-lib +``` + +## Examples + +### Example 1: Basic example + +You can use observ-lib to fill in monitoring-mixin structure: + +```jsonnet +// mixin.libsonnet file +local macoslib = import 'node-observ-lib/macos/main.libsonnet'; + +local mac = + macoslib.new() + + macoslib.withConfigMixin({ + filteringSelector: 'job=~".*mac.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'MacOS / ', + dashboardTags: ['macos-mixin'], + uid: 'darwin', + // enable loki logs + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: mac.grafana.dashboards, + prometheusAlerts+:: mac.prometheus.alerts, + prometheusRules+:: mac.prometheus.recordingRules, +} + +``` +For more examples see [node-observ-lib/linux](../linux). + +## Collectors used: + +Grafana Agent or combination of node_exporter/promtail can be used in order to collect data required. + +### Logs collection + +Loki logs are used to populate logs dashboard and also for annotations. + +To use logs, you need to opt-in, with setting `enableLokiLogs: true` in config. + +See example above. + +The following scrape snippet can be used in grafana-agent/promtail: + +```yaml + - job_name: integrations/node_exporter_direct_scrape + static_configs: + - targets: + - localhost + labels: + __path__: /var/log/*.log + instance: '' + job: integrations/macos-node + pipeline_stages: + - multiline: + firstline: '^([\w]{3} )?[\w]{3} +[\d]+ [\d]+:[\d]+:[\d]+|[\w]{4}-[\w]{2}-[\w]{2} [\w]{2}:[\w]{2}:[\w]{2}(?:[+-][\w]{2})?' + - regex: + expression: '(?P([\w]{3} )?[\w]{3} +[\d]+ [\d]+:[\d]+:[\d]+|[\w]{4}-[\w]{2}-[\w]{2} [\w]{2}:[\w]{2}:[\w]{2}(?:[+-][\w]{2})?) (?P\S+) (?P.+?)\[(?P\d+)\]:? (?P(?s:.*))$' + - labels: + sender: + hostname: + pid: + - match: + selector: '{sender!="", pid!=""}' + stages: + - template: + source: message + template: '{{ .sender }}[{{ .pid }}]: {{ .message }}' + - labeldrop: + - pid + - output: + source: message +``` diff --git a/docs/node-observ-lib/macos/alerts.libsonnet b/docs/node-observ-lib/macos/alerts.libsonnet new file mode 100644 index 0000000000..88714f8d96 --- /dev/null +++ b/docs/node-observ-lib/macos/alerts.libsonnet @@ -0,0 +1,23 @@ +{ + new(this, parentPrometheus): + { + groups: + //keep only alerts listed in alertsMacKeep + std.filter( + function(group) std.length(group.rules) > 0, + [ + { + name: group.name, + rules: [ + rule + for rule in group.rules + if std.length(std.find(rule.alert, this.config.alertsMacKeep)) > 0 + ], + } + for group in parentPrometheus.alerts.groups + ], + + ), + + }, +} diff --git a/docs/node-observ-lib/macos/config.libsonnet b/docs/node-observ-lib/macos/config.libsonnet new file mode 100644 index 0000000000..49ea6ecc4a --- /dev/null +++ b/docs/node-observ-lib/macos/config.libsonnet @@ -0,0 +1,59 @@ +{ + + // any modular observability library should inlcude as inputs: + // 'dashboardNamePrefix' - Use as prefix for all Dashboards and (optional) rule groups + // 'filteringSelector' - Static selector to apply to ALL dashboard variables of type query, panel queries, alerts and recording rules. + // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. + // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. + // 'uid' - UID to prefix all dashboards original uids + + filteringSelector: 'job="integrations/macos-node"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'MacOS / ', + uid: 'darwin', + + dashboardTags: [self.uid], + + // Select the fstype for filesystem-related queries. If left + // empty, all filesystems are selected. If you have unusual + // filesystem you don't want to include in dashboards and + // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. + fsSelector: 'fstype!=""', + + // Select the mountpoint for filesystem-related queries. If left + // empty, all mountpoints are selected. For example if you have a + // special purpose tmpfs instance that has a fixed size and will + // always be 100% full, but you still want alerts and dashboards for + // other tmpfs instances, you can exclude those by mountpoint prefix + // like so: 'mountpoint!~"/var/lib/foo.*"'. + fsMountpointSelector: 'mountpoint!=""', + + // Select the device for disk-related queries. If left empty, all + // devices are selected. If you have unusual devices you don't + // want to include in dashboards and alerting, you can exclude + // them here, e.g. 'device!="tmpfs"'. + diskDeviceSelector: 'device!=""', + dashboardPeriod: 'now-1h', + dashboardTimezone: 'default', + dashboardRefresh: '1m', + + // Alerts to keep from node-observ-lib: + alertsMacKeep: [ + 'NodeFilesystemAlmostOutOfSpace', + 'NodeNetworkReceiveErrs', + 'NodeNetworkTransmitErrs', + 'NodeTextFileCollectorScrapeError', + 'NodeFilesystemFilesFillingUp', + 'NodeFilesystemAlmostOutOfFiles', + ], + // logs lib related + enableLokiLogs: true, + extraLogLabels: ['filename', 'sender'], + logsVolumeGroupBy: 'sender', + showLogsVolume: true, + logsFilteringSelector: self.filteringSelector, + logsExtraFilters: '', + + +} diff --git a/docs/node-observ-lib/macos/panels.libsonnet b/docs/node-observ-lib/macos/panels.libsonnet new file mode 100644 index 0000000000..e0cca3131d --- /dev/null +++ b/docs/node-observ-lib/macos/panels.libsonnet @@ -0,0 +1,38 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + // override description and targets + memoryUsageTsBytes+: + g.panel.timeSeries.panelOptions.withDescription( + ||| + - Physical memory: Total amount of memory installed in this computer; + - App memory: Physical memory allocated by apps and system processes; + - Wired memory: Physical memory, containing data that cannot be compressed or swapped to disk; + - Compressed memory: Physical memory used to store a compressed version of data that has not been used recently; + - Swap used: Amount of compressed data temporarily moved to disk to make room in memory for more recently used data. + ||| + ) + + g.panel.timeSeries.queryOptions.withTargets([ + t.memoryUsedBytes, + t.memoryTotalBytes, + t.memoryAppBytes, + t.memoryWiredBytes, + t.memoryCompressedBytes, + t.memorySwapUsedBytes, + ]) + + commonlib.panels.generic.timeSeries.threshold.stylizeByRegexp('Physical memory'), + + //override reduceOption field to version + osInfo+: + g.panel.timeSeries.panelOptions.withTitle('OS version') + + { options+: { reduceOptions: { fields: '/^version$/' } } }, + }, +} diff --git a/docs/node-observ-lib/macos/targets.libsonnet b/docs/node-observ-lib/macos/targets.libsonnet new file mode 100644 index 0000000000..25efc16572 --- /dev/null +++ b/docs/node-observ-lib/macos/targets.libsonnet @@ -0,0 +1,87 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_total_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Physical memory'), + + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_internal_bytes{%(queriesSelector)s} - + node_memory_purgeable_bytes{%(queriesSelector)s} + + node_memory_wired_bytes{%(queriesSelector)s} + + node_memory_compressed_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + memoryAppBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_internal_bytes{%(queriesSelector)s} - + node_memory_purgeable_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('App memory'), + memoryWiredBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_wired_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Wired memory'), + memoryCompressedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_compressed_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Compressed memory'), + + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + ( + avg(node_memory_internal_bytes{%(queriesSelector)s}) - + avg(node_memory_purgeable_bytes{%(queriesSelector)s}) + + avg(node_memory_wired_bytes{%(queriesSelector)s}) + + avg(node_memory_compressed_bytes{%(queriesSelector)s}) + ) / + avg(node_memory_total_bytes{%(queriesSelector)s}) + ) + * + 100 + ||| + % variables, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_total_bytes{%(queriesSelector)s}' % variables + ), + + memorySwapUsedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_used_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Swap used'), + }, +} diff --git a/docs/node-observ-lib/mixin-mac.libsonnet b/docs/node-observ-lib/mixin-mac.libsonnet new file mode 100644 index 0000000000..d0b56adf12 --- /dev/null +++ b/docs/node-observ-lib/mixin-mac.libsonnet @@ -0,0 +1,8 @@ +local macoslib = import './macos/main.libsonnet'; +local macos = macoslib.new(); + +{ + grafanaDashboards+:: macos.grafana.dashboards, + prometheusAlerts+:: macos.prometheus.alerts, + prometheusRules+:: macos.prometheus.recordingRules, +} diff --git a/docs/node-observ-lib/mixin.libsonnet b/docs/node-observ-lib/mixin.libsonnet index f902699f3e..284f307dd4 100644 --- a/docs/node-observ-lib/mixin.libsonnet +++ b/docs/node-observ-lib/mixin.libsonnet @@ -1,7 +1,4 @@ -local g = import './g.libsonnet'; -local nodelib = import './main.libsonnet'; - - +local nodelib = import './linux/main.libsonnet'; local linux = nodelib.new() + nodelib.withConfigMixin({ @@ -12,7 +9,6 @@ local linux = dashboardTags: ['node-exporter-mixin'], uid: 'node', }); - { grafanaDashboards+:: linux.grafana.dashboards, prometheusAlerts+:: linux.prometheus.alerts, From 814bc070785374807adfb08357281040d1f53606 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:13:29 +0000 Subject: [PATCH 009/151] Split panels to separate files Signed-off-by: Vitaly Zhuravlev --- .../linux/dashboards.libsonnet | 169 ++- docs/node-observ-lib/linux/main.libsonnet | 2 +- docs/node-observ-lib/linux/panels.libsonnet | 1148 ----------------- .../linux/panels/cpu.libsonnet | 38 + .../linux/panels/disk.libsonnet | 121 ++ .../linux/panels/fleet.libsonnet | 215 +++ .../linux/panels/hardware.libsonnet | 17 + .../linux/panels/main.libsonnet | 12 + .../linux/panels/memory.libsonnet | 278 ++++ .../linux/panels/network.libsonnet | 475 +++++++ .../linux/panels/system.libsonnet | 81 ++ 11 files changed, 1322 insertions(+), 1234 deletions(-) delete mode 100644 docs/node-observ-lib/linux/panels.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/cpu.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/disk.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/fleet.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/hardware.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/main.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/memory.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/network.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/system.libsonnet diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-observ-lib/linux/dashboards.libsonnet index a76bf73908..ac4ece7f1e 100644 --- a/docs/node-observ-lib/linux/dashboards.libsonnet +++ b/docs/node-observ-lib/linux/dashboards.libsonnet @@ -22,12 +22,12 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.grid.wrapPanels( [ // g.panel.row.new("Overview"), - panels.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, - panels.cpuUsageTopk { gridPos+: { w: 24 } }, - panels.memotyUsageTopKPercent { gridPos+: { w: 24 } }, - panels.diskIOutilPercentTopK { gridPos+: { w: 12 } }, - panels.diskUsagePercentTopK { gridPos+: { w: 12 } }, - panels.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, + panels.fleet.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, + panels.cpu.cpuUsageTopk { gridPos+: { w: 24 } }, + panels.memory.memotyUsageTopKPercent { gridPos+: { w: 24 } }, + panels.disk.diskIOutilPercentTopK { gridPos+: { w: 12 } }, + panels.disk.diskUsagePercentTopK { gridPos+: { w: 12 } }, + panels.network.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, ], 12, 7 ) ) @@ -39,34 +39,33 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.grid.wrapPanels( [ g.panel.row.new('Overview'), - panels.uptime, - panels.hostname, - panels.kernelVersion, - panels.osInfo, - panels.cpuCount, - panels.memoryTotalBytes, - panels.memorySwapTotalBytes, - panels.diskTotalRoot, + panels.system.uptime, + panels.system.hostname, + panels.system.kernelVersion, + panels.system.osInfo, + panels.cpu.cpuCount, + panels.memory.memoryTotalBytes, + panels.memory.memorySwapTotalBytes, + panels.disk.diskTotalRoot, g.panel.row.new('CPU'), - panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, - panels.systemLoad { gridPos+: { w: 6, h: 6 } }, + panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, + panels.system.systemLoad { gridPos+: { w: 6, h: 6 } }, g.panel.row.new('Memory'), - panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + panels.memory.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memory.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, g.panel.row.new('Disk'), - panels.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, - panels.diskUsage { gridPos+: { w: 12, h: 8 } }, + panels.disk.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, + panels.disk.diskUsage { gridPos+: { w: 12, h: 8 } }, g.panel.row.new('Network'), - panels.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, - panels.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, - + panels.network.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, + panels.network.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, ] + if this.config.enableHardware then [ g.panel.row.new('Hardware'), - panels.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, + panels.hardware.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, ] else [] , 6, 2 ) @@ -79,32 +78,32 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.grid.wrapPanels( [ g.panel.row.new('Network'), - panels.networkOverviewTable { gridPos: { w: 24 } }, - panels.networkUsagePerSec, - panels.networkOperStatus, - panels.networkErrorsPerSec, - panels.networkDroppedPerSec, - panels.networkPacketsPerSec, - panels.networkMulticastPerSec, - panels.networkFifo, - panels.networkCompressedPerSec, - panels.networkNFConntrack, - panels.networkSoftnet, - panels.networkSoftnetSqueeze, + panels.network.networkOverviewTable { gridPos: { w: 24 } }, + panels.network.networkUsagePerSec, + panels.network.networkOperStatus, + panels.network.networkErrorsPerSec, + panels.network.networkDroppedPerSec, + panels.network.networkPacketsPerSec, + panels.network.networkMulticastPerSec, + panels.network.networkFifo, + panels.network.networkCompressedPerSec, + panels.network.networkNFConntrack, + panels.network.networkSoftnet, + panels.network.networkSoftnetSqueeze, g.panel.row.new('Network sockets'), - panels.networkSockstatAll { gridPos: { w: 24 } }, - panels.networkSockstatTCP, - panels.networkSockstatUDP, - panels.networkSockstatMemory, - panels.networkSockstatOther, + panels.network.networkSockstatAll { gridPos: { w: 24 } }, + panels.network.networkSockstatTCP, + panels.network.networkSockstatUDP, + panels.network.networkSockstatMemory, + panels.network.networkSockstatOther, g.panel.row.new('Network netstat'), - panels.networkNetstatIP { gridPos: { w: 24 } }, - panels.networkNetstatTCP, - panels.networkNetstatTCPerrors, - panels.networkNetstatUDP, - panels.networkNetstatUDPerrors, - panels.networkNetstatICMP, - panels.networkNetstatICMPerrors, + panels.network.networkNetstatIP { gridPos: { w: 24 } }, + panels.network.networkNetstatTCP, + panels.network.networkNetstatTCPerrors, + panels.network.networkNetstatUDP, + panels.network.networkNetstatUDPerrors, + panels.network.networkNetstatICMP, + panels.network.networkNetstatICMPerrors, ], 12, 8 ) ) @@ -114,26 +113,26 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso + g.dashboard.withPanels( g.util.grid.wrapPanels( [ - panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + panels.memory.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memory.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, g.panel.row.new('Vmstat'), - panels.memoryPagesInOut, - panels.memoryPagesSwapInOut, - panels.memoryPagesFaults, - panels.memoryOOMkiller, + panels.memory.memoryPagesInOut, + panels.memory.memoryPagesSwapInOut, + panels.memory.memoryPagesFaults, + panels.memory.memoryOOMkiller, g.panel.row.new('Memstat'), - panels.memoryActiveInactive, - panels.memoryActiveInactiveDetail, - panels.memoryCommited, - panels.memorySharedAndMapped, - panels.memoryWriteAndDirty, - panels.memoryVmalloc, - panels.memorySlab, - panels.memoryAnonymous, - panels.memoryHugePagesCounter, - panels.memoryHugePagesSize, - panels.memoryDirectMap, - panels.memoryBounce, + panels.memory.memoryActiveInactive, + panels.memory.memoryActiveInactiveDetail, + panels.memory.memoryCommited, + panels.memory.memorySharedAndMapped, + panels.memory.memoryWriteAndDirty, + panels.memory.memoryVmalloc, + panels.memory.memorySlab, + panels.memory.memoryAnonymous, + panels.memory.memoryHugePagesCounter, + panels.memory.memoryHugePagesSize, + panels.memory.memoryDirectMap, + panels.memory.memoryBounce, ], 12, 8 ) ) @@ -145,15 +144,15 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.grid.wrapPanels( [ g.panel.row.new('System'), - panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, - panels.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, - panels.systemLoad, - panels.systemContextSwitchesAndInterrupts, + panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, + panels.cpu.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, + panels.system.systemLoad, + panels.system.systemContextSwitchesAndInterrupts, g.panel.row.new('Time'), - panels.osTimezone { gridPos+: { w: 3, h: 4 } }, - panels.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, - panels.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, + panels.system.osTimezone { gridPos+: { w: 3, h: 4 } }, + panels.system.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, + panels.system.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, ], 12, 7 ) ) @@ -165,17 +164,17 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.grid.wrapPanels( [ g.panel.row.new('Filesystem'), - panels.diskFreeTs, - panels.diskUsage, - panels.diskInodesFree, - panels.diskInodesTotal, - panels.diskErrorsandRO, - panels.fileDescriptors, + panels.disk.diskFreeTs, + panels.disk.diskUsage, + panels.disk.diskInodesFree, + panels.disk.diskInodesTotal, + panels.disk.diskErrorsandRO, + panels.disk.fileDescriptors, g.panel.row.new('Disk'), - panels.diskIOBytesPerSec, - panels.diskIOps, - panels.diskIOWaitTime, - panels.diskQueue, + panels.disk.diskIOBytesPerSec, + panels.disk.diskIOps, + panels.disk.diskIOWaitTime, + panels.disk.diskQueue, ], 12, 8 ) ) diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-observ-lib/linux/main.libsonnet index 0fb13f70d2..dbf335fe7e 100644 --- a/docs/node-observ-lib/linux/main.libsonnet +++ b/docs/node-observ-lib/linux/main.libsonnet @@ -5,7 +5,7 @@ local dashboards = import './dashboards.libsonnet'; local datasources = import './datasources.libsonnet'; local g = import './g.libsonnet'; local links = import './links.libsonnet'; -local panels = import './panels.libsonnet'; +local panels = import './panels/main.libsonnet'; local rules = import './rules.libsonnet'; local targets = import './targets.libsonnet'; local variables = import './variables.libsonnet'; diff --git a/docs/node-observ-lib/linux/panels.libsonnet b/docs/node-observ-lib/linux/panels.libsonnet deleted file mode 100644 index cf185ca53b..0000000000 --- a/docs/node-observ-lib/linux/panels.libsonnet +++ /dev/null @@ -1,1148 +0,0 @@ -local g = import '../g.libsonnet'; -local commonlib = import 'common-lib/common/main.libsonnet'; -local utils = commonlib.utils; -{ - new(this): - { - local t = this.grafana.targets, - local table = g.panel.table, - local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], - fleetOverviewTable: - commonlib.panels.generic.table.base.new( - 'Fleet overview', - targets= - [ - t.osInfoCombined - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('OS Info'), - t.uptime - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Uptime'), - t.systemLoad1 - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Load 1'), - t.cpuCount - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Cores'), - t.cpuUsage - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('CPU usage'), - t.memoryTotalBytes - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Memory total'), - t.memoryUsagePercent - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Memory usage'), - t.diskTotalRoot - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Root mount size'), - t.diskUsageRootPercent - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Root mount used'), - t.alertsCritical - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('CRITICAL'), - t.alertsWarning - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('WARNING'), - ], - description="All nodes' perfomance at a glance." - ) - + g.panel.table.options.withFooter( - value={ - reducer: ['sum'], - show: true, - fields: [ - 'Value #Cores', - 'Value #Load 1', - 'Value #Memory total', - 'Value #Root mount size', - ], - } - ) - + commonlib.panels.system.table.uptime.stylizeByName('Uptime') - + table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Product|^Hostname$') - + fieldOverride.byRegexp.withProperty('custom.filterable', true), - fieldOverride.byName.new('Instance') - + fieldOverride.byName.withProperty('custom.filterable', true) - + fieldOverride.byName.withProperty('links', [ - { - targetBlank: false, - title: 'Drill down to ${__field.name} ${__value.text}', - url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], - }, - ]), - fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) - + fieldOverride.byRegexp.withProperty('custom.filterable', true) - + fieldOverride.byRegexp.withProperty('links', [ - { - targetBlank: false, - title: 'Filter by ${__field.name}', - url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.fleet.uid], - }, - ]), - fieldOverride.byName.new('Cores') - + fieldOverride.byName.withProperty('custom.width', '120'), - fieldOverride.byName.new('CPU usage') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - fieldOverride.byName.new('Memory total') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bytes') - ), - fieldOverride.byName.new('Memory usage') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - fieldOverride.byName.new('Root mount size') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bytes') - ), - fieldOverride.byName.new('Root mount used') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('percent') - ) - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - ]) - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'joinByField', - options: { - byField: instanceLabel, - mode: 'outer', - }, - }, - { - id: 'filterFieldsByName', - options: { - include: { - //' 1' - would only match first occurence of group label, so no duplicates - pattern: instanceLabel + '|' - + - std.join( - '|', - std.map( - function(x) '%s 1' % x, this.config.instanceLabels - ) - ) - + '|' + - std.join( - '|', - std.map( - function(x) '%s 1' % x, this.config.groupLabels - ) - ) - + '|product|^hostname$|^nodename$|^pretty_name$|Value.+', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: { - 'Value #OS Info': true, - }, - indexByName: - { - [instanceLabel]: 0, - nodename: 1, - hostname: 1, - pretty_name: 2, - product: 2, - } - + - // group labels are named as 'job 1' and so on. - { - [label]: 3 - for label in this.config.groupLabels - }, - renameByName: - { - [label + ' 1']: utils.toSentenceCase(label) - for label in this.config.instanceLabels - } - { - [instanceLabel]: utils.toSentenceCase(instanceLabel), - product: 'OS', // windows - pretty_name: 'OS', // linux - hostname: 'Hostname', // windows - nodename: 'Hostname', // Linux - } - + - // group labels are named as 'job 1' and so on. - { - [label + ' 1']: utils.toSentenceCase(label) - for label in this.config.groupLabels - }, - - }, - }, - { - id: 'renameByRegex', - options: { - regex: 'Value #(.*)', - renamePattern: '$1', - }, - }, - ] - ), - uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), - - systemLoad: - commonlib.panels.system.timeSeries.loadAverage.new( - loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], - cpuCountTarget=t.cpuCount, - ), - - systemContextSwitchesAndInterrupts: - commonlib.panels.generic.timeSeries.base.new( - 'Context switches/Interrupts', - targets=[ - t.systemContextSwitches, - t.systemInterrupts, - ], - description=||| - Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. - - A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. - ||| - ), - - timeNtpStatus: - commonlib.panels.system.statusHistory.ntp.new( - 'NTP status', - targets=[t.timeNtpStatus], - description='Status of time synchronization.' - ) - + g.panel.timeSeries.standardOptions.withNoValue('No data.') - + g.panel.statusHistory.options.withLegend(false), - timeSyncDrift: - commonlib.panels.generic.timeSeries.base.new( - 'Time synchronized drift', - targets=[ - t.timeEstimatedError, - t.timeOffset, - t.timeMaxError, - ], - description=||| - Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. - ||| - ) - + g.panel.timeSeries.standardOptions.withUnit('seconds') - + g.panel.timeSeries.standardOptions.withNoValue('No data.'), - cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), - cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) - + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), - - cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='CPU usage', - target=t.cpuUsage, - topk=25, - instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, - ), - cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), - cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( - targets=[t.cpuUsageByMode], - description=||| - - System: Processes executing in kernel mode. - - User: Normal processes executing in user mode. - - Nice: Niced processes executing in user mode. - - Idle: Waiting for something to happen. - - Iowait: Waiting for I/O to complete. - - Irq: Servicing interrupts. - - Softirq: Servicing softirqs. - - Steal: Time spent in other operating systems when running in a virtualized environment. - ||| - ), - - memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), - memorySwapTotalBytes: - commonlib.panels.memory.stat.total.new( - 'Total swap', - targets=[t.memorySwapTotal], - description=||| - Total swap available. - - Swap is a space on a storage device (usually a dedicated swap partition or a swap file) - used as virtual memory when the physical RAM (random-access memory) is fully utilized. - Swap space helps prevent memory-related performance issues by temporarily transferring less-used data from RAM to disk, - freeing up physical memory for active processes and applications. - ||| - ), - memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), - memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Memory usage', - target=t.memoryUsagePercent, - topk=25, - instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, - ), - memoryUsageTsBytes: - commonlib.panels.memory.timeSeries.usageBytes.new( - targets=[ - t.memoryUsedBytes, - t.memoryCachedBytes, - t.memoryAvailableBytes, - t.memoryBuffersBytes, - t.memoryFreeBytes, - t.memoryTotalBytes, - ], - description= - ||| - - Used: The amount of physical memory currently in use by the system. - - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. - - Free: The amount of physical memory that is currently not in use. - - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. - - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. - ||| - ) - + g.panel.timeSeries.standardOptions.withOverridesMixin( - { - __systemRef: 'hideSeriesFrom', - matcher: { - id: 'byNames', - options: { - mode: 'exclude', - names: [ - t.memoryTotalBytes.legendFormat, - t.memoryUsedBytes.legendFormat, - ], - prefix: 'All except:', - readOnly: true, - }, - }, - properties: [ - { - id: 'custom.hideFrom', - value: { - viz: true, - legend: false, - tooltip: false, - }, - }, - ], - } - ), - - memoryPagesInOut: - commonlib.panels.memory.timeSeries.base.new( - 'Memory pages in / out', - targets=[t.memoryPagesIn, t.memoryPagesOut], - description=||| - Page-In - Return of pages to physical memory. This is a common and normal event. - - Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. - When the kernel detects low memory, it attempts to free memory by paging out. - While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. - Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. - ||| - ) - + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), - - memoryPagesSwapInOut: - commonlib.panels.memory.timeSeries.base.new( - 'Memory pages swapping in / out', - targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], - description=||| - Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. - Nonetheless, it is a preferable option to crashing or killing off processes. - - The process of writing pages out to disk to free memory is known as swapping-out. - If a page fault occurs because the page is on disk, in the swap area, rather than in memory, - the kernel will read the page back in from the disk to satisfy the page fault. - This is known as swapping-in. - ||| - ) - + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), - - memoryPagesFaults: - commonlib.panels.memory.timeSeries.base.new( - 'Memory page faults', - targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], - description=||| - A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, - requiring a mapping to be added to the process's virtual address space. - - The page contents may also need to be loaded from a backing store such as a disk. - While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. - Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. - |||, - ), - - memoryOOMkiller: - commonlib.panels.memory.timeSeries.base.new( - 'OOM Killer', - targets=[t.memoryOOMkiller], - description=||| - Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. - - This can happen when the kernel has allocated more memory than is available for its processes. - ||| - ), - - memoryActiveInactive: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory active / inactive', - targets=[t.memoryActiveBytes, t.memoryInactiveBytes], - description=||| - - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. - - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. - |||, - ), - - memoryActiveInactiveDetail: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory active / inactive details', - targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], - description=||| - - Inactive_file: File-backed memory on inactive LRU list. - - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). - - Active_file: File-backed memory on active LRU list. - - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. - |||, - ), - - memoryCommited: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory commited', - targets=[t.memoryCommitedAs, t.memoryCommitedLimit], - description=||| - - Committed_AS - Amount of memory presently allocated on the system. - - CommitLimit - Amount of memory currently available to be allocated on the system. - ||| - ), - - memorySharedAndMapped: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory shared and mapped', - targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], - description=||| - - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. - - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. - - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. - - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. - ||| - ), - memoryWriteAndDirty: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory writeback and dirty', - targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], - description=||| - - Writeback: This refers to the memory that is currently being actively written back to the disk. - - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. - - Dirty: This type of memory is waiting to be written back to the disk. - ||| - ), - memoryVmalloc: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory Vmalloc', - targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], - description=||| - Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. - - - VmallocChunk: Largest contiguous block of vmalloc area which is free. - - VmallocTotal: Total size of vmalloc memory area. - - VmallocUsed: Amount of vmalloc area which is used. - ||| - ), - memorySlab: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory slab', - targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], - description=||| - Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. - - The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. - - - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. - - SReclaimable: Part of Slab, that might be reclaimed, such as caches. - ||| - ), - memoryAnonymous: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory slab', - targets=[t.memoryAnonHugePages, t.memoryAnonPages], - description=||| - Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. - - This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. - - Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, - and from Memory Shared with other processes, - which refers to memory regions that can be accessed and modified by multiple processes. - - - AnonHugePages: Memory in anonymous huge pages. - - AnonPages: Memory in user pages not backed by files. - ||| - ), - - memoryHugePagesCounter: - commonlib.panels.memory.timeSeries.base.new( - 'Memory HugePages counter', - targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], - description= - ||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - - - HugePages_Free: Huge pages in the pool that are not yet allocated. - - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. - - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. - ||| - ), - memoryHugePagesSize: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory HugePages size', - targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], - - description=||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - ||| - ), - - memoryDirectMap: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory direct map', - targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], - - description=||| - Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. - ||| - ), - memoryBounce: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory bounce', - targets=[t.memoryBounce], - description=||| - Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. - - To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. - - - Bounce: Memory used for block device bounce buffers. - ||| - ), - diskTotalRoot: - commonlib.panels.disk.stat.total.new( - 'Root mount size', - targets=[t.diskTotalRoot], - description=||| - Total capacity on the primary mount point /. - ||| - ), - diskUsage: - commonlib.panels.disk.table.usage.new( - totalTarget= - ( - t.diskTotal - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - ), - freeTarget= - t.diskFree - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true), - groupLabel='mountpoint' - , - description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.' - ), - diskFreeTs: - commonlib.panels.disk.timeSeries.available.new( - 'Filesystem space availabe', - targets=[ - t.diskFree, - ], - description='Filesystem space utilisation in bytes, by mountpoint.' - ), - diskInodesFree: - commonlib.panels.disk.timeSeries.base.new( - 'Free inodes', - targets=[t.diskInodesFree], - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' - ) - + g.panel.timeSeries.standardOptions.withUnit('short'), - diskInodesTotal: - commonlib.panels.disk.timeSeries.base.new( - 'Total inodes', - targets=[t.diskInodesTotal], - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', - ) - + g.panel.timeSeries.standardOptions.withUnit('short'), - diskErrorsandRO: - commonlib.panels.disk.timeSeries.base.new( - 'Filesystems with errors / read-only', - targets=[ - t.diskDeviceError, - t.diskReadOnly, - ], - description='', - ) - + g.panel.timeSeries.standardOptions.withMax(1), - fileDescriptors: - commonlib.panels.disk.timeSeries.base.new( - 'File descriptors', - targets=[ - t.processMaxFds, - t.processOpenFds, - ], - description=||| - File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. - The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. - ||| - ), - diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Disk space usage', - target=t.diskUsagePercent, - topk=25, - instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, - ), - diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( - targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] - ), - diskIOutilPercentTopK: - commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Disk IO', - target=t.diskIOutilization, - topk=25, - instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, - ), - diskIOps: - commonlib.panels.disk.timeSeries.iops.new( - targets=[ - t.diskIOReads, - t.diskIOWrites, - ] - ), - - diskQueue: - commonlib.panels.disk.timeSeries.ioQueue.new( - 'Disk average queue', - targets= - [ - t.diskAvgQueueSize, - ] - ), - diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( - targets=[ - t.diskIOWaitReadTime, - t.diskIOWaitWriteTime, - ] - ), - osInfo: commonlib.panels.generic.stat.info.new( - 'OS', - targets=[t.osInfo], - description='Operating system' - ) - { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, - kernelVersion: - commonlib.panels.generic.stat.info.new('Kernel version', - targets=[t.unameInfo], - description='Kernel version of linux host.') - { options+: { reduceOptions+: { fields: '/^release$/' } } }, - osTimezone: - commonlib.panels.generic.stat.info.new( - 'Timezone', targets=[t.osTimezone], description='Current system timezone.' - ) - { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, - hostname: - commonlib.panels.generic.stat.info.new( - 'Hostname', - targets=[t.unameInfo], - description="System's hostname." - ) - { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, - networkErrorsAndDroppedPerSec: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors and dropped packets', - targets=std.map( - function(t) t - { - expr: t.expr + '>0', - }, - [ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, - ] - ), - description=||| - **Network errors**: - - Network errors refer to issues that occur during the transmission of data across a network. - - These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. - - Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. - - **Dropped packets**: - - Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. - - Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. - - Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. - ||| - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkErrorsAndDroppedPerSecTopK: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors and dropped packets', - targets=std.map( - function(t) t - { - expr: 'topk(25, ' + t.expr + ')>0', - legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), - }, - [ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, - ] - ), - description=||| - Top 25. - - **Network errors**: - - Network errors refer to issues that occur during the transmission of data across a network. - - These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. - - Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. - - **Dropped packets**: - - Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. - - Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. - - Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. - ||| - ) - + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') - + g.panel.timeSeries.fieldConfig.defaults.custom.withPointSize(5), - - networkErrorsPerSec: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors', - targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkDroppedPerSec: - commonlib.panels.network.timeSeries.dropped.new( - targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkUsagePerSec: - commonlib.panels.network.timeSeries.traffic.new( - targets=[t.networkInBitPerSecFiltered, t.networkOutBitPerSecFiltered] - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkPacketsPerSec: - commonlib.panels.network.timeSeries.packets.new( - targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkMulticastPerSec: - commonlib.panels.network.timeSeries.multicast.new( - 'Multicast packets', - targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], - description='Multicast packets received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - - networkFifo: - commonlib.panels.network.timeSeries.packets.new( - 'Network FIFO', - targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], - description=||| - Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. - It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. - Packets are stored in the FIFO buffer until they can be transmitted or processed further. - ||| - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkCompressedPerSec: - commonlib.panels.network.timeSeries.packets.new( - 'Compressed packets', - targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], - description=||| - - Compressed received: - Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - - Compressed transmitted: - Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - https://docs.kernel.org/networking/statistics.html - |||, - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkNFConntrack: - commonlib.panels.generic.timeSeries.base.new( - 'NF conntrack', - targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], - description=||| - NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, - enforce firewall rules, perform NAT, and manage network address/port translation. - ||| - ) - + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0), - - networkSoftnet: - commonlib.panels.network.timeSeries.packets.new( - 'Softnet packets', - targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], - description=||| - Softnet packets are received by the network and queued for processing by the kernel's networking stack. - Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. - ||| - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets('/dropped/') - + g.panel.timeSeries.fieldConfig.defaults.custom.withAxisLabel('Dropped(-) | Processed(+)'), - networkSoftnetSqueeze: - commonlib.panels.network.timeSeries.packets.new( - 'Softnet out of quota', - targets=[t.networkSoftnetSqueezedPerSec], - description=||| - "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. - This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. - ||| - ), - networkOperStatus: - commonlib.panels.network.statusHistory.interfaceStatus.new( - 'Network interfaces carrier status', - targets=[t.networkCarrier], - description='Network interfaces carrier status', - ), - networkOverviewTable: - commonlib.panels.generic.table.base.new( - 'Network interfaces overview', - targets= - [ - t.networkUp - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Up'), - t.networkCarrier - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Carrier'), - t.networkOutBitPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(false) - + g.query.prometheus.withRefId('Transmitted'), - t.networkInBitPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(false) - + g.query.prometheus.withRefId('Received'), - t.networkArpEntries - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('ARP entries'), - t.networkMtuBytes - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('MTU'), - t.networkSpeedBitsPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Speed'), - t.networkTransmitQueueLength - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Queue length'), - t.networkInfo - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Info'), - ], - description='Network interfaces overview.' - ) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byName.new('Speed') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bps') - ), - ]) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Transmitted|Received') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') - + fieldOverride.byRegexp.withPropertiesFromOptions( - table.standardOptions.withUnit('bps') - + table.standardOptions.color.withMode('continuous-BlYlRd') - + table.standardOptions.withMax(1000 * 1000 * 100) - ), - ]) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Carrier|Up') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') - + fieldOverride.byRegexp.withPropertiesFromOptions( - table.standardOptions.withMappings( - { - type: 'value', - options: { - '0': { - text: 'Down', - color: 'light-red', - index: 0, - }, - '1': { - text: 'Up', - color: 'light-green', - index: 1, - }, - }, - } - ), - ), - ]) - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'joinByField', - options: { - byField: 'device', - mode: 'outer', - }, - }, - { - id: 'filterFieldsByName', - options: { - include: { - pattern: 'device|duplex|address|Value.+', - }, - }, - }, - { - id: 'renameByRegex', - options: { - regex: '(Value) #(.*)', - renamePattern: '$2', - }, - }, - { - id: 'organize', - options: { - excludeByName: { - Info: true, - }, - renameByName: - { - device: 'Interface', - duplex: 'Duplex', - address: 'Address', - }, - }, - }, - { - id: 'organize', - options: { - indexByName: { - Interface: 0, - Up: 1, - Carrier: 2, - Received: 3, - Transmitted: 4, - }, - }, - }, - ] - ), - networkSockstatAll: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets in use', - targets=[t.networkSocketsUsed], - description='Number of sockets currently in use.', - ), - - networkSockstatTCP: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets TCP', - targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], - description=||| - TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. - - Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. - ||| - ), - networkSockstatUDP: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets UDP', - targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], - description=||| - UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. - Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. - ||| - ), - networkSockstatOther: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets other', - targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], - description=||| - FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. - - RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. - ||| - ), - networkSockstatMemory: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.generic.timeSeries.base.new( - title='Sockets memory', - targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], - description=||| - Memory currently in use for sockets. - |||, - ) - + panel.queryOptions.withMaxDataPoints(100) - + panel.fieldConfig.defaults.custom.withAxisLabel('Pages') - + panel.standardOptions.withOverridesMixin( - panel.standardOptions.override.byRegexp.new('/bytes/') - + override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('bytes') - + panel.fieldConfig.defaults.custom.withDrawStyle('bars') - + panel.fieldConfig.defaults.custom.withStacking(value={ mode: 'normal', group: 'A' }) - + panel.fieldConfig.defaults.custom.withAxisLabel('Bytes') - ) - ), - - networkNetstatIP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'IP octets', - targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], - description='Rate of IP octets received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('oct/s'), - - networkNetstatTCP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'TCP segments', - targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], - description='Rate of TCP segments received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('seg/s'), - - networkNetstatTCPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='TCP errors rate', - targets=[ - t.networkNetstatTCPOverflowPerSec, - t.networkNetstatTCPListenDropsPerSec, - t.networkNetstatTCPRetransPerSec, - t.networkNetstatTCPRetransSegPerSec, - t.networkNetstatTCPInWithErrorsPerSec, - t.networkNetstatTCPOutWithRstPerSec, - ], - description='Rate of TCP errors.' - ) - + panel.standardOptions.withUnit('err/s'), - - networkNetstatUDP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'UDP datagrams', - targets=[ - t.networkNetstatIPInUDPPerSec, - t.networkNetstatIPOutUDPPerSec, - t.networkNetstatIPInUDP6PerSec, - t.networkNetstatIPOutUDP6PerSec, - ], - description='Rate of UDP datagrams received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('dat/s'), - - networkNetstatUDPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='UDP errors rate', - targets=[ - t.networkNetstatUDPLiteInErrorsPerSec, - t.networkNetstatUDPInErrorsPerSec, - t.networkNetstatUDP6InErrorsPerSec, - t.networkNetstatUDPNoPortsPerSec, - t.networkNetstatUDP6NoPortsPerSec, - t.networkNetstatUDPRcvBufErrsPerSec, - t.networkNetstatUDP6RcvBufErrsPerSec, - t.networkNetstatUDPSndBufErrsPerSec, - t.networkNetstatUDP6SndBufErrsPerSec, - ], - description='Rate of UDP errors.' - ) - + panel.standardOptions.withUnit('err/s'), - - networkNetstatICMP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'ICMP messages', - targets=[ - t.networkNetstatICMPInPerSec, - t.networkNetstatICMPOutPerSec, - t.networkNetstatICMP6InPerSec, - t.networkNetstatICMP6OutPerSec, - ], - description="Rate of ICMP messages, like 'ping', received and transmitted." - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('msg/s'), - - networkNetstatICMPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='ICMP errors rate', - targets=[ - t.networkNetstatICMPInErrorsPerSec, - t.networkNetstatICM6PInErrorsPerSec, - ], - description='Rate of ICMP messages received and transmitted with errors.' - ) - + panel.standardOptions.withUnit('err/s'), - - hardwareTemperature: - commonlib.panels.hardware.timeSeries.temperature.new( - 'Temperature', - targets=[t.hardwareTemperature] - ), - }, -} diff --git a/docs/node-observ-lib/linux/panels/cpu.libsonnet b/docs/node-observ-lib/linux/panels/cpu.libsonnet new file mode 100644 index 0000000000..5dea094a6c --- /dev/null +++ b/docs/node-observ-lib/linux/panels/cpu.libsonnet @@ -0,0 +1,38 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), + cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) + + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), + + cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='CPU usage', + target=t.cpuUsage, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), + cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( + targets=[t.cpuUsageByMode], + description=||| + - System: Processes executing in kernel mode. + - User: Normal processes executing in user mode. + - Nice: Niced processes executing in user mode. + - Idle: Waiting for something to happen. + - Iowait: Waiting for I/O to complete. + - Irq: Servicing interrupts. + - Softirq: Servicing softirqs. + - Steal: Time spent in other operating systems when running in a virtualized environment. + ||| + ), + }, +} diff --git a/docs/node-observ-lib/linux/panels/disk.libsonnet b/docs/node-observ-lib/linux/panels/disk.libsonnet new file mode 100644 index 0000000000..27a7fc0796 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/disk.libsonnet @@ -0,0 +1,121 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + diskTotalRoot: + commonlib.panels.disk.stat.total.new( + 'Root mount size', + targets=[t.diskTotalRoot], + description=||| + Total capacity on the primary mount point /. + ||| + ), + diskUsage: + commonlib.panels.disk.table.usage.new( + totalTarget= + ( + t.diskTotal + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + ), + freeTarget= + t.diskFree + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true), + groupLabel='mountpoint' + , + description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.' + ), + diskFreeTs: + commonlib.panels.disk.timeSeries.available.new( + 'Filesystem space availabe', + targets=[ + t.diskFree, + ], + description='Filesystem space utilisation in bytes, by mountpoint.' + ), + diskInodesFree: + commonlib.panels.disk.timeSeries.base.new( + 'Free inodes', + targets=[t.diskInodesFree], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskInodesTotal: + commonlib.panels.disk.timeSeries.base.new( + 'Total inodes', + targets=[t.diskInodesTotal], + description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', + ) + + g.panel.timeSeries.standardOptions.withUnit('short'), + diskErrorsandRO: + commonlib.panels.disk.timeSeries.base.new( + 'Filesystems with errors / read-only', + targets=[ + t.diskDeviceError, + t.diskReadOnly, + ], + description='', + ) + + g.panel.timeSeries.standardOptions.withMax(1), + fileDescriptors: + commonlib.panels.disk.timeSeries.base.new( + 'File descriptors', + targets=[ + t.processMaxFds, + t.processOpenFds, + ], + description=||| + File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. + The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. + ||| + ), + diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk space usage', + target=t.diskUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( + targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] + ), + diskIOutilPercentTopK: + commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Disk IO', + target=t.diskIOutilization, + topk=25, + instanceLabels=this.config.instanceLabels + ['volume'], + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + diskIOps: + commonlib.panels.disk.timeSeries.iops.new( + targets=[ + t.diskIOReads, + t.diskIOWrites, + ] + ), + + diskQueue: + commonlib.panels.disk.timeSeries.ioQueue.new( + 'Disk average queue', + targets= + [ + t.diskAvgQueueSize, + ] + ), + diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( + targets=[ + t.diskIOWaitReadTime, + t.diskIOWaitWriteTime, + ] + ), + }, +} diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-observ-lib/linux/panels/fleet.libsonnet new file mode 100644 index 0000000000..e8642ead2a --- /dev/null +++ b/docs/node-observ-lib/linux/panels/fleet.libsonnet @@ -0,0 +1,215 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + fleetOverviewTable: + commonlib.panels.generic.table.base.new( + 'Fleet overview', + targets= + [ + t.osInfoCombined + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('OS Info'), + t.uptime + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Uptime'), + t.systemLoad1 + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Load 1'), + t.cpuCount + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Cores'), + t.cpuUsage + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CPU usage'), + t.memoryTotalBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory total'), + t.memoryUsagePercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Memory usage'), + t.diskTotalRoot + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount size'), + t.diskUsageRootPercent + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Root mount used'), + t.alertsCritical + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('CRITICAL'), + t.alertsWarning + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('WARNING'), + ], + description="All nodes' perfomance at a glance." + ) + + g.panel.table.options.withFooter( + value={ + reducer: ['sum'], + show: true, + fields: [ + 'Value #Cores', + 'Value #Load 1', + 'Value #Memory total', + 'Value #Root mount size', + ], + } + ) + + commonlib.panels.system.table.uptime.stylizeByName('Uptime') + + table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Product|^Hostname$') + + fieldOverride.byRegexp.withProperty('custom.filterable', true), + fieldOverride.byName.new('Instance') + + fieldOverride.byName.withProperty('custom.filterable', true) + + fieldOverride.byName.withProperty('links', [ + { + targetBlank: false, + title: 'Drill down to ${__field.name} ${__value.text}', + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], + }, + ]), + fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) + + fieldOverride.byRegexp.withProperty('custom.filterable', true) + + fieldOverride.byRegexp.withProperty('links', [ + { + targetBlank: false, + title: 'Filter by ${__field.name}', + url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.fleet.uid], + }, + ]), + fieldOverride.byName.new('Cores') + + fieldOverride.byName.withProperty('custom.width', '120'), + fieldOverride.byName.new('CPU usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Memory total') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Memory usage') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + fieldOverride.byName.new('Root mount size') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bytes') + ), + fieldOverride.byName.new('Root mount used') + + fieldOverride.byName.withProperty('custom.width', '120') + + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('percent') + ) + + fieldOverride.byName.withPropertiesFromOptions( + commonlib.panels.cpu.timeSeries.utilization.stylize() + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: instanceLabel, + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + //' 1' - would only match first occurence of group label, so no duplicates + pattern: instanceLabel + '|' + + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.instanceLabels + ) + ) + + '|' + + std.join( + '|', + std.map( + function(x) '%s 1' % x, this.config.groupLabels + ) + ) + + '|product|^hostname$|^nodename$|^pretty_name$|Value.+', + }, + }, + }, + { + id: 'organize', + options: { + excludeByName: { + 'Value #OS Info': true, + }, + indexByName: + { + [instanceLabel]: 0, + nodename: 1, + hostname: 1, + pretty_name: 2, + product: 2, + } + + + // group labels are named as 'job 1' and so on. + { + [label]: 3 + for label in this.config.groupLabels + }, + renameByName: + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.instanceLabels + } + { + [instanceLabel]: utils.toSentenceCase(instanceLabel), + product: 'OS', // windows + pretty_name: 'OS', // linux + hostname: 'Hostname', // windows + nodename: 'Hostname', // Linux + } + + + // group labels are named as 'job 1' and so on. + { + [label + ' 1']: utils.toSentenceCase(label) + for label in this.config.groupLabels + }, + + }, + }, + { + id: 'renameByRegex', + options: { + regex: 'Value #(.*)', + renamePattern: '$1', + }, + }, + ] + ), + }, +} diff --git a/docs/node-observ-lib/linux/panels/hardware.libsonnet b/docs/node-observ-lib/linux/panels/hardware.libsonnet new file mode 100644 index 0000000000..12cf7c83b3 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/hardware.libsonnet @@ -0,0 +1,17 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + hardwareTemperature: + commonlib.panels.hardware.timeSeries.temperature.new( + 'Temperature', + targets=[t.hardwareTemperature] + ), + }, +} diff --git a/docs/node-observ-lib/linux/panels/main.libsonnet b/docs/node-observ-lib/linux/panels/main.libsonnet new file mode 100644 index 0000000000..93ef27e3e9 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/main.libsonnet @@ -0,0 +1,12 @@ +{ + new(config):: { + panels: (import './panels.libsonnet').new(config), + cpu: (import './cpu.libsonnet').new(config), + disk: (import './disk.libsonnet').new(config), + fleet: (import './fleet.libsonnet').new(config), + hardware: (import './hardware.libsonnet').new(config), + memory: (import './memory.libsonnet').new(config), + network: (import './network.libsonnet').new(config), + system: (import './system.libsonnet').new(config), + }, +} diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-observ-lib/linux/panels/memory.libsonnet new file mode 100644 index 0000000000..becb5f3fba --- /dev/null +++ b/docs/node-observ-lib/linux/panels/memory.libsonnet @@ -0,0 +1,278 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), + memorySwapTotalBytes: + commonlib.panels.memory.stat.total.new( + 'Total swap', + targets=[t.memorySwapTotal], + description=||| + Total swap available. + + Swap is a space on a storage device (usually a dedicated swap partition or a swap file) + used as virtual memory when the physical RAM (random-access memory) is fully utilized. + Swap space helps prevent memory-related performance issues by temporarily transferring less-used data from RAM to disk, + freeing up physical memory for active processes and applications. + ||| + ), + memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), + memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( + title='Memory usage', + target=t.memoryUsagePercent, + topk=25, + instanceLabels=this.config.instanceLabels, + drillDownDashboardUid=this.grafana.dashboards.overview.uid, + ), + memoryUsageTsBytes: + commonlib.panels.memory.timeSeries.usageBytes.new( + targets=[ + t.memoryUsedBytes, + t.memoryCachedBytes, + t.memoryAvailableBytes, + t.memoryBuffersBytes, + t.memoryFreeBytes, + t.memoryTotalBytes, + ], + description= + ||| + - Used: The amount of physical memory currently in use by the system. + - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. + - Free: The amount of physical memory that is currently not in use. + - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. + - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. + ||| + ) + + g.panel.timeSeries.standardOptions.withOverridesMixin( + { + __systemRef: 'hideSeriesFrom', + matcher: { + id: 'byNames', + options: { + mode: 'exclude', + names: [ + t.memoryTotalBytes.legendFormat, + t.memoryUsedBytes.legendFormat, + ], + prefix: 'All except:', + readOnly: true, + }, + }, + properties: [ + { + id: 'custom.hideFrom', + value: { + viz: true, + legend: false, + tooltip: false, + }, + }, + ], + } + ), + + memoryPagesInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages in / out', + targets=[t.memoryPagesIn, t.memoryPagesOut], + description=||| + Page-In - Return of pages to physical memory. This is a common and normal event. + + Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. + When the kernel detects low memory, it attempts to free memory by paging out. + While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. + Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesSwapInOut: + commonlib.panels.memory.timeSeries.base.new( + 'Memory pages swapping in / out', + targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], + description=||| + Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. + Nonetheless, it is a preferable option to crashing or killing off processes. + + The process of writing pages out to disk to free memory is known as swapping-out. + If a page fault occurs because the page is on disk, in the swap area, rather than in memory, + the kernel will read the page back in from the disk to satisfy the page fault. + This is known as swapping-in. + ||| + ) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), + + memoryPagesFaults: + commonlib.panels.memory.timeSeries.base.new( + 'Memory page faults', + targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], + description=||| + A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, + requiring a mapping to be added to the process's virtual address space. + + The page contents may also need to be loaded from a backing store such as a disk. + While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. + Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. + |||, + ), + + memoryOOMkiller: + commonlib.panels.memory.timeSeries.base.new( + 'OOM Killer', + targets=[t.memoryOOMkiller], + description=||| + Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. + + This can happen when the kernel has allocated more memory than is available for its processes. + ||| + ), + + memoryActiveInactive: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive', + targets=[t.memoryActiveBytes, t.memoryInactiveBytes], + description=||| + - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. + - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. + |||, + ), + + memoryActiveInactiveDetail: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory active / inactive details', + targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], + description=||| + - Inactive_file: File-backed memory on inactive LRU list. + - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). + - Active_file: File-backed memory on active LRU list. + - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. + |||, + ), + + memoryCommited: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory commited', + targets=[t.memoryCommitedAs, t.memoryCommitedLimit], + description=||| + - Committed_AS - Amount of memory presently allocated on the system. + - CommitLimit - Amount of memory currently available to be allocated on the system. + ||| + ), + + memorySharedAndMapped: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory shared and mapped', + targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], + description=||| + - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. + - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. + - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. + - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. + ||| + ), + memoryWriteAndDirty: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory writeback and dirty', + targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], + description=||| + - Writeback: This refers to the memory that is currently being actively written back to the disk. + - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. + - Dirty: This type of memory is waiting to be written back to the disk. + ||| + ), + memoryVmalloc: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory Vmalloc', + targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], + description=||| + Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. + + - VmallocChunk: Largest contiguous block of vmalloc area which is free. + - VmallocTotal: Total size of vmalloc memory area. + - VmallocUsed: Amount of vmalloc area which is used. + ||| + ), + memorySlab: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], + description=||| + Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. + + The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. + + - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. + - SReclaimable: Part of Slab, that might be reclaimed, such as caches. + ||| + ), + memoryAnonymous: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory slab', + targets=[t.memoryAnonHugePages, t.memoryAnonPages], + description=||| + Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. + + This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. + + Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, + and from Memory Shared with other processes, + which refers to memory regions that can be accessed and modified by multiple processes. + + - AnonHugePages: Memory in anonymous huge pages. + - AnonPages: Memory in user pages not backed by files. + ||| + ), + + memoryHugePagesCounter: + commonlib.panels.memory.timeSeries.base.new( + 'Memory HugePages counter', + targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], + description= + ||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + + - HugePages_Free: Huge pages in the pool that are not yet allocated. + - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. + - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. + ||| + ), + memoryHugePagesSize: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory HugePages size', + targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], + + description=||| + Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. + ||| + ), + + memoryDirectMap: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory direct map', + targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], + + description=||| + Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. + ||| + ), + memoryBounce: + commonlib.panels.memory.timeSeries.usageBytes.new( + 'Memory bounce', + targets=[t.memoryBounce], + description=||| + Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. + + To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. + + - Bounce: Memory used for block device bounce buffers. + ||| + ), + }, +} diff --git a/docs/node-observ-lib/linux/panels/network.libsonnet b/docs/node-observ-lib/linux/panels/network.libsonnet new file mode 100644 index 0000000000..c07012cdb8 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/network.libsonnet @@ -0,0 +1,475 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + networkErrorsAndDroppedPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=std.map( + function(t) t + { + expr: t.expr + '>0', + }, + [ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ] + ), + description=||| + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkErrorsAndDroppedPerSecTopK: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors and dropped packets', + targets=std.map( + function(t) t + { + expr: 'topk(25, ' + t.expr + ')>0', + legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), + }, + [ + t.networkOutErrorsPerSec, + t.networkInErrorsPerSec, + t.networkOutDroppedPerSec, + t.networkInDroppedPerSec, + ] + ), + description=||| + Top 25. + + **Network errors**: + + Network errors refer to issues that occur during the transmission of data across a network. + + These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. + + Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. + + **Dropped packets**: + + Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. + + Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. + + Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') + + g.panel.timeSeries.fieldConfig.defaults.custom.withPointSize(5), + + networkErrorsPerSec: + commonlib.panels.network.timeSeries.errors.new( + 'Network errors', + targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkDroppedPerSec: + commonlib.panels.network.timeSeries.dropped.new( + targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] + ) + + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), + networkUsagePerSec: + commonlib.panels.network.timeSeries.traffic.new( + targets=[t.networkInBitPerSecFiltered, t.networkOutBitPerSecFiltered] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkPacketsPerSec: + commonlib.panels.network.timeSeries.packets.new( + targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkMulticastPerSec: + commonlib.panels.network.timeSeries.multicast.new( + 'Multicast packets', + targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], + description='Multicast packets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + + networkFifo: + commonlib.panels.network.timeSeries.packets.new( + 'Network FIFO', + targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], + description=||| + Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. + It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. + Packets are stored in the FIFO buffer until they can be transmitted or processed further. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkCompressedPerSec: + commonlib.panels.network.timeSeries.packets.new( + 'Compressed packets', + targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], + description=||| + - Compressed received: + Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + - Compressed transmitted: + Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). + + https://docs.kernel.org/networking/statistics.html + |||, + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), + networkNFConntrack: + commonlib.panels.generic.timeSeries.base.new( + 'NF conntrack', + targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], + description=||| + NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, + enforce firewall rules, perform NAT, and manage network address/port translation. + ||| + ) + + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0), + + networkSoftnet: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet packets', + targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], + description=||| + Softnet packets are received by the network and queued for processing by the kernel's networking stack. + Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. + ||| + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets('/dropped/') + + g.panel.timeSeries.fieldConfig.defaults.custom.withAxisLabel('Dropped(-) | Processed(+)'), + networkSoftnetSqueeze: + commonlib.panels.network.timeSeries.packets.new( + 'Softnet out of quota', + targets=[t.networkSoftnetSqueezedPerSec], + description=||| + "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. + This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. + ||| + ), + networkOperStatus: + commonlib.panels.network.statusHistory.interfaceStatus.new( + 'Network interfaces carrier status', + targets=[t.networkCarrier], + description='Network interfaces carrier status', + ), + networkOverviewTable: + commonlib.panels.generic.table.base.new( + 'Network interfaces overview', + targets= + [ + t.networkUp + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Up'), + t.networkCarrier + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Carrier'), + t.networkOutBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Transmitted'), + t.networkInBitPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(false) + + g.query.prometheus.withRefId('Received'), + t.networkArpEntries + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('ARP entries'), + t.networkMtuBytes + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('MTU'), + t.networkSpeedBitsPerSec + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Speed'), + t.networkTransmitQueueLength + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Queue length'), + t.networkInfo + + g.query.prometheus.withFormat('table') + + g.query.prometheus.withInstant(true) + + g.query.prometheus.withRefId('Info'), + ], + description='Network interfaces overview.' + ) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byName.new('Speed') + + fieldOverride.byName.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Transmitted|Received') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withUnit('bps') + + table.standardOptions.color.withMode('continuous-BlYlRd') + + table.standardOptions.withMax(1000 * 1000 * 100) + ), + ]) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byRegexp.new('Carrier|Up') + + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') + + fieldOverride.byRegexp.withPropertiesFromOptions( + table.standardOptions.withMappings( + { + type: 'value', + options: { + '0': { + text: 'Down', + color: 'light-red', + index: 0, + }, + '1': { + text: 'Up', + color: 'light-green', + index: 1, + }, + }, + } + ), + ), + ]) + + table.queryOptions.withTransformationsMixin( + [ + { + id: 'joinByField', + options: { + byField: 'device', + mode: 'outer', + }, + }, + { + id: 'filterFieldsByName', + options: { + include: { + pattern: 'device|duplex|address|Value.+', + }, + }, + }, + { + id: 'renameByRegex', + options: { + regex: '(Value) #(.*)', + renamePattern: '$2', + }, + }, + { + id: 'organize', + options: { + excludeByName: { + Info: true, + }, + renameByName: + { + device: 'Interface', + duplex: 'Duplex', + address: 'Address', + }, + }, + }, + { + id: 'organize', + options: { + indexByName: { + Interface: 0, + Up: 1, + Carrier: 2, + Received: 3, + Transmitted: 4, + }, + }, + }, + ] + ), + networkSockstatAll: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets in use', + targets=[t.networkSocketsUsed], + description='Number of sockets currently in use.', + ), + + networkSockstatTCP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets TCP', + targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], + description=||| + TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. + + Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. + ||| + ), + networkSockstatUDP: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets UDP', + targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], + description=||| + UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. + Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. + ||| + ), + networkSockstatOther: + commonlib.panels.generic.timeSeries.base.new( + 'Sockets other', + targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], + description=||| + FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. + + RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. + ||| + ), + networkSockstatMemory: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.generic.timeSeries.base.new( + title='Sockets memory', + targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], + description=||| + Memory currently in use for sockets. + |||, + ) + + panel.queryOptions.withMaxDataPoints(100) + + panel.fieldConfig.defaults.custom.withAxisLabel('Pages') + + panel.standardOptions.withOverridesMixin( + panel.standardOptions.override.byRegexp.new('/bytes/') + + override.byType.withPropertiesFromOptions( + panel.standardOptions.withDecimals(2) + + panel.standardOptions.withUnit('bytes') + + panel.fieldConfig.defaults.custom.withDrawStyle('bars') + + panel.fieldConfig.defaults.custom.withStacking(value={ mode: 'normal', group: 'A' }) + + panel.fieldConfig.defaults.custom.withAxisLabel('Bytes') + ) + ), + + networkNetstatIP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'IP octets', + targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], + description='Rate of IP octets received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('oct/s'), + + networkNetstatTCP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'TCP segments', + targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], + description='Rate of TCP segments received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('seg/s'), + + networkNetstatTCPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='TCP errors rate', + targets=[ + t.networkNetstatTCPOverflowPerSec, + t.networkNetstatTCPListenDropsPerSec, + t.networkNetstatTCPRetransPerSec, + t.networkNetstatTCPRetransSegPerSec, + t.networkNetstatTCPInWithErrorsPerSec, + t.networkNetstatTCPOutWithRstPerSec, + ], + description='Rate of TCP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatUDP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'UDP datagrams', + targets=[ + t.networkNetstatIPInUDPPerSec, + t.networkNetstatIPOutUDPPerSec, + t.networkNetstatIPInUDP6PerSec, + t.networkNetstatIPOutUDP6PerSec, + ], + description='Rate of UDP datagrams received and transmitted.' + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('dat/s'), + + networkNetstatUDPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='UDP errors rate', + targets=[ + t.networkNetstatUDPLiteInErrorsPerSec, + t.networkNetstatUDPInErrorsPerSec, + t.networkNetstatUDP6InErrorsPerSec, + t.networkNetstatUDPNoPortsPerSec, + t.networkNetstatUDP6NoPortsPerSec, + t.networkNetstatUDPRcvBufErrsPerSec, + t.networkNetstatUDP6RcvBufErrsPerSec, + t.networkNetstatUDPSndBufErrsPerSec, + t.networkNetstatUDP6SndBufErrsPerSec, + ], + description='Rate of UDP errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + networkNetstatICMP: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.packets.new( + 'ICMP messages', + targets=[ + t.networkNetstatICMPInPerSec, + t.networkNetstatICMPOutPerSec, + t.networkNetstatICMP6InPerSec, + t.networkNetstatICMP6OutPerSec, + ], + description="Rate of ICMP messages, like 'ping', received and transmitted." + ) + + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() + + panel.standardOptions.withUnit('msg/s'), + + networkNetstatICMPerrors: + local panel = g.panel.timeSeries; + local override = g.panel.timeSeries.standardOptions.override; + commonlib.panels.network.timeSeries.errors.new( + title='ICMP errors rate', + targets=[ + t.networkNetstatICMPInErrorsPerSec, + t.networkNetstatICM6PInErrorsPerSec, + ], + description='Rate of ICMP messages received and transmitted with errors.' + ) + + panel.standardOptions.withUnit('err/s'), + + }, +} diff --git a/docs/node-observ-lib/linux/panels/system.libsonnet b/docs/node-observ-lib/linux/panels/system.libsonnet new file mode 100644 index 0000000000..8fff4348b7 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/system.libsonnet @@ -0,0 +1,81 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), + + systemLoad: + commonlib.panels.system.timeSeries.loadAverage.new( + loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], + cpuCountTarget=t.cpuCount, + ), + + systemContextSwitchesAndInterrupts: + commonlib.panels.generic.timeSeries.base.new( + 'Context switches/Interrupts', + targets=[ + t.systemContextSwitches, + t.systemInterrupts, + ], + description=||| + Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. + + A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. + ||| + ), + + timeNtpStatus: + commonlib.panels.system.statusHistory.ntp.new( + 'NTP status', + targets=[t.timeNtpStatus], + description='Status of time synchronization.' + ) + + g.panel.timeSeries.standardOptions.withNoValue('No data.') + + g.panel.statusHistory.options.withLegend(false), + timeSyncDrift: + commonlib.panels.generic.timeSeries.base.new( + 'Time synchronized drift', + targets=[ + t.timeEstimatedError, + t.timeOffset, + t.timeMaxError, + ], + description=||| + Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. + ||| + ) + + g.panel.timeSeries.standardOptions.withUnit('seconds') + + g.panel.timeSeries.standardOptions.withNoValue('No data.'), + osInfo: commonlib.panels.generic.stat.info.new( + 'OS', + targets=[t.osInfo], + description='Operating system' + ) + { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, + kernelVersion: + commonlib.panels.generic.stat.info.new('Kernel version', + targets=[t.unameInfo], + description='Kernel version of linux host.') + { options+: { reduceOptions+: { fields: '/^release$/' } } }, + osTimezone: + commonlib.panels.generic.stat.info.new( + 'Timezone', targets=[t.osTimezone], description='Current system timezone.' + ) + { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, + hostname: + commonlib.panels.generic.stat.info.new( + 'Hostname', + targets=[t.unameInfo], + description="System's hostname." + ) + { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, + + }, +} From b6c5d1bfc1f35e8410bf2fb77f56dc5c1516aa06 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:14:08 +0000 Subject: [PATCH 010/151] Drop old files Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/README.md | 163 --- docs/node-observ-lib/alerts.libsonnet | 420 -------- docs/node-observ-lib/annotations.libsonnet | 69 -- docs/node-observ-lib/config.libsonnet | 103 -- docs/node-observ-lib/dashboards.libsonnet | 232 ---- docs/node-observ-lib/links.libsonnet | 19 - docs/node-observ-lib/main.libsonnet | 39 - docs/node-observ-lib/panels.libsonnet | 1136 -------------------- docs/node-observ-lib/rules.libsonnet | 119 -- docs/node-observ-lib/targets.libsonnet | 1111 ------------------- docs/node-observ-lib/variables.libsonnet | 71 -- 11 files changed, 3482 deletions(-) delete mode 100644 docs/node-observ-lib/README.md delete mode 100644 docs/node-observ-lib/alerts.libsonnet delete mode 100644 docs/node-observ-lib/annotations.libsonnet delete mode 100644 docs/node-observ-lib/config.libsonnet delete mode 100644 docs/node-observ-lib/dashboards.libsonnet delete mode 100644 docs/node-observ-lib/links.libsonnet delete mode 100644 docs/node-observ-lib/main.libsonnet delete mode 100644 docs/node-observ-lib/panels.libsonnet delete mode 100644 docs/node-observ-lib/rules.libsonnet delete mode 100644 docs/node-observ-lib/targets.libsonnet delete mode 100644 docs/node-observ-lib/variables.libsonnet diff --git a/docs/node-observ-lib/README.md b/docs/node-observ-lib/README.md deleted file mode 100644 index c190efc39d..0000000000 --- a/docs/node-observ-lib/README.md +++ /dev/null @@ -1,163 +0,0 @@ -# Node exporter observability lib - -This jsonnet observability lib can be used to generate observability package for node exporter. - -## Import - -```sh -jb init -jb install https://github.com/grafana/node_exporter/docs/node-observ-lib -``` - -## Examples - -### Example 1: Basic example - -You can use observ-lib to fill in monitoring-mixin structure: - -```jsonnet -// mixin.libsonnet file -local nodelib = import 'node-observ-lib/main.libsonnet'; - -local linux = - nodelib.new() - + nodelib.withConfigMixin({ - filteringSelector: 'job=~".*node.*"', - groupLabels: ['job'], - instanceLabels: ['instance'], - dashboardNamePrefix: 'Node exporter / ', - dashboardTags: ['node-exporter-mixin'], - uid: 'node', - // enable loki logs - enableLokiLogs: true, - }); - -{ - grafanaDashboards+:: linux.grafana.dashboards, - prometheusAlerts+:: linux.prometheus.alerts, - prometheusRules+:: linux.prometheus.recordingRules, -} - -``` - -### Example 2: Fill in monitoring-mixin with default config values and enable loki logs: - - -```jsonnet -// mixin.libsonnet file -local nodelib = import 'node-observ-lib/main.libsonnet'; - -local linux = - nodelib.new() - + nodelib.withConfigMixin({ - enableLokiLogs: true, - }); - -{ - grafanaDashboards+:: linux.grafana.dashboards, - prometheusAlerts+:: linux.prometheus.alerts, - prometheusRules+:: linux.prometheus.recordingRules, -} - -``` - -### Example 3: Override some of default config values from file: - - -```jsonnet -// overrides.libsonnet -{ - // Memory utilzation (%) level on which to trigger the - // 'NodeMemoryHighUtilization' alert. - memoryHighUtilizationThreshold: 80, - - // Threshold for the rate of memory major page faults to trigger - // 'NodeMemoryMajorPagesFaults' alert. - memoryMajorPagesFaultsThreshold: 1000, - - // Disk IO queue level above which to trigger - // 'NodeDiskIOSaturation' alert. - diskIOSaturationThreshold: 20, -} - -// mixin.libsonnet file -local configOverride = import './overrides.libsonnet'; -local nodelib = import 'node-observ-lib/main.libsonnet'; - -local linux = - nodelib.new() - + nodelib.withConfigMixin(configOverride); - -{ - grafanaDashboards+:: linux.grafana.dashboards, - prometheusAlerts+:: linux.prometheus.alerts, - prometheusRules+:: linux.prometheus.recordingRules, -} - -``` - -### Example 4: Modify specific panel before rendering dashboards - -```jsonnet -local g = import './g.libsonnet'; -// mixin.libsonnet file -local nodelib = import 'node-observ-lib/main.libsonnet'; - -local linux = - nodelib.new() - + nodelib.withConfigMixin({ - filteringSelector: 'job=~".*node.*"', - groupLabels: ['job'], - instanceLabels: ['instance'], - dashboardNamePrefix: 'Node exporter / ', - dashboardTags: ['node-exporter-mixin'], - uid: 'node', - }) - + { - grafana+: { - panels+: { - networkSockstatAll+: - + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('bars') - } - } - }; - -{ - grafanaDashboards+:: linux.grafana.dashboards, - prometheusAlerts+:: linux.prometheus.alerts, - prometheusRules+:: linux.prometheus.recordingRules, -} - -``` - -## Collectors used: - -Grafana Agent or combination of node_exporter/promtail can be used in order to collect data required. - -### Logs collection - -Loki logs are used to populate logs dashboard and also for annotations. - -To use logs, you need to opt-in, with setting `enableLokiLogs: true` in config. - -See example above. - -The following scrape snippet can be used in grafana-agent/promtail: - -```yaml - - job_name: integrations/node_exporter_journal_scrape - journal: - max_age: 24h - labels: - instance: '' - job: integrations/node_exporter - relabel_configs: - - source_labels: ['__journal__systemd_unit'] - target_label: 'unit' - - source_labels: ['__journal__boot_id'] - target_label: 'boot_id' - - source_labels: ['__journal__transport'] - target_label: 'transport' - - source_labels: ['__journal_priority_keyword'] - target_label: 'level' -``` diff --git a/docs/node-observ-lib/alerts.libsonnet b/docs/node-observ-lib/alerts.libsonnet deleted file mode 100644 index 38acc18354..0000000000 --- a/docs/node-observ-lib/alerts.libsonnet +++ /dev/null @@ -1,420 +0,0 @@ -{ - new(this): { - groups: [ - { - name: if this.config.uid == 'node' then 'node-exporter-filesystem' else this.config.uid + '-linux-filesystem-alerts', - rules: [ - { - alert: 'NodeFilesystemSpaceFillingUp', - expr: ||| - ( - node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpWarningThreshold)d - and - predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem is predicted to run out of space within the next 24 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.', - }, - }, - { - alert: 'NodeFilesystemSpaceFillingUp', - expr: ||| - ( - node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpCriticalThreshold)d - and - predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % this.config, - }, - annotations: { - summary: 'Filesystem is predicted to run out of space within the next 4 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfSpace', - expr: ||| - ( - node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableWarningThreshold)d - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '30m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem has less than %(fsSpaceAvailableWarningThreshold)d%% space left.' % this.config, - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfSpace', - expr: ||| - ( - node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableCriticalThreshold)d - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '30m', - labels: { - severity: '%(nodeCriticalSeverity)s' % this.config, - }, - annotations: { - summary: 'Filesystem has less than %(fsSpaceAvailableCriticalThreshold)d%% space left.' % this.config, - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', - }, - }, - { - alert: 'NodeFilesystemFilesFillingUp', - expr: ||| - ( - node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 40 - and - predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem is predicted to run out of inodes within the next 24 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.', - }, - }, - { - alert: 'NodeFilesystemFilesFillingUp', - expr: ||| - ( - node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 20 - and - predict_linear(node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % this.config, - }, - annotations: { - summary: 'Filesystem is predicted to run out of inodes within the next 4 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfFiles', - expr: ||| - ( - node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 5 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem has less than 5% inodes left.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfFiles', - expr: ||| - ( - node_filesystem_files_free{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 3 - and - node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % this.config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % this.config, - }, - annotations: { - summary: 'Filesystem has less than 3% inodes left.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', - }, - }, - ], - }, - { - // defaults to 'node-exporter for backward compatibility with old node-mixin - name: if this.config.uid == 'node' then 'node-exporter' else this.config.uid + '-linux-alerts', - rules: [ - { - alert: 'NodeNetworkReceiveErrs', - expr: ||| - rate(node_network_receive_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_receive_packets_total{%(filteringSelector)s}[2m]) > 0.01 - ||| % this.config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Network interface is reporting many receive errors.', - description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.', - }, - }, - { - alert: 'NodeNetworkTransmitErrs', - expr: ||| - rate(node_network_transmit_errs_total{%(filteringSelector)s}[2m]) / rate(node_network_transmit_packets_total{%(filteringSelector)s}[2m]) > 0.01 - ||| % this.config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Network interface is reporting many transmit errors.', - description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.', - }, - }, - { - alert: 'NodeHighNumberConntrackEntriesUsed', - expr: ||| - (node_nf_conntrack_entries{%(filteringSelector)s} / node_nf_conntrack_entries_limit) > 0.75 - ||| % this.config, - annotations: { - summary: 'Number of conntrack are getting close to the limit.', - description: '{{ $value | humanizePercentage }} of conntrack entries are used.', - }, - labels: { - severity: 'warning', - }, - }, - { - alert: 'NodeTextFileCollectorScrapeError', - expr: ||| - node_textfile_scrape_error{%(filteringSelector)s} == 1 - ||| % this.config, - annotations: { - summary: 'Node Exporter text file collector failed to scrape.', - description: 'Node Exporter text file collector on {{ $labels.instance }} failed to scrape.', - }, - labels: { - severity: 'warning', - }, - }, - { - alert: 'NodeClockSkewDetected', - expr: ||| - ( - node_timex_offset_seconds{%(filteringSelector)s} > 0.05 - and - deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) >= 0 - ) - or - ( - node_timex_offset_seconds{%(filteringSelector)s} < -0.05 - and - deriv(node_timex_offset_seconds{%(filteringSelector)s}[5m]) <= 0 - ) - ||| % this.config, - 'for': '10m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Clock skew detected.', - description: 'Clock at {{ $labels.instance }} is out of sync by more than 0.05s. Ensure NTP is configured correctly on this host.', - }, - }, - { - alert: 'NodeClockNotSynchronising', - expr: ||| - min_over_time(node_timex_sync_status{%(filteringSelector)s}[5m]) == 0 - and - node_timex_maxerror_seconds{%(filteringSelector)s} >= 16 - ||| % this.config, - 'for': '10m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Clock not synchronising.', - description: 'Clock at {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.', - }, - }, - { - alert: 'NodeRAIDDegraded', - expr: ||| - node_md_disks_required{%(filteringSelector)s,%(diskDeviceSelector)s} - ignoring (state) (node_md_disks{state="active",%(filteringSelector)s,%(diskDeviceSelector)s}) > 0 - ||| % this.config, - 'for': '15m', - labels: { - severity: 'critical', - }, - annotations: { - summary: 'RAID Array is degraded.', - description: "RAID array '{{ $labels.device }}' at {{ $labels.instance }} is in degraded state due to one or more disks failures. Number of spare drives is insufficient to fix issue automatically.", - }, - }, - { - alert: 'NodeRAIDDiskFailure', - expr: ||| - node_md_disks{state="failed",%(filteringSelector)s,%(diskDeviceSelector)s} > 0 - ||| % this.config, - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Failed device in RAID array.', - description: "At least one device in RAID array at {{ $labels.instance }} failed. Array '{{ $labels.device }}' needs attention and possibly a disk swap.", - }, - }, - { - alert: 'NodeFileDescriptorLimit', - expr: ||| - ( - node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 70 - ) - ||| % this.config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Kernel is predicted to exhaust file descriptors limit soon.', - description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', - }, - }, - { - alert: 'NodeFileDescriptorLimit', - expr: ||| - ( - node_filefd_allocated{%(filteringSelector)s} * 100 / node_filefd_maximum{%(filteringSelector)s} > 90 - ) - ||| % this.config, - 'for': '15m', - labels: { - severity: 'critical', - }, - annotations: { - summary: 'Kernel is predicted to exhaust file descriptors limit soon.', - description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', - }, - }, - { - alert: 'NodeCPUHighUsage', - expr: ||| - sum without(mode) (avg without (cpu) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode!="idle"}[2m]))) * 100 > %(cpuHighUsageThreshold)d - ||| % this.config, - 'for': '15m', - labels: { - severity: 'info', - }, - annotations: { - summary: 'High CPU usage.', - description: ||| - CPU usage at {{ $labels.instance }} has been above %(cpuHighUsageThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. - ||| % this.config, - }, - }, - { - alert: 'NodeSystemSaturation', - expr: ||| - node_load1{%(filteringSelector)s} - / count without (cpu, mode) (node_cpu_seconds_total{%(filteringSelector)s, mode="idle"}) > %(systemSaturationPerCoreThreshold)d - ||| % this.config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'System saturated, load per core is very high.', - description: ||| - System load per core at {{ $labels.instance }} has been above %(systemSaturationPerCoreThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. - This might indicate this instance resources saturation and can cause it becoming unresponsive. - ||| % this.config, - }, - }, - { - alert: 'NodeMemoryMajorPagesFaults', - expr: ||| - rate(node_vmstat_pgmajfault{%(filteringSelector)s}[5m]) > %(memoryMajorPagesFaultsThreshold)d - ||| % this.config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Memory major page faults are occurring at very high rate.', - description: ||| - Memory major pages are occurring at very high rate at {{ $labels.instance }}, %(memoryMajorPagesFaultsThreshold)d major page faults per second for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. - Please check that there is enough memory available at this instance. - ||| % this.config, - }, - }, - { - alert: 'NodeMemoryHighUtilization', - expr: ||| - 100 - (node_memory_MemAvailable_bytes{%(filteringSelector)s} / node_memory_MemTotal_bytes{%(filteringSelector)s} * 100) > %(memoryHighUtilizationThreshold)d - ||| % this.config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Host is running out of memory.', - description: ||| - Memory is filling up at {{ $labels.instance }}, has been above %(memoryHighUtilizationThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. - ||| % this.config, - }, - }, - { - alert: 'NodeDiskIOSaturation', - expr: ||| - rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[5m]) > %(diskIOSaturationThreshold)d - ||| % this.config, - 'for': '30m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Disk IO queue is high.', - description: ||| - Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 30 minutes, is currently at {{ printf "%%.2f" $value }}. - This symptom might indicate disk saturation. - ||| % this.config, - }, - }, - { - alert: 'NodeSystemdServiceFailed', - expr: ||| - node_systemd_unit_state{%(filteringSelector)s, state="failed"} == 1 - ||| % this.config, - 'for': '5m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Systemd service has entered failed state.', - description: 'Systemd service {{ $labels.name }} has entered failed state at {{ $labels.instance }}', - }, - }, - ], - }, - ], - }, -} diff --git a/docs/node-observ-lib/annotations.libsonnet b/docs/node-observ-lib/annotations.libsonnet deleted file mode 100644 index 3d1f58b771..0000000000 --- a/docs/node-observ-lib/annotations.libsonnet +++ /dev/null @@ -1,69 +0,0 @@ -local g = import './g.libsonnet'; -local commonlib = import 'common-lib/common/main.libsonnet'; -{ - new(this): - { - reboot: - commonlib.annotations.reboot.new( - title='Reboot', - target=this.grafana.targets.reboot, - instanceLabels=std.join(',', this.config.instanceLabels), - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)), - memoryOOM: - commonlib.annotations.base.new( - 'OOMkill', - this.grafana.targets.memoryOOMkiller - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) - + commonlib.annotations.base.withTextFormat('') - { - hide: true, - iconColor: 'light-purple', - }, - kernelUpdate: - commonlib.annotations.base.new( - 'Kernel update', - this.grafana.targets.kernelUpdate - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) - + commonlib.annotations.base.withTextFormat('') - { - hide: true, - iconColor: 'light-blue', - step: '5m', - }, - } - + - if - this.config.enableLokiLogs - then - { - serviceFailed: commonlib.annotations.serviceFailed.new( - title='Service failed', - target=this.grafana.targets.serviceFailed, - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), - criticalEvents: commonlib.annotations.fatal.new( - title='Critical system event', - target=this.grafana.targets.criticalEvents, - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), - sessionOpened: - commonlib.annotations.base.new( - title='Session opened', - target=this.grafana.targets.sessionOpened, - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) - { hide: true }, - sessionClosed: - commonlib.annotations.base.new( - title='Session closed', - target=this.grafana.targets.sessionOpened, - ) - + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) - { hide: true }, - } - else - {}, -} diff --git a/docs/node-observ-lib/config.libsonnet b/docs/node-observ-lib/config.libsonnet deleted file mode 100644 index 2a1f88fda9..0000000000 --- a/docs/node-observ-lib/config.libsonnet +++ /dev/null @@ -1,103 +0,0 @@ -{ - - // any modular observability library should inlcude as inputs: - // 'dashboardNamePrefix' - Use as prefix for all Dashboards and (optional) rule groups - // 'filteringSelector' - Static selector to apply to ALL dashboard variables of type query, panel queries, alerts and recording rules. - // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. - // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. - // 'uid' - UID to prefix all dashboards original uids - - filteringSelector: std.get(self, 'nodeExporterSelector', default='"job="node"'), - groupLabels: ['job'], - instanceLabels: ['instance'], - dashboardNamePrefix: 'Node exporter / ', - uid: 'node', - - dashboardTags: [self.uid], - - // Select the fstype for filesystem-related queries. If left - // empty, all filesystems are selected. If you have unusual - // filesystem you don't want to include in dashboards and - // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. - fsSelector: 'fstype!=""', - - // Select the mountpoint for filesystem-related queries. If left - // empty, all mountpoints are selected. For example if you have a - // special purpose tmpfs instance that has a fixed size and will - // always be 100% full, but you still want alerts and dashboards for - // other tmpfs instances, you can exclude those by mountpoint prefix - // like so: 'mountpoint!~"/var/lib/foo.*"'. - fsMountpointSelector: 'mountpoint!=""', - - // Select the device for disk-related queries. If left empty, all - // devices are selected. If you have unusual devices you don't - // want to include in dashboards and alerting, you can exclude - // them here, e.g. 'device!="tmpfs"'. - diskDeviceSelector: 'device!=""', - - // Some of the alerts are meant to fire if a criticadiskDeviceSelector failure of a - // node is imminent (e.g. the disk is about to run full). In a - // true “cloud native” setup, failures of a single node should be - // tolerated. Hence, even imminent failure of a single node is no - // reason to create a paging alert. However, in practice there are - // still many situations where operators like to get paged in time - // before a node runs out of disk space. nodeCriticalSeverity can - // be set to the desired severity for this kind of alerts. This - // can even be templated to depend on labels of the node, e.g. you - // could make this critical for traditional database masters but - // just a warning for K8s nodes. - nodeCriticalSeverity: 'critical', - - // CPU utilization (%) on which to trigger the - // 'NodeCPUHighUsage' alert. - cpuHighUsageThreshold: 90, - // Load average 1m (per core) on which to trigger the - // 'NodeSystemSaturation' alert. - systemSaturationPerCoreThreshold: 2, - - // Available disk space (%) thresholds on which to trigger the - // 'NodeFilesystemSpaceFillingUp' alerts. These alerts fire if the disk - // usage grows in a way that it is predicted to run out in 4h or 1d - // and if the provided thresholds have been reached right now. - // In some cases you'll want to adjust these, e.g. by default Kubernetes - // runs the image garbage collection when the disk usage reaches 85% - // of its available space. In that case, you'll want to reduce the - // critical threshold below to something like 14 or 15, otherwise - // the alert could fire under normal node usage. - fsSpaceFillingUpWarningThreshold: 40, - fsSpaceFillingUpCriticalThreshold: 20, - - // Available disk space (%) thresholds on which to trigger the - // 'NodeFilesystemAlmostOutOfSpace' alerts. - fsSpaceAvailableWarningThreshold: 5, - fsSpaceAvailableCriticalThreshold: 3, - - // Memory utilization (%) level on which to trigger the - // 'NodeMemoryHighUtilization' alert. - memoryHighUtilizationThreshold: 90, - - // Threshold for the rate of memory major page faults to trigger - // 'NodeMemoryMajorPagesFaults' alert. - memoryMajorPagesFaultsThreshold: 500, - - // Disk IO queue level above which to trigger - // 'NodeDiskIOSaturation' alert. - diskIOSaturationThreshold: 10, - - rateInterval: '5m', - - dashboardPeriod: 'now-1h', - dashboardTimezone: 'default', - dashboardRefresh: '1m', - // logs lib related - enableLokiLogs: false, - extraLogLabels: ['transport', 'unit', 'level'], - logsVolumeGroupBy: 'level', - showLogsVolume: true, - logsFilteringSelector: self.filteringSelector, - logsExtraFilters: - ||| - | label_format timestamp="{{__timestamp__}}" - | line_format `{{ if eq "[[instance]]" ".*" }}{{alignLeft 25 .instance}}|{{alignLeft 25 .unit}}|{{else}}{{alignLeft 25 .unit}}|{{end}} {{__line__}}` - |||, -} diff --git a/docs/node-observ-lib/dashboards.libsonnet b/docs/node-observ-lib/dashboards.libsonnet deleted file mode 100644 index 20ca3c1945..0000000000 --- a/docs/node-observ-lib/dashboards.libsonnet +++ /dev/null @@ -1,232 +0,0 @@ -local g = import '../g.libsonnet'; -local logslib = import 'logs-lib/logs/main.libsonnet'; -{ - local root = self, - new(this): - local prefix = this.config.dashboardNamePrefix; - local links = this.grafana.links; - local tags = this.config.dashboardTags; - local uid = g.util.string.slugify(this.config.uid); - local vars = this.grafana.variables; - local annotations = this.grafana.annotations; - local refresh = this.config.dashboardRefresh; - local period = this.config.dashboardPeriod; - local timezone = this.config.dashboardTimezone; - local panels = this.grafana.panels; - local stat = g.panel.stat; - { - 'fleet.json': - local title = prefix + 'fleet overview'; - g.dashboard.new(title) - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - // g.panel.row.new("Overview"), - panels.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, - panels.cpuUsageTopk { gridPos+: { w: 24 } }, - panels.memotyUsageTopKPercent { gridPos+: { w: 24 } }, - panels.diskIOutilPercentTopK { gridPos+: { w: 12 } }, - panels.diskUsagePercentTopK { gridPos+: { w: 12 } }, - panels.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, - ], 12, 7 - ) - ) - // hide link to self - + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), - 'overview.json': - g.dashboard.new(prefix + 'overview') - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Overview'), - panels.uptime, - panels.hostname, - panels.kernelVersion, - panels.osInfo, - panels.cpuCount, - panels.memoryTotalBytes, - panels.memorySwapTotalBytes, - panels.diskTotalRoot, - g.panel.row.new('CPU'), - panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, - panels.systemLoad { gridPos+: { w: 6, h: 6 } }, - g.panel.row.new('Memory'), - panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, - g.panel.row.new('Disk'), - panels.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, - panels.diskUsage { gridPos+: { w: 12, h: 8 } }, - g.panel.row.new('Network'), - panels.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, - panels.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, - ] - + - if this.config.enableHardware then - [ - g.panel.row.new('Hardware'), - panels.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, - ] else [] - , 6, 2 - ) - ) - // defaults to uid=nodes for backward compatibility with old node-mixins - + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), - 'network.json': - g.dashboard.new(prefix + 'network') - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Network'), - panels.networkOverviewTable { gridPos: { w: 24 } }, - panels.networkUsagePerSec, - panels.networkOperStatus, - panels.networkErrorsPerSec, - panels.networkDroppedPerSec, - panels.networkPacketsPerSec, - panels.networkMulticastPerSec, - panels.networkFifo, - panels.networkCompressedPerSec, - panels.networkNFConntrack, - panels.networkSoftnet, - panels.networkSoftnetSqueeze, - g.panel.row.new('Network sockets'), - panels.networkSockstatAll { gridPos: { w: 24 } }, - panels.networkSockstatTCP, - panels.networkSockstatUDP, - panels.networkSockstatMemory, - panels.networkSockstatOther, - g.panel.row.new('Network netstat'), - panels.networkNetstatIP { gridPos: { w: 24 } }, - panels.networkNetstatTCP, - panels.networkNetstatTCPerrors, - panels.networkNetstatUDP, - panels.networkNetstatUDPerrors, - panels.networkNetstatICMP, - panels.networkNetstatICMPerrors, - ], 12, 8 - ) - ) - + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), - 'memory.json': - g.dashboard.new(prefix + 'memory') - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - panels.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, - g.panel.row.new('Vmstat'), - panels.memoryPagesInOut, - panels.memoryPagesSwapInOut, - panels.memoryPagesFaults, - panels.memoryOOMkiller, - g.panel.row.new('Memstat'), - panels.memoryActiveInactive, - panels.memoryActiveInactiveDetail, - panels.memoryCommited, - panels.memorySharedAndMapped, - panels.memoryWriteAndDirty, - panels.memoryVmalloc, - panels.memorySlab, - panels.memoryAnonymous, - panels.memoryHugePagesCounter, - panels.memoryHugePagesSize, - panels.memoryDirectMap, - panels.memoryBounce, - ], 12, 8 - ) - ) - + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), - - 'system.json': - g.dashboard.new(prefix + 'CPU and system') - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('System'), - panels.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, - panels.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, - panels.systemLoad, - panels.systemContextSwitchesAndInterrupts, - g.panel.row.new('Time'), - panels.osTimezone { gridPos+: { w: 3, h: 4 } }, - panels.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, - panels.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, - ], 12, 7 - ) - ) - + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), - - 'disks.json': - g.dashboard.new(prefix + 'filesystem and disks') - + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Filesystem'), - panels.diskFreeTs, - panels.diskUsage, - panels.diskInodesFree, - panels.diskInodesTotal, - panels.diskErrorsandRO, - panels.fileDescriptors, - g.panel.row.new('Disk'), - panels.diskIOBytesPerSec, - panels.diskIOps, - panels.diskIOWaitTime, - panels.diskQueue, - ], 12, 8 - ) - ) - + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), - } - + - if this.config.enableLokiLogs - then - { - 'logs.json': - logslib.new( - prefix + 'logs', - datasourceName=this.grafana.variables.datasources.loki.name, - datasourceRegex=this.grafana.variables.datasources.loki.regex, - filterSelector=this.config.logsFilteringSelector, - labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, - formatParser=null, - showLogsVolume=this.config.showLogsVolume, - logsVolumeGroupBy=this.config.logsVolumeGroupBy, - extraFilters=this.config.logsExtraFilters - ) - { - dashboards+: - { - logs+: - // reference to self, already generated variables, to keep them, but apply other common data in applyCommon - root.applyCommon(super.logs.templating.list, uid=uid + '-logs', tags=tags, links=links, annotations=annotations, timezone=timezone, refresh=refresh, period=period), - }, - panels+: - { - // modify log panel - logs+: - g.panel.logs.options.withEnableLogDetails(true) - + g.panel.logs.options.withShowTime(false) - + g.panel.logs.options.withWrapLogMessage(false), - }, - variables+: { - // add prometheus datasource for annotations processing - toArray+: [ - this.grafana.variables.datasources.prometheus { hide: 2 }, - ], - }, - }.dashboards['logs.json'], - } - else {}, - applyCommon(vars, uid, tags, links, annotations, timezone, refresh, period): - g.dashboard.withTags(tags) - + g.dashboard.withUid(uid) - + g.dashboard.withLinks(std.objectValues(links)) - + g.dashboard.withTimezone(timezone) - + g.dashboard.withRefresh(refresh) - + g.dashboard.time.withFrom(period) - + g.dashboard.withVariables(vars) - + g.dashboard.withAnnotations(std.objectValues(annotations)), -} diff --git a/docs/node-observ-lib/links.libsonnet b/docs/node-observ-lib/links.libsonnet deleted file mode 100644 index efaa6b6364..0000000000 --- a/docs/node-observ-lib/links.libsonnet +++ /dev/null @@ -1,19 +0,0 @@ -local g = import './g.libsonnet'; -local commonlib = import 'common-lib/common/main.libsonnet'; -{ - new(this): - { - local link = g.dashboard.link, - backToFleet: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards['fleet.json'].uid) - + link.link.options.withKeepTime(true), - backToOverview: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['overview.json'].uid) - + link.link.options.withKeepTime(true), - otherDashboards: - link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) - + link.dashboards.options.withIncludeVars(true) - + link.dashboards.options.withKeepTime(true) - + link.dashboards.options.withAsDropdown(true), - }, -} diff --git a/docs/node-observ-lib/main.libsonnet b/docs/node-observ-lib/main.libsonnet deleted file mode 100644 index 0fb13f70d2..0000000000 --- a/docs/node-observ-lib/main.libsonnet +++ /dev/null @@ -1,39 +0,0 @@ -local alerts = import './alerts.libsonnet'; -local annotations = import './annotations.libsonnet'; -local config = import './config.libsonnet'; -local dashboards = import './dashboards.libsonnet'; -local datasources = import './datasources.libsonnet'; -local g = import './g.libsonnet'; -local links = import './links.libsonnet'; -local panels = import './panels.libsonnet'; -local rules = import './rules.libsonnet'; -local targets = import './targets.libsonnet'; -local variables = import './variables.libsonnet'; -local commonlib = import 'common-lib/common/main.libsonnet'; - -{ - withConfigMixin(config): { - config+: config, - }, - - new(): { - - local this = self, - config: config, - grafana: { - variables: variables.new(this), - targets: targets.new(this), - panels: panels.new(this), - annotations: annotations.new(this), - // common links here used across all dashboards - links: links.new(this), - dashboards: dashboards.new(this), - }, - - prometheus: { - alerts: alerts.new(this), - recordingRules: rules.new(this), - }, - - }, -} diff --git a/docs/node-observ-lib/panels.libsonnet b/docs/node-observ-lib/panels.libsonnet deleted file mode 100644 index d7cc555688..0000000000 --- a/docs/node-observ-lib/panels.libsonnet +++ /dev/null @@ -1,1136 +0,0 @@ -local g = import './g.libsonnet'; -local commonlib = import 'common-lib/common/main.libsonnet'; -local utils = commonlib.utils; -{ - new(this): - { - local t = this.grafana.targets, - local table = g.panel.table, - local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], - fleetOverviewTable: - commonlib.panels.generic.table.base.new( - 'Fleet overview', - targets= - [ - t.osInfoCombined - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('OS Info'), - t.uptime - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Uptime'), - t.systemLoad1 - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Load 1'), - t.cpuCount - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Cores'), - t.cpuUsage - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('CPU usage'), - t.memoryTotalBytes - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Memory total'), - t.memoryUsagePercent - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Memory usage'), - t.diskTotalRoot - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Root mount size'), - t.diskUsageRootPercent - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Root mount used'), - t.alertsCritical - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('CRITICAL'), - t.alertsWarning - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('WARNING'), - ], - description="All nodes' perfomance at a glance." - ) - + g.panel.table.options.withFooter( - value={ - reducer: ['sum'], - show: true, - fields: [ - 'Value #Cores', - 'Value #Load 1', - 'Value #Memory total', - 'Value #Root mount size', - ], - } - ) - + commonlib.panels.system.table.uptime.stylizeByName('Uptime') - + table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Product|^Hostname$') - + fieldOverride.byRegexp.withProperty('custom.filterable', true), - fieldOverride.byName.new('Instance') - + fieldOverride.byName.withProperty('custom.filterable', true) - + fieldOverride.byName.withProperty('links', [ - { - targetBlank: false, - title: 'Drill down to ${__field.name} ${__value.text}', - url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}' % [this.grafana.dashboards['overview.json'].uid, instanceLabel, instanceLabel], - }, - ]), - fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) - + fieldOverride.byRegexp.withProperty('custom.filterable', true) - + fieldOverride.byRegexp.withProperty('links', [ - { - targetBlank: false, - title: 'Filter by ${__field.name}', - url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}' % [this.grafana.dashboards['fleet.json'].uid], - }, - ]), - fieldOverride.byName.new('Cores') - + fieldOverride.byName.withProperty('custom.width', '120'), - fieldOverride.byName.new('CPU usage') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - fieldOverride.byName.new('Memory total') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bytes') - ), - fieldOverride.byName.new('Memory usage') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - fieldOverride.byName.new('Root mount size') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bytes') - ), - fieldOverride.byName.new('Root mount used') - + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('percent') - ) - + fieldOverride.byName.withPropertiesFromOptions( - commonlib.panels.cpu.timeSeries.utilization.stylize() - ), - ]) - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'joinByField', - options: { - byField: instanceLabel, - mode: 'outer', - }, - }, - { - id: 'filterFieldsByName', - options: { - include: { - //' 1' - would only match first occurence of group label, so no duplicates - pattern: instanceLabel + '|' - + - std.join( - '|', - std.map( - function(x) '%s 1' % x, this.config.instanceLabels - ) - ) - + '|' + - std.join( - '|', - std.map( - function(x) '%s 1' % x, this.config.groupLabels - ) - ) - + '|product|^hostname$|^nodename$|^pretty_name$|Value.+', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: { - 'Value #OS Info': true, - }, - indexByName: - { - [instanceLabel]: 0, - nodename: 1, - hostname: 1, - pretty_name: 2, - product: 2, - } - + - // group labels are named as 'job 1' and so on. - { - [label]: 3 - for label in this.config.groupLabels - }, - renameByName: - { - [label + ' 1']: utils.toSentenceCase(label) - for label in this.config.instanceLabels - } - { - [instanceLabel]: utils.toSentenceCase(instanceLabel), - product: 'OS', // windows - pretty_name: 'OS', // linux - hostname: 'Hostname', // windows - nodename: 'Hostname', // Linux - } - + - // group labels are named as 'job 1' and so on. - { - [label + ' 1']: utils.toSentenceCase(label) - for label in this.config.groupLabels - }, - - }, - }, - { - id: 'renameByRegex', - options: { - regex: 'Value #(.*)', - renamePattern: '$1', - }, - }, - ] - ), - uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), - - systemLoad: - commonlib.panels.system.timeSeries.loadAverage.new( - loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], - cpuCountTarget=t.cpuCount, - ), - - systemContextSwitchesAndInterrupts: - commonlib.panels.generic.timeSeries.base.new( - 'Context switches/Interrupts', - targets=[ - t.systemContextSwitches, - t.systemInterrupts, - ], - description=||| - Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. - - A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. - ||| - ), - - timeNtpStatus: - commonlib.panels.system.statusHistory.ntp.new( - 'NTP status', - targets=[t.timeNtpStatus], - description='Status of time synchronization.' - ) - + g.panel.timeSeries.standardOptions.withNoValue('No data.') - + g.panel.statusHistory.options.withLegend(false), - timeSyncDrift: - commonlib.panels.generic.timeSeries.base.new( - 'Time synchronized drift', - targets=[ - t.timeEstimatedError, - t.timeOffset, - t.timeMaxError, - ], - description=||| - Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. - ||| - ) - + g.panel.timeSeries.standardOptions.withUnit('seconds') - + g.panel.timeSeries.standardOptions.withNoValue('No data.'), - cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), - cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) - + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), - - cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='CPU usage', - target=t.cpuUsage, - topk=25, - instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, - ), - cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), - cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( - targets=[t.cpuUsageByMode], - description=||| - - System: Processes executing in kernel mode. - - User: Normal processes executing in user mode. - - Nice: Niced processes executing in user mode. - - Idle: Waiting for something to happen. - - Iowait: Waiting for I/O to complete. - - Irq: Servicing interrupts. - - Softirq: Servicing softirqs. - - Steal: Time spent in other operating systems when running in a virtualized environment. - ||| - ), - - memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), - memorySwapTotalBytes: - commonlib.panels.memory.stat.total.new( - 'Total swap', - targets=[t.memorySwapTotal], - description=||| - Total swap available. - - Swap is a space on a storage device (usually a dedicated swap partition or a swap file) - used as virtual memory when the physical RAM (random-access memory) is fully utilized. - Swap space helps prevent memory-related performance issues by temporarily transferring less-used data from RAM to disk, - freeing up physical memory for active processes and applications. - ||| - ), - memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), - memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Memory usage', - target=t.memoryUsagePercent, - topk=25, - instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, - ), - memoryUsageTsBytes: - commonlib.panels.memory.timeSeries.usageBytes.new( - targets=[ - t.memoryUsedBytes, - t.memoryCachedBytes, - t.memoryAvailableBytes, - t.memoryBuffersBytes, - t.memoryFreeBytes, - t.memoryTotalBytes, - ], - description= - ||| - - Used: The amount of physical memory currently in use by the system. - - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. - - Free: The amount of physical memory that is currently not in use. - - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. - - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. - ||| - ) - + g.panel.timeSeries.standardOptions.withOverridesMixin( - { - __systemRef: 'hideSeriesFrom', - matcher: { - id: 'byNames', - options: { - mode: 'exclude', - names: [ - t.memoryTotalBytes.legendFormat, - t.memoryUsedBytes.legendFormat, - ], - prefix: 'All except:', - readOnly: true, - }, - }, - properties: [ - { - id: 'custom.hideFrom', - value: { - viz: true, - legend: false, - tooltip: false, - }, - }, - ], - } - ), - - memoryPagesInOut: - commonlib.panels.memory.timeSeries.base.new( - 'Memory pages in / out', - targets=[t.memoryPagesIn, t.memoryPagesOut], - description=||| - Page-In - Return of pages to physical memory. This is a common and normal event. - - Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. - When the kernel detects low memory, it attempts to free memory by paging out. - While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. - Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. - ||| - ) - + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), - - memoryPagesSwapInOut: - commonlib.panels.memory.timeSeries.base.new( - 'Memory pages swapping in / out', - targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], - description=||| - Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. - Nonetheless, it is a preferable option to crashing or killing off processes. - - The process of writing pages out to disk to free memory is known as swapping-out. - If a page fault occurs because the page is on disk, in the swap area, rather than in memory, - the kernel will read the page back in from the disk to satisfy the page fault. - This is known as swapping-in. - ||| - ) - + commonlib.panels.network.timeSeries.base.withNegateOutPackets(), - - memoryPagesFaults: - commonlib.panels.memory.timeSeries.base.new( - 'Memory page faults', - targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], - description=||| - A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, - requiring a mapping to be added to the process's virtual address space. - - The page contents may also need to be loaded from a backing store such as a disk. - While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. - Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. - |||, - ), - - memoryOOMkiller: - commonlib.panels.memory.timeSeries.base.new( - 'OOM Killer', - targets=[t.memoryOOMkiller], - description=||| - Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. - - This can happen when the kernel has allocated more memory than is available for its processes. - ||| - ), - - memoryActiveInactive: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory active / inactive', - targets=[t.memoryActiveBytes, t.memoryInactiveBytes], - description=||| - - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. - - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. - |||, - ), - - memoryActiveInactiveDetail: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory active / inactive details', - targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], - description=||| - - Inactive_file: File-backed memory on inactive LRU list. - - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). - - Active_file: File-backed memory on active LRU list. - - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. - |||, - ), - - memoryCommited: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory commited', - targets=[t.memoryCommitedAs, t.memoryCommitedLimit], - description=||| - - Committed_AS - Amount of memory presently allocated on the system. - - CommitLimit - Amount of memory currently available to be allocated on the system. - ||| - ), - - memorySharedAndMapped: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory shared and mapped', - targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], - description=||| - - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. - - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. - - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. - - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. - ||| - ), - memoryWriteAndDirty: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory writeback and dirty', - targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], - description=||| - - Writeback: This refers to the memory that is currently being actively written back to the disk. - - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. - - Dirty: This type of memory is waiting to be written back to the disk. - ||| - ), - memoryVmalloc: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory Vmalloc', - targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], - description=||| - Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. - - - VmallocChunk: Largest contiguous block of vmalloc area which is free. - - VmallocTotal: Total size of vmalloc memory area. - - VmallocUsed: Amount of vmalloc area which is used. - ||| - ), - memorySlab: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory slab', - targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], - description=||| - Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. - - The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. - - - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. - - SReclaimable: Part of Slab, that might be reclaimed, such as caches. - ||| - ), - memoryAnonymous: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory slab', - targets=[t.memoryAnonHugePages, t.memoryAnonPages], - description=||| - Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. - - This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. - - Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, - and from Memory Shared with other processes, - which refers to memory regions that can be accessed and modified by multiple processes. - - - AnonHugePages: Memory in anonymous huge pages. - - AnonPages: Memory in user pages not backed by files. - ||| - ), - - memoryHugePagesCounter: - commonlib.panels.memory.timeSeries.base.new( - 'Memory HugePages counter', - targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], - description= - ||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - - - HugePages_Free: Huge pages in the pool that are not yet allocated. - - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. - - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. - ||| - ), - memoryHugePagesSize: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory HugePages size', - targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], - - description=||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - ||| - ), - - memoryDirectMap: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory direct map', - targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], - - description=||| - Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. - ||| - ), - memoryBounce: - commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory bounce', - targets=[t.memoryBounce], - description=||| - Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. - - To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. - - - Bounce: Memory used for block device bounce buffers. - ||| - ), - diskTotalRoot: - commonlib.panels.disk.stat.total.new( - 'Root mount size', - targets=[t.diskTotalRoot], - description=||| - Total capacity on the primary mount point /. - ||| - ), - diskUsage: - commonlib.panels.disk.table.usage.new( - totalTarget= - ( - t.diskTotal - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - ), - freeTarget= - t.diskFree - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true), - groupLabel='mountpoint' - , - description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.' - ), - diskFreeTs: - commonlib.panels.disk.timeSeries.available.new( - 'Filesystem space availabe', - targets=[ - t.diskFree, - ], - description='Filesystem space utilisation in bytes, by mountpoint.' - ), - diskInodesFree: - commonlib.panels.disk.timeSeries.base.new( - 'Free inodes', - targets=[t.diskInodesFree], - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' - ) - + g.panel.timeSeries.standardOptions.withUnit('short'), - diskInodesTotal: - commonlib.panels.disk.timeSeries.base.new( - 'Total inodes', - targets=[t.diskInodesTotal], - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', - ) - + g.panel.timeSeries.standardOptions.withUnit('short'), - diskErrorsandRO: - commonlib.panels.disk.timeSeries.base.new( - 'Filesystems with errors / read-only', - targets=[ - t.diskDeviceError, - t.diskReadOnly, - ], - description='', - ) - + g.panel.timeSeries.standardOptions.withMax(1), - fileDescriptors: - commonlib.panels.disk.timeSeries.base.new( - 'File descriptors', - targets=[ - t.processMaxFds, - t.processOpenFds, - ], - description=||| - File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. - The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. - ||| - ), - diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Disk space usage', - target=t.diskUsagePercent, - topk=25, - instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, - ), - diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( - targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] - ), - diskIOutilPercentTopK: - commonlib.panels.generic.timeSeries.topkPercentage.new( - title='Disk IO', - target=t.diskIOutilization, - topk=25, - instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, - ), - diskIOps: - commonlib.panels.disk.timeSeries.iops.new( - targets=[ - t.diskIOReads, - t.diskIOWrites, - ] - ), - - diskQueue: - commonlib.panels.disk.timeSeries.ioQueue.new( - 'Disk average queue', - targets= - [ - t.diskAvgQueueSize, - ] - ), - diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( - targets=[ - t.diskIOWaitReadTime, - t.diskIOWaitWriteTime, - ] - ), - osInfo: commonlib.panels.generic.stat.info.new( - 'OS', - targets=[t.osInfo], - description='Operating system' - ) - { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, - kernelVersion: - commonlib.panels.generic.stat.info.new('Kernel version', - targets=[t.unameInfo], - description='Kernel version of linux host.') - { options+: { reduceOptions+: { fields: '/^release$/' } } }, - osTimezone: - commonlib.panels.generic.stat.info.new( - 'Timezone', targets=[t.osTimezone], description='Current system timezone.' - ) - { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, - hostname: - commonlib.panels.generic.stat.info.new( - 'Hostname', - targets=[t.unameInfo], - description="System's hostname." - ) - { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, - networkErrorsAndDroppedPerSec: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors and dropped packets', - targets=[ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, - ], - description=||| - **Network errors**: - - Network errors refer to issues that occur during the transmission of data across a network. - - These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. - - Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. - - **Dropped packets**: - - Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. - - Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. - - Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. - ||| - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkErrorsAndDroppedPerSecTopK: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors and dropped packets', - targets=std.map( - function(t) t - { - expr: 'topk(25, ' + t.expr + ')>0.5', - legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), - }, - [ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, - ] - ), - description=||| - Top 25. - - **Network errors**: - - Network errors refer to issues that occur during the transmission of data across a network. - - These errors can result from various factors, including physical issues, jitter, collisions, noise and interference. - - Monitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality. - - **Dropped packets**: - - Dropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. - - Common causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices. - - Dropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications. - ||| - ) - + g.panel.timeSeries.fieldConfig.defaults.custom.withDrawStyle('points') - + g.panel.timeSeries.fieldConfig.defaults.custom.withPointSize(5), - - networkErrorsPerSec: - commonlib.panels.network.timeSeries.errors.new( - 'Network errors', - targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkDroppedPerSec: - commonlib.panels.network.timeSeries.dropped.new( - targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] - ) - + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), - networkUsagePerSec: - commonlib.panels.network.timeSeries.traffic.new( - targets=[t.networkInBitPerSec, t.networkOutBitPerSec] - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkPacketsPerSec: - commonlib.panels.network.timeSeries.packets.new( - targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkMulticastPerSec: - commonlib.panels.network.timeSeries.multicast.new( - 'Multicast packets', - targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], - description='Multicast packets received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - - networkFifo: - commonlib.panels.network.timeSeries.packets.new( - 'Network FIFO', - targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], - description=||| - Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. - It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. - Packets are stored in the FIFO buffer until they can be transmitted or processed further. - ||| - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkCompressedPerSec: - commonlib.panels.network.timeSeries.packets.new( - 'Compressed packets', - targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], - description=||| - - Compressed received: - Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - - Compressed transmitted: - Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - https://docs.kernel.org/networking/statistics.html - |||, - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), - networkNFConntrack: - commonlib.panels.generic.timeSeries.base.new( - 'NF conntrack', - targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], - description=||| - NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, - enforce firewall rules, perform NAT, and manage network address/port translation. - ||| - ) - + g.panel.timeSeries.fieldConfig.defaults.custom.withFillOpacity(0), - - networkSoftnet: - commonlib.panels.network.timeSeries.packets.new( - 'Softnet packets', - targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], - description=||| - Softnet packets are received by the network and queued for processing by the kernel's networking stack. - Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. - ||| - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets('/dropped/') - + g.panel.timeSeries.fieldConfig.defaults.custom.withAxisLabel('Dropped(-) | Processed(+)'), - networkSoftnetSqueeze: - commonlib.panels.network.timeSeries.packets.new( - 'Softnet out of quota', - targets=[t.networkSoftnetSqueezedPerSec], - description=||| - "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. - This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. - ||| - ), - networkOperStatus: - commonlib.panels.network.statusHistory.interfaceStatus.new( - 'Network interfaces carrier status', - targets=[t.networkCarrier], - description='Network interfaces carrier status', - ), - networkOverviewTable: - commonlib.panels.generic.table.base.new( - 'Network interfaces overview', - targets= - [ - t.networkUp - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Up'), - t.networkCarrier - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Carrier'), - t.networkOutBitPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(false) - + g.query.prometheus.withRefId('Transmitted'), - t.networkInBitPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(false) - + g.query.prometheus.withRefId('Received'), - t.networkArpEntries - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('ARP entries'), - t.networkMtuBytes - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('MTU'), - t.networkSpeedBitsPerSec - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Speed'), - t.networkTransmitQueueLength - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Queue length'), - t.networkInfo - + g.query.prometheus.withFormat('table') - + g.query.prometheus.withInstant(true) - + g.query.prometheus.withRefId('Info'), - ], - description='Network interfaces overview.' - ) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byName.new('Speed') - + fieldOverride.byName.withPropertiesFromOptions( - table.standardOptions.withUnit('bps') - ), - ]) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Transmitted|Received') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') - + fieldOverride.byRegexp.withPropertiesFromOptions( - table.standardOptions.withUnit('bps') - + table.standardOptions.color.withMode('continuous-BlYlRd') - + table.standardOptions.withMax(1000 * 1000 * 100) - ), - ]) - + g.panel.table.standardOptions.withOverridesMixin([ - fieldOverride.byRegexp.new('Carrier|Up') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') - + fieldOverride.byRegexp.withPropertiesFromOptions( - table.standardOptions.withMappings( - { - type: 'value', - options: { - '0': { - text: 'Down', - color: 'light-red', - index: 0, - }, - '1': { - text: 'Up', - color: 'light-green', - index: 1, - }, - }, - } - ), - ), - ]) - + table.queryOptions.withTransformationsMixin( - [ - { - id: 'joinByField', - options: { - byField: 'device', - mode: 'outer', - }, - }, - { - id: 'filterFieldsByName', - options: { - include: { - pattern: 'device|duplex|address|Value.+', - }, - }, - }, - { - id: 'renameByRegex', - options: { - regex: '(Value) #(.*)', - renamePattern: '$2', - }, - }, - { - id: 'organize', - options: { - excludeByName: { - Info: true, - }, - renameByName: - { - device: 'Interface', - duplex: 'Duplex', - address: 'Address', - }, - }, - }, - { - id: 'organize', - options: { - indexByName: { - Interface: 0, - Up: 1, - Carrier: 2, - Received: 3, - Transmitted: 4, - }, - }, - }, - ] - ), - networkSockstatAll: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets in use', - targets=[t.networkSocketsUsed], - description='Number of sockets currently in use.', - ), - - networkSockstatTCP: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets TCP', - targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], - description=||| - TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. - - Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. - ||| - ), - networkSockstatUDP: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets UDP', - targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], - description=||| - UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. - Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. - ||| - ), - networkSockstatOther: - commonlib.panels.generic.timeSeries.base.new( - 'Sockets other', - targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], - description=||| - FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. - - RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. - ||| - ), - networkSockstatMemory: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.generic.timeSeries.base.new( - title='Sockets memory', - targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], - description=||| - Memory currently in use for sockets. - |||, - ) - + panel.queryOptions.withMaxDataPoints(100) - + panel.fieldConfig.defaults.custom.withAxisLabel('Pages') - + panel.standardOptions.withOverridesMixin( - panel.standardOptions.override.byRegexp.new('/bytes/') - + override.byType.withPropertiesFromOptions( - panel.standardOptions.withDecimals(2) - + panel.standardOptions.withUnit('bytes') - + panel.fieldConfig.defaults.custom.withDrawStyle('bars') - + panel.fieldConfig.defaults.custom.withStacking(value={ mode: 'normal', group: 'A' }) - + panel.fieldConfig.defaults.custom.withAxisLabel('Bytes') - ) - ), - - networkNetstatIP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'IP octets', - targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], - description='Rate of IP octets received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('oct/s'), - - networkNetstatTCP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'TCP segments', - targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], - description='Rate of TCP segments received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('seg/s'), - - networkNetstatTCPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='TCP errors rate', - targets=[ - t.networkNetstatTCPOverflowPerSec, - t.networkNetstatTCPListenDropsPerSec, - t.networkNetstatTCPRetransPerSec, - t.networkNetstatTCPRetransSegPerSec, - t.networkNetstatTCPInWithErrorsPerSec, - t.networkNetstatTCPOutWithRstPerSec, - ], - description='Rate of TCP errors.' - ) - + panel.standardOptions.withUnit('err/s'), - - networkNetstatUDP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'UDP datagrams', - targets=[ - t.networkNetstatIPInUDPPerSec, - t.networkNetstatIPOutUDPPerSec, - t.networkNetstatIPInUDP6PerSec, - t.networkNetstatIPOutUDP6PerSec, - ], - description='Rate of UDP datagrams received and transmitted.' - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('dat/s'), - - networkNetstatUDPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='UDP errors rate', - targets=[ - t.networkNetstatUDPLiteInErrorsPerSec, - t.networkNetstatUDPInErrorsPerSec, - t.networkNetstatUDP6InErrorsPerSec, - t.networkNetstatUDPNoPortsPerSec, - t.networkNetstatUDP6NoPortsPerSec, - t.networkNetstatUDPRcvBufErrsPerSec, - t.networkNetstatUDP6RcvBufErrsPerSec, - t.networkNetstatUDPSndBufErrsPerSec, - t.networkNetstatUDP6SndBufErrsPerSec, - ], - description='Rate of UDP errors.' - ) - + panel.standardOptions.withUnit('err/s'), - - networkNetstatICMP: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.packets.new( - 'ICMP messages', - targets=[ - t.networkNetstatICMPInPerSec, - t.networkNetstatICMPOutPerSec, - t.networkNetstatICMP6InPerSec, - t.networkNetstatICMP6OutPerSec, - ], - description="Rate of ICMP messages, like 'ping', received and transmitted." - ) - + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() - + panel.standardOptions.withUnit('msg/s'), - - networkNetstatICMPerrors: - local panel = g.panel.timeSeries; - local override = g.panel.timeSeries.standardOptions.override; - commonlib.panels.network.timeSeries.errors.new( - title='ICMP errors rate', - targets=[ - t.networkNetstatICMPInErrorsPerSec, - t.networkNetstatICM6PInErrorsPerSec, - ], - description='Rate of ICMP messages received and transmitted with errors.' - ) - + panel.standardOptions.withUnit('err/s'), - }, -} diff --git a/docs/node-observ-lib/rules.libsonnet b/docs/node-observ-lib/rules.libsonnet deleted file mode 100644 index 97ed548de3..0000000000 --- a/docs/node-observ-lib/rules.libsonnet +++ /dev/null @@ -1,119 +0,0 @@ -{ - new(this): { - groups+: [ - { - name: if this.config.uid == 'node' then 'node-exporter.rules' else this.config.uid + '-linux-rules', - rules: [ - { - // This rule gives the number of CPUs per node. - record: 'instance:node_num_cpu:sum', - expr: ||| - count without (cpu, mode) ( - node_cpu_seconds_total{%(filteringSelector)s,mode="idle"} - ) - ||| % this.config, - }, - { - // CPU utilisation is % CPU without {idle,iowait,steal}. - record: 'instance:node_cpu_utilisation:rate%(rateInterval)s' % this.config, - expr: ||| - 1 - avg without (cpu) ( - sum without (mode) (rate(node_cpu_seconds_total{%(filteringSelector)s, mode=~"idle|iowait|steal"}[%(rateInterval)s])) - ) - ||| % this.config, - }, - { - // This is CPU saturation: 1min avg run queue length / number of CPUs. - // Can go over 1. - // TODO: There are situation where a run queue >1/core is just normal and fine. - // We need to clarify how to read this metric and if its usage is helpful at all. - record: 'instance:node_load1_per_cpu:ratio', - expr: ||| - ( - node_load1{%(filteringSelector)s} - / - instance:node_num_cpu:sum{%(filteringSelector)s} - ) - ||| % this.config, - }, - { - // Memory utilisation (ratio of used memory per instance). - record: 'instance:node_memory_utilisation:ratio', - expr: ||| - 1 - ( - ( - node_memory_MemAvailable_bytes{%(filteringSelector)s} - or - ( - node_memory_Buffers_bytes{%(filteringSelector)s} - + - node_memory_Cached_bytes{%(filteringSelector)s} - + - node_memory_MemFree_bytes{%(filteringSelector)s} - + - node_memory_Slab_bytes{%(filteringSelector)s} - ) - ) - / - node_memory_MemTotal_bytes{%(filteringSelector)s} - ) - ||| % this.config, - }, - { - record: 'instance:node_vmstat_pgmajfault:rate%(rateInterval)s' % this.config, - expr: ||| - rate(node_vmstat_pgmajfault{%(filteringSelector)s}[%(rateInterval)s]) - ||| % this.config, - }, - { - // Disk utilisation (seconds spent, 1 second rate). - record: 'instance_device:node_disk_io_time_seconds:rate%(rateInterval)s' % this.config, - expr: ||| - rate(node_disk_io_time_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) - ||| % this.config, - }, - { - // Disk saturation (weighted seconds spent, 1 second rate). - record: 'instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s' % this.config, - expr: ||| - rate(node_disk_io_time_weighted_seconds_total{%(filteringSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) - ||| % this.config, - }, - { - record: 'instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s' % this.config, - expr: ||| - sum without (device) ( - rate(node_network_receive_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % this.config, - }, - { - record: 'instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s' % this.config, - expr: ||| - sum without (device) ( - rate(node_network_transmit_bytes_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % this.config, - }, - // TODO: Find out if those drops ever happen on modern switched networks. - { - record: 'instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s' % this.config, - expr: ||| - sum without (device) ( - rate(node_network_receive_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % this.config, - }, - { - record: 'instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s' % this.config, - expr: ||| - sum without (device) ( - rate(node_network_transmit_drop_total{%(filteringSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % this.config, - }, - ], - }, - ], - }, -} diff --git a/docs/node-observ-lib/targets.libsonnet b/docs/node-observ-lib/targets.libsonnet deleted file mode 100644 index 142526155c..0000000000 --- a/docs/node-observ-lib/targets.libsonnet +++ /dev/null @@ -1,1111 +0,0 @@ -local g = import './g.libsonnet'; -local prometheusQuery = g.query.prometheus; -local lokiQuery = g.query.loki; - -{ - new(this): { - local variables = this.grafana.variables, - local config = this.config, - local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', - local lokiDatasource = '${' + variables.datasources.loki.name + '}', - uptimeQuery:: 'node_boot_time_seconds', - - reboot: - prometheusQuery.new( - prometheusDatasource, - self.uptimeQuery + '{%(queriesSelector)s}*1000 > $__from < $__to' % variables, - ), - - serviceFailed: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="init.scope"} |= "code=exited, status=1/FAILURE"' % variables - ), - // those events should be rare, so can be shown as annotations - criticalEvents: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, transport="kernel", level="emerg"}' % variables - ), - memoryOOMkiller: - prometheusQuery.new( - prometheusDatasource, - 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, - ) - + prometheusQuery.withLegendFormat('OOM killer invocations'), - - kernelUpdate: - prometheusQuery.new( - prometheusDatasource, - expr=||| - changes( - sum by (%(instanceLabels)s) ( - group by (%(instanceLabels)s,release) (node_uname_info{%(queriesSelector)s}) - ) - [$__interval:1m] offset -$__interval) > 1 - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - - // new interactive session in logs: - sessionOpened: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="systemd-logind.service"}|= "New session"' % variables - ), - sessionClosed: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="systemd-logind.service"} |= "logged out"' % variables - ), - - alertsCritical: - prometheusQuery.new( - prometheusDatasource, - 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - alertsWarning: - prometheusQuery.new( - prometheusDatasource, - 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - - uptime: - prometheusQuery.new( - prometheusDatasource, - 'time() - ' + self.uptimeQuery + '{%(queriesSelector)s}' % variables - ), - cpuCount: - prometheusQuery.new( - prometheusDatasource, - 'count without (cpu) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"})' % variables - ) - + prometheusQuery.withLegendFormat('Cores'), - cpuUsage: - prometheusQuery.new( - prometheusDatasource, - ||| - (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s))) - - - avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(queriesSelector)s}[$__rate_interval])))) * 100) - / - count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s)) - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ) - + prometheusQuery.withLegendFormat('CPU usage'), - cpuUsagePerCore: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - (1 - sum without (mode) (rate(node_cpu_seconds_total{%(queriesSelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) - / ignoring(cpu) group_left - count without (cpu, mode) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"}) - ) * 100 - ||| % variables, - ) - + prometheusQuery.withLegendFormat('CPU {{cpu}}'), - cpuUsageByMode: - prometheusQuery.new( - prometheusDatasource, - ||| - sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval])) - / on(%(instanceLabels)s) - group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval]))) * 100 - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ) - + prometheusQuery.withLegendFormat('{{ mode }}'), - memoryTotalBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemTotal_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory total'), - memoryFreeBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemFree_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory free'), - memoryAvailableBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemAvailable_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory available'), - memoryBuffersBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Cached_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory buffers'), - memoryCachedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Buffers_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory buffers'), - memoryUsedBytes: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - node_memory_MemTotal_bytes{%(queriesSelector)s} - - - node_memory_MemFree_bytes{%(queriesSelector)s} - - - node_memory_Buffers_bytes{%(queriesSelector)s} - - - node_memory_Cached_bytes{%(queriesSelector)s} - ) - ||| % variables - ) - + prometheusQuery.withLegendFormat('Memory used'), - memoryUsagePercent: - prometheusQuery.new( - prometheusDatasource, - ||| - 100 - - ( - avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(queriesSelector)s}) / - avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(queriesSelector)s}) - * 100 - ) - ||| - % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - memorySwapTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SwapTotal_bytes{%(queriesSelector)s}' % variables - ), - memoryPagesIn: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgpgin{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Page-In'), - memoryPagesOut: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgpgout{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Page-Out'), - - memoryPagesSwapIn: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pswpin{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Pages swapped in'), - memoryPagesSwapOut: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pswpout{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Pages swapped out'), - - memoryPageMajorFaults: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Major page fault operations'), - memoryPageMinorFaults: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_vmstat_pgfault{%(queriesSelector)s}[$__rate_interval]) - - - irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval]) - ||| % variables, - ) - + prometheusQuery.withLegendFormat('Minor page fault operations'), - - memoryInactiveBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive'), - memoryActiveBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active'), - - memoryInactiveFile: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_file_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive_file'), - - memoryInactiveAnon: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_anon_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive_anon'), - - memoryActiveFile: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_file_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active_file'), - - memoryActiveAnon: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_anon_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active_anon'), - - memoryCommitedAs: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Committed_AS_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Commited_AS'), - memoryCommitedLimit: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_CommitLimit_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('CommitLimit'), - - memoryMappedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Mapped_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Mapped'), - memoryShmemBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Shmem_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Shmem'), - memoryShmemHugePagesBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_ShmemHugePages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('ShmemHugePages'), - memoryShmemPmdMappedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_ShmemPmdMapped_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('ShmemPmdMapped'), - memoryWriteback: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Writeback_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Writeback'), - memoryWritebackTmp: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_WritebackTmp_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('WritebackTmp'), - memoryDirty: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Dirty_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Dirty'), - - memoryVmallocChunk: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocChunk_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocChunk'), - memoryVmallocTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocTotal_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocTotal'), - memoryVmallocUsed: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocUsed_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocUsed'), - memorySlabSUnreclaim: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SUnreclaim_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('SUnreclaim'), - memorySlabSReclaimable: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SReclaimable_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('SReclaimable'), - - memoryAnonHugePages: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_AnonHugePages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('AnonHugePages'), - memoryAnonPages: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_AnonPages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('AnonPages'), - - memoryHugePages_Free: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Free{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Free'), - memoryHugePages_Rsvd: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Rsvd{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Rsvd'), - memoryHugePages_Surp: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Surp{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Surp'), - memoryHugePagesTotalSize: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Total{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Huge pages total size'), - memoryHugePagesSize: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Hugepagesize_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Huge page size'), - memoryDirectMap1G: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap1G_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap1G'), - memoryDirectMap2M: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap2M_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap2M'), - memoryDirectMap4k: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap4k_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap4k'), - memoryBounce: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Bounce_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Bounce'), - - diskTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ), - diskTotalRoot: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_size_bytes{%(queriesSelector)s, mountpoint="/", fstype!="rootfs"}' % variables, - ), - diskUsageRoot: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_avail_bytes{%(queriesSelector)s, mountpoint="/",fstype!="rootfs"}' % variables - ), - diskUsageRootPercent: - prometheusQuery.new( - prometheusDatasource, - '100 - node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}/node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}*100' % variables - ), - diskFree: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} free'), - diskUsagePercent: - prometheusQuery.new( - prometheusDatasource, - '100 - node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}/node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}*100' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} used, %'), - - diskInodesFree: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_files_free{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector }, - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes free'), - diskInodesTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_files{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes total'), - diskReadOnly: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_readonly{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} read-only'), - diskDeviceError: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_device_error{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} device error'), - // descriptors - processMaxFds: - prometheusQuery.new( - prometheusDatasource, - 'process_max_fds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Maximum open file descriptors'), - processOpenFds: - prometheusQuery.new( - prometheusDatasource, - 'process_open_fds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Open file descriptors'), - - // disk(device) - diskIOreadBytesPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_read_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} read'), - diskIOwriteBytesPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_written_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} written'), - diskIOutilization: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_io_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} io util'), - diskAvgQueueSize: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_io_time_weighted_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} avg queue'), - - diskIOWaitWriteTime: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_write_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} avg write time'), - diskIOWaitReadTime: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_read_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} avg read time'), - diskIOReads: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} reads'), - diskIOWrites: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} writes'), - - unameInfo: - prometheusQuery.new( - prometheusDatasource, - 'node_uname_info{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withFormat('table'), - osInfo: - prometheusQuery.new( - prometheusDatasource, - ||| - node_os_info{%(queriesSelector)s} - ||| % variables, - ) - + prometheusQuery.withFormat('table'), - osInfoCombined: - prometheusQuery.new( - prometheusDatasource, - ||| - node_uname_info{%(queriesSelector)s} - * on (%(groupLabels)s,%(instanceLabels)s) - group_left(pretty_name) - node_os_info{%(queriesSelector)s} - ||| % variables { - instanceLabels: std.join(',', this.config.instanceLabels), - groupLabels: std.join(',', this.config.groupLabels), - }, - ) - + prometheusQuery.withFormat('table'), - - osTimezone: //timezone label - prometheusQuery.new( - prometheusDatasource, - 'node_time_zone_offset_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withFormat('table'), - - systemLoad1: - prometheusQuery.new( - prometheusDatasource, - 'node_load1{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('1m'), - systemLoad5: - prometheusQuery.new( - prometheusDatasource, - 'node_load5{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('5m'), - systemLoad15: - prometheusQuery.new( - prometheusDatasource, - 'node_load15{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('15m'), - - systemContextSwitches: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_context_switches_total{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Context switches'), - - systemInterrupts: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_intr_total{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Interrupts'), - - timeNtpStatus: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_sync_status{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('NTP status'), - - timeOffset: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_offset_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Time offset'), - - timeEstimatedError: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_estimated_error_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Estimated error in seconds'), - timeMaxError: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_maxerror_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Maximum error in seconds'), - - networkUp: - prometheusQuery.new( - prometheusDatasource, - 'node_network_up{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('{{device}}'), - networkCarrier: - prometheusQuery.new( - prometheusDatasource, - 'node_network_carrier{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('{{device}}'), - networkArpEntries: - prometheusQuery.new( - prometheusDatasource, - 'node_arp_entries{%(queriesSelector)s}' % variables, - ), - networkMtuBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_network_mtu_bytes{%(queriesSelector)s}' % variables, - ), - networkSpeedBitsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'node_network_speed_bytes{%(queriesSelector)s} * 8' % variables, - ), - networkTransmitQueueLength: - prometheusQuery.new( - prometheusDatasource, - 'node_network_transmit_queue_length{%(queriesSelector)s}' % variables, - ), - networkInfo: - prometheusQuery.new( - prometheusDatasource, - 'node_network_info{%(queriesSelector)s}' % variables, - ), - - networkOutBitPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - networkInBitPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} errors transmitted'), - networkInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} errors received'), - networkOutDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted dropped'), - networkInDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received dropped'), - - networkInPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkInMulticastPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutMulticastPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - networkFifoInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkFifoOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkCompressedInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkCompressedOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkNFConntrackEntries: - prometheusQuery.new( - prometheusDatasource, - 'node_nf_conntrack_entries{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('NF conntrack entries'), - networkNFConntrackLimits: - prometheusQuery.new( - prometheusDatasource, - 'node_nf_conntrack_entries_limit{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('NF conntrack limits'), - - networkSoftnetProcessedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_processed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} processed'), - networkSoftnetDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_dropped_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} dropped'), - networkSoftnetSqueezedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_times_squeezed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} out of quota'), - - networkSocketsUsed: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_sockets_used{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 sockets in use'), - networkSocketsTCPAllocated: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_alloc{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Allocated'), - networkSocketsTCPIPv6: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 in use'), - networkSocketsTCPIPv4: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 in use'), - networkSocketsTCPOrphans: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_orphan{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Orphan sockets'), - networkSocketsTCPTimeWait: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_tw{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Time wait'), - - networkSocketsUDPLiteInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDPLITE_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 UDPLITE in use'), - networkSocketsUDPInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 UDP in use'), - networkSocketsUDPLiteIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDPLITE6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 UDPLITE in use'), - networkSocketsUDPIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 UDP in use'), - - networkSocketsFragInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_FRAG_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 Frag sockets in use'), - networkSocketsFragIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_FRAG6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 Frag sockets in use'), - networkSocketsRawInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_RAW_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 Raw sockets in use'), - networkSocketsIPv6RawInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_RAW6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 Raw sockets in use'), - - networkSocketsTCPMemoryPages: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_mem{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory pages allocated for TCP sockets'), - networkSocketsUDPMemoryPages: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_mem{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory pages allocated for UDP sockets'), - - networkSocketsTCPMemoryBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_mem_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory bytes allocated for TCP sockets'), - networkSocketsUDPMemoryBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_mem_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory bytes allocated for UDP sockets'), - - networkNetstatIPInOctetsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_IpExt_InOctets{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('Octets received'), - networkNetstatIPOutOctetsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_IpExt_OutOctets{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('Octets transmitted'), - - networkNetstatTCPInSegmentsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_InSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP received'), - networkNetstatTCPOutSegmentsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_OutSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP transmitted'), - - networkNetstatTCPOverflowPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_ListenOverflows{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP overflow'), - - networkNetstatTCPListenDropsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_ListenDrops{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP ListenDrops - SYNs to LISTEN sockets ignored'), - - networkNetstatTCPRetransPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_TCPSynRetrans{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP SYN rentransmits'), - - networkNetstatTCPRetransSegPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_RetransSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP retransmitted segments, containing one or more previously transmitted octets'), - networkNetstatTCPInWithErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_InErrs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP received with errors'), - - networkNetstatTCPOutWithRstPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_OutRsts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP segments sent with RST flag'), - - networkNetstatIPInUDPPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP received'), - - networkNetstatIPOutUDPPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP transmitted'), - - networkNetstatIPInUDP6PerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 received'), - - networkNetstatIPOutUDP6PerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 transmitted'), - - //UDP errors - networkNetstatUDPLiteInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_UdpLite_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDPLite InErrors'), - - networkNetstatUDPInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP InErrors'), - networkNetstatUDP6InErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 InErrors'), - networkNetstatUDPNoPortsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP NoPorts'), - networkNetstatUDP6NoPortsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 NoPorts'), - networkNetstatUDPRcvBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP receive buffer errors'), - networkNetstatUDP6RcvBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 receive buffer errors'), - networkNetstatUDPSndBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP transmit buffer errors'), - networkNetstatUDP6SndBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 transmit buffer errors'), - - //ICMP - networkNetstatICMPInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP received'), - networkNetstatICMPOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP transmitted'), - networkNetstatICMP6InPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 received'), - networkNetstatICMP6OutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 transmitted'), - - networkNetstatICMPInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 errors'), - networkNetstatICM6PInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 errors'), - }, -} diff --git a/docs/node-observ-lib/variables.libsonnet b/docs/node-observ-lib/variables.libsonnet deleted file mode 100644 index c9b2cb3ad4..0000000000 --- a/docs/node-observ-lib/variables.libsonnet +++ /dev/null @@ -1,71 +0,0 @@ -// variables.libsonnet -local g = import './g.libsonnet'; -local var = g.dashboard.variable; -local commonlib = import 'common-lib/common/main.libsonnet'; -local utils = commonlib.utils; - -{ - new( - this - ): { - local filteringSelector = this.config.filteringSelector, - local groupLabels = this.config.groupLabels, - local instanceLabels = this.config.instanceLabels, - local root = self, - local varMetric = 'node_uname_info', - local variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=true) = - local chainVarProto(index, chainVar) = - var.query.new(chainVar.label) - + var.query.withDatasourceFromVariable(root.datasources.prometheus) - + var.query.queryTypes.withLabelValues( - chainVar.label, - '%s{%s}' % [varMetric, chainVar.chainSelector], - ) - + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) - + var.query.selectionOptions.withIncludeAll( - value=if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, - customAllValue='.+' - ) - + var.query.selectionOptions.withMulti( - if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, - ) - + var.query.refresh.onTime() - + var.query.withSort( - i=1, - type='alphabetical', - asc=true, - caseInsensitive=false - ); - std.mapWithIndex(chainVarProto, utils.chainLabels(groupLabels + instanceLabels, [filteringSelector])), - datasources: { - prometheus: - var.datasource.new('datasource', 'prometheus') - + var.datasource.generalOptions.withLabel('Data source') - + var.datasource.withRegex(''), - loki: - var.datasource.new('loki_datasource', 'loki') - + var.datasource.generalOptions.withLabel('Loki data source') - + var.datasource.withRegex('') - + var.datasource.generalOptions.showOnDashboard.withNothing(), - }, - // Use on dashboards where multiple entities can be selected, like fleet dashboards - multiInstance: - [root.datasources.prometheus] - + variablesFromLabels(groupLabels, instanceLabels, filteringSelector), - // Use on dashboards where only single entity can be selected - singleInstance: - [root.datasources.prometheus] - + variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=false), - - queriesSelector: - '%s,%s' % [ - filteringSelector, - utils.labelsToPromQLSelector(groupLabels + instanceLabels), - ], - } - + if this.config.enableLokiLogs then self.withLokiLogs(this) else {}, - withLokiLogs(this): { - multiInstance+: [this.grafana.variables.datasources.loki], - singleInstance+: [this.grafana.variables.datasources.loki], - }, -} From 0530eb51e2284dfd6728c5c2c642a8bc226b9358 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:14:31 +0000 Subject: [PATCH 011/151] Update grafonnet to 11 Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/g.libsonnet | 2 +- docs/node-observ-lib/jsonnetfile.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/node-observ-lib/g.libsonnet b/docs/node-observ-lib/g.libsonnet index 6da9f4eef9..f89dcc0641 100644 --- a/docs/node-observ-lib/g.libsonnet +++ b/docs/node-observ-lib/g.libsonnet @@ -1 +1 @@ -import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' +import 'github.com/grafana/grafonnet/gen/grafonnet-v11.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/jsonnetfile.json b/docs/node-observ-lib/jsonnetfile.json index b12b5dc0af..7459652bfa 100644 --- a/docs/node-observ-lib/jsonnetfile.json +++ b/docs/node-observ-lib/jsonnetfile.json @@ -5,7 +5,7 @@ "source": { "git": { "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" + "subdir": "gen/grafonnet-v11.0.0" } }, "version": "main" From a9fb0a9add4d311eaf42654c7c576d307f492f00 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:43:09 +0000 Subject: [PATCH 012/151] Revert to v10 Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/g.libsonnet | 2 +- docs/node-observ-lib/jsonnetfile.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/node-observ-lib/g.libsonnet b/docs/node-observ-lib/g.libsonnet index f89dcc0641..6da9f4eef9 100644 --- a/docs/node-observ-lib/g.libsonnet +++ b/docs/node-observ-lib/g.libsonnet @@ -1 +1 @@ -import 'github.com/grafana/grafonnet/gen/grafonnet-v11.0.0/main.libsonnet' +import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/jsonnetfile.json b/docs/node-observ-lib/jsonnetfile.json index 7459652bfa..b12b5dc0af 100644 --- a/docs/node-observ-lib/jsonnetfile.json +++ b/docs/node-observ-lib/jsonnetfile.json @@ -5,7 +5,7 @@ "source": { "git": { "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v11.0.0" + "subdir": "gen/grafonnet-v10.0.0" } }, "version": "main" From 1ce4e79434037637d3726609655626969b7531e4 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:43:46 +0000 Subject: [PATCH 013/151] Add .json suffix Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/linux/links.libsonnet | 4 ++-- docs/node-observ-lib/linux/panels/cpu.libsonnet | 2 +- docs/node-observ-lib/linux/panels/disk.libsonnet | 4 ++-- docs/node-observ-lib/linux/panels/fleet.libsonnet | 4 ++-- docs/node-observ-lib/linux/panels/memory.libsonnet | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/node-observ-lib/linux/links.libsonnet b/docs/node-observ-lib/linux/links.libsonnet index cc24910a65..8a72f9035e 100644 --- a/docs/node-observ-lib/linux/links.libsonnet +++ b/docs/node-observ-lib/linux/links.libsonnet @@ -5,10 +5,10 @@ local commonlib = import 'common-lib/common/main.libsonnet'; { local link = g.dashboard.link, backToFleet: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards.fleet.uid) + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards['fleet.json'].uid) + link.link.options.withKeepTime(true), backToOverview: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards.overview.uid) + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['overview.json'].uid) + link.link.options.withKeepTime(true), otherDashboards: link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) diff --git a/docs/node-observ-lib/linux/panels/cpu.libsonnet b/docs/node-observ-lib/linux/panels/cpu.libsonnet index 5dea094a6c..bab41a1bc6 100644 --- a/docs/node-observ-lib/linux/panels/cpu.libsonnet +++ b/docs/node-observ-lib/linux/panels/cpu.libsonnet @@ -18,7 +18,7 @@ local utils = commonlib.utils; target=t.cpuUsage, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( diff --git a/docs/node-observ-lib/linux/panels/disk.libsonnet b/docs/node-observ-lib/linux/panels/disk.libsonnet index 27a7fc0796..250b25bece 100644 --- a/docs/node-observ-lib/linux/panels/disk.libsonnet +++ b/docs/node-observ-lib/linux/panels/disk.libsonnet @@ -82,7 +82,7 @@ local utils = commonlib.utils; target=t.diskUsagePercent, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] @@ -93,7 +93,7 @@ local utils = commonlib.utils; target=t.diskIOutilization, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), diskIOps: commonlib.panels.disk.timeSeries.iops.new( diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-observ-lib/linux/panels/fleet.libsonnet index e8642ead2a..81de87e4f0 100644 --- a/docs/node-observ-lib/linux/panels/fleet.libsonnet +++ b/docs/node-observ-lib/linux/panels/fleet.libsonnet @@ -82,7 +82,7 @@ local utils = commonlib.utils; { targetBlank: false, title: 'Drill down to ${__field.name} ${__value.text}', - url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.overview.uid, instanceLabel, instanceLabel], + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards['overview.json'].uid, instanceLabel, instanceLabel], }, ]), fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) @@ -91,7 +91,7 @@ local utils = commonlib.utils; { targetBlank: false, title: 'Filter by ${__field.name}', - url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards.fleet.uid], + url: 'd/%s?var-${__field.name}=${__value.text}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards['fleet.json'].uid], }, ]), fieldOverride.byName.new('Cores') diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-observ-lib/linux/panels/memory.libsonnet index becb5f3fba..384c92c770 100644 --- a/docs/node-observ-lib/linux/panels/memory.libsonnet +++ b/docs/node-observ-lib/linux/panels/memory.libsonnet @@ -29,7 +29,7 @@ local utils = commonlib.utils; target=t.memoryUsagePercent, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards.overview.uid, + drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), memoryUsageTsBytes: commonlib.panels.memory.timeSeries.usageBytes.new( From 5ef6214cc125707e97e13a05d970ed3d674c1f8f Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:47:01 +0000 Subject: [PATCH 014/151] Update macos Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/macos/panels.libsonnet | 48 +++++++++++---------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/docs/node-observ-lib/macos/panels.libsonnet b/docs/node-observ-lib/macos/panels.libsonnet index e0cca3131d..3da12fdcd2 100644 --- a/docs/node-observ-lib/macos/panels.libsonnet +++ b/docs/node-observ-lib/macos/panels.libsonnet @@ -10,29 +10,33 @@ local utils = commonlib.utils; local instanceLabel = this.config.instanceLabels[0], // override description and targets - memoryUsageTsBytes+: - g.panel.timeSeries.panelOptions.withDescription( - ||| - - Physical memory: Total amount of memory installed in this computer; - - App memory: Physical memory allocated by apps and system processes; - - Wired memory: Physical memory, containing data that cannot be compressed or swapped to disk; - - Compressed memory: Physical memory used to store a compressed version of data that has not been used recently; - - Swap used: Amount of compressed data temporarily moved to disk to make room in memory for more recently used data. - ||| - ) - + g.panel.timeSeries.queryOptions.withTargets([ - t.memoryUsedBytes, - t.memoryTotalBytes, - t.memoryAppBytes, - t.memoryWiredBytes, - t.memoryCompressedBytes, - t.memorySwapUsedBytes, - ]) - + commonlib.panels.generic.timeSeries.threshold.stylizeByRegexp('Physical memory'), + memory+: { + memoryUsageTsBytes+: + g.panel.timeSeries.panelOptions.withDescription( + ||| + - Physical memory: Total amount of memory installed in this computer; + - App memory: Physical memory allocated by apps and system processes; + - Wired memory: Physical memory, containing data that cannot be compressed or swapped to disk; + - Compressed memory: Physical memory used to store a compressed version of data that has not been used recently; + - Swap used: Amount of compressed data temporarily moved to disk to make room in memory for more recently used data. + ||| + ) + + g.panel.timeSeries.queryOptions.withTargets([ + t.memoryUsedBytes, + t.memoryTotalBytes, + t.memoryAppBytes, + t.memoryWiredBytes, + t.memoryCompressedBytes, + t.memorySwapUsedBytes, + ]) + + commonlib.panels.generic.timeSeries.threshold.stylizeByRegexp('Physical memory'), + }, //override reduceOption field to version - osInfo+: - g.panel.timeSeries.panelOptions.withTitle('OS version') - + { options+: { reduceOptions: { fields: '/^version$/' } } }, + system+: { + osInfo+: + g.panel.timeSeries.panelOptions.withTitle('OS version') + + { options+: { reduceOptions: { fields: '/^version$/' } } }, + }, }, } From 66f00cbd361c42220b0cbc8c76dd641e8d24f8e4 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 15:47:32 +0000 Subject: [PATCH 015/151] Add .json suffixes Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/linux/dashboards.libsonnet | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-observ-lib/linux/dashboards.libsonnet index ac4ece7f1e..b4e76ba145 100644 --- a/docs/node-observ-lib/linux/dashboards.libsonnet +++ b/docs/node-observ-lib/linux/dashboards.libsonnet @@ -15,7 +15,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local panels = this.grafana.panels; local stat = g.panel.stat; { - fleet: + 'fleet.json': local title = prefix + 'fleet overview'; g.dashboard.new(title) + g.dashboard.withPanels( @@ -33,7 +33,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) // hide link to self + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), - overview: + 'overview.json': g.dashboard.new(prefix + 'overview') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -72,7 +72,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) // defaults to uid=nodes for backward compatibility with old node-mixins + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), - network: + 'network.json': g.dashboard.new(prefix + 'network') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -108,7 +108,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), - memory: + 'memory.json': g.dashboard.new(prefix + 'memory') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -138,7 +138,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), - system: + 'system.json': g.dashboard.new(prefix + 'CPU and system') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -158,7 +158,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), - disks: + 'disks.json': g.dashboard.new(prefix + 'filesystem and disks') + g.dashboard.withPanels( g.util.grid.wrapPanels( @@ -184,7 +184,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso if this.config.enableLokiLogs then { - logs: + 'logs.json': logslib.new( prefix + 'logs', datasourceName=this.grafana.variables.datasources.loki.name, From 9b964285457ba78cbbd49599338c8c9638f9ef82 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 16:21:28 +0000 Subject: [PATCH 016/151] Split targets into separate groups Signed-off-by: Vitaly Zhuravlev --- .../linux/annotations.libsonnet | 14 +- docs/node-observ-lib/linux/main.libsonnet | 2 +- .../linux/panels/cpu.libsonnet | 12 +- .../linux/panels/disk.libsonnet | 38 +- .../linux/panels/fleet.libsonnet | 24 +- .../linux/panels/hardware.libsonnet | 4 +- .../linux/panels/main.libsonnet | 1 - .../linux/panels/memory.libsonnet | 58 +- .../linux/panels/network.libsonnet | 122 ++--- .../linux/panels/system.libsonnet | 28 +- .../linux/targets/alerts.libsonnet | 25 + .../linux/targets/cpu.libsonnet | 53 ++ .../linux/targets/disk.libsonnet | 147 +++++ .../linux/targets/events.libsonnet | 61 +++ .../linux/targets/hardware.libsonnet | 20 + .../linux/targets/main.libsonnet | 12 + .../linux/targets/memory.libsonnet | 316 +++++++++++ .../linux/targets/network.libsonnet | 502 ++++++++++++++++++ .../linux/targets/system.libsonnet | 114 ++++ docs/node-observ-lib/macos/panels.libsonnet | 12 +- docs/node-observ-lib/macos/targets.libsonnet | 143 ++--- 21 files changed, 1480 insertions(+), 228 deletions(-) create mode 100644 docs/node-observ-lib/linux/targets/alerts.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/cpu.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/disk.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/events.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/hardware.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/main.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/memory.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/network.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/system.libsonnet diff --git a/docs/node-observ-lib/linux/annotations.libsonnet b/docs/node-observ-lib/linux/annotations.libsonnet index 5b8cb7ff79..205530bd8f 100644 --- a/docs/node-observ-lib/linux/annotations.libsonnet +++ b/docs/node-observ-lib/linux/annotations.libsonnet @@ -6,14 +6,14 @@ local commonlib = import 'common-lib/common/main.libsonnet'; reboot: commonlib.annotations.reboot.new( title='Reboot', - target=this.grafana.targets.reboot, + target=this.grafana.targets.events.reboot, instanceLabels=std.join(',', this.config.instanceLabels), ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)), memoryOOM: commonlib.annotations.base.new( 'OOMkill', - this.grafana.targets.memoryOOMkiller + this.grafana.targets.events.memoryOOMkiller ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + commonlib.annotations.base.withTextFormat('') @@ -24,7 +24,7 @@ local commonlib = import 'common-lib/common/main.libsonnet'; kernelUpdate: commonlib.annotations.base.new( 'Kernel update', - this.grafana.targets.kernelUpdate + this.grafana.targets.events.kernelUpdate ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels)) + commonlib.annotations.base.withTextFormat('') @@ -41,25 +41,25 @@ local commonlib = import 'common-lib/common/main.libsonnet'; { serviceFailed: commonlib.annotations.serviceFailed.new( title='Service failed', - target=this.grafana.targets.serviceFailed, + target=this.grafana.targets.events.serviceFailed, ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), criticalEvents: commonlib.annotations.fatal.new( title='Critical system event', - target=this.grafana.targets.criticalEvents, + target=this.grafana.targets.events.criticalEvents, ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])), sessionOpened: commonlib.annotations.base.new( title='Session opened', - target=this.grafana.targets.sessionOpened, + target=this.grafana.targets.events.sessionOpened, ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) { hide: true }, sessionClosed: commonlib.annotations.base.new( title='Session closed', - target=this.grafana.targets.sessionOpened, + target=this.grafana.targets.events.sessionOpened, ) + commonlib.annotations.base.withTagKeys(std.join(',', this.config.groupLabels + this.config.instanceLabels + ['level'])) { hide: true }, diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-observ-lib/linux/main.libsonnet index dbf335fe7e..4132a2a10b 100644 --- a/docs/node-observ-lib/linux/main.libsonnet +++ b/docs/node-observ-lib/linux/main.libsonnet @@ -7,7 +7,7 @@ local g = import './g.libsonnet'; local links = import './links.libsonnet'; local panels = import './panels/main.libsonnet'; local rules = import './rules.libsonnet'; -local targets = import './targets.libsonnet'; +local targets = import './targets/main.libsonnet'; local variables = import './variables.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; diff --git a/docs/node-observ-lib/linux/panels/cpu.libsonnet b/docs/node-observ-lib/linux/panels/cpu.libsonnet index bab41a1bc6..699a1d24b9 100644 --- a/docs/node-observ-lib/linux/panels/cpu.libsonnet +++ b/docs/node-observ-lib/linux/panels/cpu.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -9,20 +9,20 @@ local utils = commonlib.utils; local fieldOverride = g.panel.table.fieldOverride, local instanceLabel = this.config.instanceLabels[0], - cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpuCount]), - cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpuUsagePerCore]) + cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpu.cpuCount]), + cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpu.cpuUsagePerCore]) + g.panel.timeSeries.fieldConfig.defaults.custom.withStacking({ mode: 'normal' }), cpuUsageTopk: commonlib.panels.generic.timeSeries.topkPercentage.new( title='CPU usage', - target=t.cpuUsage, + target=t.cpu.cpuUsage, topk=25, instanceLabels=this.config.instanceLabels, drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), - cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpuUsage]), + cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpu.cpuUsage]), cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( - targets=[t.cpuUsageByMode], + targets=[t.cpu.cpuUsageByMode], description=||| - System: Processes executing in kernel mode. - User: Normal processes executing in user mode. diff --git a/docs/node-observ-lib/linux/panels/disk.libsonnet b/docs/node-observ-lib/linux/panels/disk.libsonnet index 250b25bece..154d95b4c5 100644 --- a/docs/node-observ-lib/linux/panels/disk.libsonnet +++ b/docs/node-observ-lib/linux/panels/disk.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -12,7 +12,7 @@ local utils = commonlib.utils; diskTotalRoot: commonlib.panels.disk.stat.total.new( 'Root mount size', - targets=[t.diskTotalRoot], + targets=[t.disk.diskTotalRoot], description=||| Total capacity on the primary mount point /. ||| @@ -21,12 +21,12 @@ local utils = commonlib.utils; commonlib.panels.disk.table.usage.new( totalTarget= ( - t.diskTotal + t.disk.diskTotal + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) ), freeTarget= - t.diskFree + t.disk.diskFree + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true), groupLabel='mountpoint' @@ -37,21 +37,21 @@ local utils = commonlib.utils; commonlib.panels.disk.timeSeries.available.new( 'Filesystem space availabe', targets=[ - t.diskFree, + t.disk.diskFree, ], description='Filesystem space utilisation in bytes, by mountpoint.' ), diskInodesFree: commonlib.panels.disk.timeSeries.base.new( 'Free inodes', - targets=[t.diskInodesFree], + targets=[t.disk.diskInodesFree], description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.' ) + g.panel.timeSeries.standardOptions.withUnit('short'), diskInodesTotal: commonlib.panels.disk.timeSeries.base.new( 'Total inodes', - targets=[t.diskInodesTotal], + targets=[t.disk.diskInodesTotal], description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', ) + g.panel.timeSeries.standardOptions.withUnit('short'), @@ -59,8 +59,8 @@ local utils = commonlib.utils; commonlib.panels.disk.timeSeries.base.new( 'Filesystems with errors / read-only', targets=[ - t.diskDeviceError, - t.diskReadOnly, + t.disk.diskDeviceError, + t.disk.diskReadOnly, ], description='', ) @@ -69,8 +69,8 @@ local utils = commonlib.utils; commonlib.panels.disk.timeSeries.base.new( 'File descriptors', targets=[ - t.processMaxFds, - t.processOpenFds, + t.disk.processMaxFds, + t.disk.processOpenFds, ], description=||| File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. @@ -79,18 +79,18 @@ local utils = commonlib.utils; ), diskUsagePercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( title='Disk space usage', - target=t.diskUsagePercent, + target=t.disk.diskUsagePercent, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, ), diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( - targets=[t.diskIOreadBytesPerSec, t.diskIOwriteBytesPerSec, t.diskIOutilization] + targets=[t.disk.diskIOreadBytesPerSec, t.disk.diskIOwriteBytesPerSec, t.disk.diskIOutilization] ), diskIOutilPercentTopK: commonlib.panels.generic.timeSeries.topkPercentage.new( title='Disk IO', - target=t.diskIOutilization, + target=t.disk.diskIOutilization, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, @@ -98,8 +98,8 @@ local utils = commonlib.utils; diskIOps: commonlib.panels.disk.timeSeries.iops.new( targets=[ - t.diskIOReads, - t.diskIOWrites, + t.disk.diskIOReads, + t.disk.diskIOWrites, ] ), @@ -108,13 +108,13 @@ local utils = commonlib.utils; 'Disk average queue', targets= [ - t.diskAvgQueueSize, + t.disk.diskAvgQueueSize, ] ), diskIOWaitTime: commonlib.panels.disk.timeSeries.ioWaitTime.new( targets=[ - t.diskIOWaitReadTime, - t.diskIOWaitWriteTime, + t.disk.diskIOWaitReadTime, + t.disk.diskIOWaitWriteTime, ] ), }, diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-observ-lib/linux/panels/fleet.libsonnet index 81de87e4f0..b25191090b 100644 --- a/docs/node-observ-lib/linux/panels/fleet.libsonnet +++ b/docs/node-observ-lib/linux/panels/fleet.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -13,47 +13,47 @@ local utils = commonlib.utils; 'Fleet overview', targets= [ - t.osInfoCombined + t.system.osInfoCombined + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('OS Info'), - t.uptime + t.system.uptime + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Uptime'), - t.systemLoad1 + t.system.systemLoad1 + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Load 1'), - t.cpuCount + t.cpu.cpuCount + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Cores'), - t.cpuUsage + t.cpu.cpuUsage + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('CPU usage'), - t.memoryTotalBytes + t.memory.memoryTotalBytes + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Memory total'), - t.memoryUsagePercent + t.memory.memoryUsagePercent + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Memory usage'), - t.diskTotalRoot + t.disk.diskTotalRoot + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Root mount size'), - t.diskUsageRootPercent + t.disk.diskUsageRootPercent + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Root mount used'), - t.alertsCritical + t.alerts.alertsCritical + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('CRITICAL'), - t.alertsWarning + t.alerts.alertsWarning + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('WARNING'), diff --git a/docs/node-observ-lib/linux/panels/hardware.libsonnet b/docs/node-observ-lib/linux/panels/hardware.libsonnet index 12cf7c83b3..50198e4c2f 100644 --- a/docs/node-observ-lib/linux/panels/hardware.libsonnet +++ b/docs/node-observ-lib/linux/panels/hardware.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -11,7 +11,7 @@ local utils = commonlib.utils; hardwareTemperature: commonlib.panels.hardware.timeSeries.temperature.new( 'Temperature', - targets=[t.hardwareTemperature] + targets=[t.hardware.hardwareTemperature] ), }, } diff --git a/docs/node-observ-lib/linux/panels/main.libsonnet b/docs/node-observ-lib/linux/panels/main.libsonnet index 93ef27e3e9..76fe7463a0 100644 --- a/docs/node-observ-lib/linux/panels/main.libsonnet +++ b/docs/node-observ-lib/linux/panels/main.libsonnet @@ -1,6 +1,5 @@ { new(config):: { - panels: (import './panels.libsonnet').new(config), cpu: (import './cpu.libsonnet').new(config), disk: (import './disk.libsonnet').new(config), fleet: (import './fleet.libsonnet').new(config), diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-observ-lib/linux/panels/memory.libsonnet index 384c92c770..f016b7a3ac 100644 --- a/docs/node-observ-lib/linux/panels/memory.libsonnet +++ b/docs/node-observ-lib/linux/panels/memory.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -9,11 +9,11 @@ local utils = commonlib.utils; local fieldOverride = g.panel.table.fieldOverride, local instanceLabel = this.config.instanceLabels[0], - memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memoryTotalBytes]), + memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memory.memoryTotalBytes]), memorySwapTotalBytes: commonlib.panels.memory.stat.total.new( 'Total swap', - targets=[t.memorySwapTotal], + targets=[t.memory.memorySwapTotal], description=||| Total swap available. @@ -23,10 +23,10 @@ local utils = commonlib.utils; freeing up physical memory for active processes and applications. ||| ), - memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memoryUsagePercent]), + memoryUsageStatPercent: commonlib.panels.memory.stat.usage.new(targets=[t.memory.memoryUsagePercent]), memotyUsageTopKPercent: commonlib.panels.generic.timeSeries.topkPercentage.new( title='Memory usage', - target=t.memoryUsagePercent, + target=t.memory.memoryUsagePercent, topk=25, instanceLabels=this.config.instanceLabels, drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, @@ -34,12 +34,12 @@ local utils = commonlib.utils; memoryUsageTsBytes: commonlib.panels.memory.timeSeries.usageBytes.new( targets=[ - t.memoryUsedBytes, - t.memoryCachedBytes, - t.memoryAvailableBytes, - t.memoryBuffersBytes, - t.memoryFreeBytes, - t.memoryTotalBytes, + t.memory.memoryUsedBytes, + t.memory.memoryCachedBytes, + t.memory.memoryAvailableBytes, + t.memory.memoryBuffersBytes, + t.memory.memoryFreeBytes, + t.memory.memoryTotalBytes, ], description= ||| @@ -58,8 +58,8 @@ local utils = commonlib.utils; options: { mode: 'exclude', names: [ - t.memoryTotalBytes.legendFormat, - t.memoryUsedBytes.legendFormat, + t.memory.memoryTotalBytes.legendFormat, + t.memory.memoryUsedBytes.legendFormat, ], prefix: 'All except:', readOnly: true, @@ -81,7 +81,7 @@ local utils = commonlib.utils; memoryPagesInOut: commonlib.panels.memory.timeSeries.base.new( 'Memory pages in / out', - targets=[t.memoryPagesIn, t.memoryPagesOut], + targets=[t.memory.memoryPagesIn, t.memory.memoryPagesOut], description=||| Page-In - Return of pages to physical memory. This is a common and normal event. @@ -96,7 +96,7 @@ local utils = commonlib.utils; memoryPagesSwapInOut: commonlib.panels.memory.timeSeries.base.new( 'Memory pages swapping in / out', - targets=[t.memoryPagesSwapIn, t.memoryPagesSwapOut], + targets=[t.memory.memoryPagesSwapIn, t.memory.memoryPagesSwapOut], description=||| Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. Nonetheless, it is a preferable option to crashing or killing off processes. @@ -112,7 +112,7 @@ local utils = commonlib.utils; memoryPagesFaults: commonlib.panels.memory.timeSeries.base.new( 'Memory page faults', - targets=[t.memoryPageMajorFaults, t.memoryPageMinorFaults], + targets=[t.memory.memoryPageMajorFaults, t.memory.memoryPageMinorFaults], description=||| A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, requiring a mapping to be added to the process's virtual address space. @@ -126,7 +126,7 @@ local utils = commonlib.utils; memoryOOMkiller: commonlib.panels.memory.timeSeries.base.new( 'OOM Killer', - targets=[t.memoryOOMkiller], + targets=[t.events.memoryOOMkiller], description=||| Out Of Memory killer is a process used by the Linux kernel when the system is running critically low on memory. @@ -137,7 +137,7 @@ local utils = commonlib.utils; memoryActiveInactive: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory active / inactive', - targets=[t.memoryActiveBytes, t.memoryInactiveBytes], + targets=[t.memory.memoryActiveBytes, t.memory.memoryInactiveBytes], description=||| - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. @@ -147,7 +147,7 @@ local utils = commonlib.utils; memoryActiveInactiveDetail: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory active / inactive details', - targets=[t.memoryInactiveFile, t.memoryInactiveAnon, t.memoryActiveFile, t.memoryActiveAnon], + targets=[t.memory.memoryInactiveFile, t.memory.memoryInactiveAnon, t.memory.memoryActiveFile, t.memory.memoryActiveAnon], description=||| - Inactive_file: File-backed memory on inactive LRU list. - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). @@ -159,7 +159,7 @@ local utils = commonlib.utils; memoryCommited: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory commited', - targets=[t.memoryCommitedAs, t.memoryCommitedLimit], + targets=[t.memory.memoryCommitedAs, t.memory.memoryCommitedLimit], description=||| - Committed_AS - Amount of memory presently allocated on the system. - CommitLimit - Amount of memory currently available to be allocated on the system. @@ -169,7 +169,7 @@ local utils = commonlib.utils; memorySharedAndMapped: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory shared and mapped', - targets=[t.memoryMappedBytes, t.memoryShmemBytes, t.memoryShmemPmdMappedBytes, t.memoryShmemHugePagesBytes], + targets=[t.memory.memoryMappedBytes, t.memory.memoryShmemBytes, t.memory.memoryShmemPmdMappedBytes, t.memory.memoryShmemHugePagesBytes], description=||| - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. @@ -180,7 +180,7 @@ local utils = commonlib.utils; memoryWriteAndDirty: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory writeback and dirty', - targets=[t.memoryWriteback, t.memoryWritebackTmp, t.memoryDirty], + targets=[t.memory.memoryWriteback, t.memory.memoryWritebackTmp, t.memory.memoryDirty], description=||| - Writeback: This refers to the memory that is currently being actively written back to the disk. - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. @@ -190,7 +190,7 @@ local utils = commonlib.utils; memoryVmalloc: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory Vmalloc', - targets=[t.memoryVmallocChunk, t.memoryVmallocTotal, t.memoryVmallocUsed], + targets=[t.memory.memoryVmallocChunk, t.memory.memoryVmallocTotal, t.memory.memoryVmallocUsed], description=||| Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. @@ -202,7 +202,7 @@ local utils = commonlib.utils; memorySlab: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory slab', - targets=[t.memorySlabSUnreclaim, t.memorySlabSReclaimable], + targets=[t.memory.memorySlabSUnreclaim, t.memory.memorySlabSReclaimable], description=||| Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. @@ -215,7 +215,7 @@ local utils = commonlib.utils; memoryAnonymous: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory slab', - targets=[t.memoryAnonHugePages, t.memoryAnonPages], + targets=[t.memory.memoryAnonHugePages, t.memory.memoryAnonPages], description=||| Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. @@ -233,7 +233,7 @@ local utils = commonlib.utils; memoryHugePagesCounter: commonlib.panels.memory.timeSeries.base.new( 'Memory HugePages counter', - targets=[t.memoryHugePages_Free, t.memoryHugePages_Rsvd, t.memoryHugePages_Surp], + targets=[t.memory.memoryHugePages_Free, t.memory.memoryHugePages_Rsvd, t.memory.memoryHugePages_Surp], description= ||| Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. @@ -246,7 +246,7 @@ local utils = commonlib.utils; memoryHugePagesSize: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory HugePages size', - targets=[t.memoryHugePagesTotalSize, t.memoryHugePagesSize], + targets=[t.memory.memoryHugePagesTotalSize, t.memory.memoryHugePagesSize], description=||| Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. @@ -256,7 +256,7 @@ local utils = commonlib.utils; memoryDirectMap: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory direct map', - targets=[t.memoryDirectMap1G, t.memoryDirectMap2M, t.memoryDirectMap4k], + targets=[t.memory.memoryDirectMap1G, t.memory.memoryDirectMap2M, t.memory.memoryDirectMap4k], description=||| Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. @@ -265,7 +265,7 @@ local utils = commonlib.utils; memoryBounce: commonlib.panels.memory.timeSeries.usageBytes.new( 'Memory bounce', - targets=[t.memoryBounce], + targets=[t.memory.memoryBounce], description=||| Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. diff --git a/docs/node-observ-lib/linux/panels/network.libsonnet b/docs/node-observ-lib/linux/panels/network.libsonnet index c07012cdb8..800e091734 100644 --- a/docs/node-observ-lib/linux/panels/network.libsonnet +++ b/docs/node-observ-lib/linux/panels/network.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -18,10 +18,10 @@ local utils = commonlib.utils; expr: t.expr + '>0', }, [ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, + t.network.networkOutErrorsPerSec, + t.network.networkInErrorsPerSec, + t.network.networkOutDroppedPerSec, + t.network.networkInDroppedPerSec, ] ), description=||| @@ -53,10 +53,10 @@ local utils = commonlib.utils; legendFormat: '{{' + this.config.instanceLabels[0] + '}}: ' + std.get(t, 'legendFormat', '{{ nic }}'), }, [ - t.networkOutErrorsPerSec, - t.networkInErrorsPerSec, - t.networkOutDroppedPerSec, - t.networkInDroppedPerSec, + t.network.networkOutErrorsPerSec, + t.network.networkInErrorsPerSec, + t.network.networkOutDroppedPerSec, + t.network.networkInDroppedPerSec, ] ), description=||| @@ -85,28 +85,28 @@ local utils = commonlib.utils; networkErrorsPerSec: commonlib.panels.network.timeSeries.errors.new( 'Network errors', - targets=[t.networkInErrorsPerSec, t.networkOutErrorsPerSec] + targets=[t.network.networkInErrorsPerSec, t.network.networkOutErrorsPerSec] ) + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), networkDroppedPerSec: commonlib.panels.network.timeSeries.dropped.new( - targets=[t.networkInDroppedPerSec, t.networkOutDroppedPerSec] + targets=[t.network.networkInDroppedPerSec, t.network.networkOutDroppedPerSec] ) + commonlib.panels.network.timeSeries.errors.withNegateOutPackets(), networkUsagePerSec: commonlib.panels.network.timeSeries.traffic.new( - targets=[t.networkInBitPerSecFiltered, t.networkOutBitPerSecFiltered] + targets=[t.network.networkInBitPerSecFiltered, t.network.networkOutBitPerSecFiltered] ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), networkPacketsPerSec: commonlib.panels.network.timeSeries.packets.new( - targets=[t.networkInPacketsPerSec, t.networkOutPacketsPerSec] + targets=[t.network.networkInPacketsPerSec, t.network.networkOutPacketsPerSec] ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), networkMulticastPerSec: commonlib.panels.network.timeSeries.multicast.new( 'Multicast packets', - targets=[t.networkInMulticastPacketsPerSec, t.networkOutMulticastPacketsPerSec], + targets=[t.network.networkInMulticastPacketsPerSec, t.network.networkOutMulticastPacketsPerSec], description='Multicast packets received and transmitted.' ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets(), @@ -114,7 +114,7 @@ local utils = commonlib.utils; networkFifo: commonlib.panels.network.timeSeries.packets.new( 'Network FIFO', - targets=[t.networkFifoInPerSec, t.networkFifoOutPerSec], + targets=[t.network.networkFifoInPerSec, t.network.networkFifoOutPerSec], description=||| Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. @@ -125,7 +125,7 @@ local utils = commonlib.utils; networkCompressedPerSec: commonlib.panels.network.timeSeries.packets.new( 'Compressed packets', - targets=[t.networkCompressedInPerSec, t.networkCompressedOutPerSec], + targets=[t.network.networkCompressedInPerSec, t.network.networkCompressedOutPerSec], description=||| - Compressed received: Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). @@ -140,7 +140,7 @@ local utils = commonlib.utils; networkNFConntrack: commonlib.panels.generic.timeSeries.base.new( 'NF conntrack', - targets=[t.networkNFConntrackEntries, t.networkNFConntrackLimits], + targets=[t.network.networkNFConntrackEntries, t.network.networkNFConntrackLimits], description=||| NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, enforce firewall rules, perform NAT, and manage network address/port translation. @@ -151,7 +151,7 @@ local utils = commonlib.utils; networkSoftnet: commonlib.panels.network.timeSeries.packets.new( 'Softnet packets', - targets=[t.networkSoftnetProcessedPerSec, t.networkSoftnetDroppedPerSec], + targets=[t.network.networkSoftnetProcessedPerSec, t.network.networkSoftnetDroppedPerSec], description=||| Softnet packets are received by the network and queued for processing by the kernel's networking stack. Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. @@ -162,7 +162,7 @@ local utils = commonlib.utils; networkSoftnetSqueeze: commonlib.panels.network.timeSeries.packets.new( 'Softnet out of quota', - targets=[t.networkSoftnetSqueezedPerSec], + targets=[t.network.networkSoftnetSqueezedPerSec], description=||| "Softnet out of quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. @@ -171,7 +171,7 @@ local utils = commonlib.utils; networkOperStatus: commonlib.panels.network.statusHistory.interfaceStatus.new( 'Network interfaces carrier status', - targets=[t.networkCarrier], + targets=[t.network.networkCarrier], description='Network interfaces carrier status', ), networkOverviewTable: @@ -179,39 +179,39 @@ local utils = commonlib.utils; 'Network interfaces overview', targets= [ - t.networkUp + t.network.networkUp + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Up'), - t.networkCarrier + t.network.networkCarrier + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Carrier'), - t.networkOutBitPerSec + t.network.networkOutBitPerSec + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(false) + g.query.prometheus.withRefId('Transmitted'), - t.networkInBitPerSec + t.network.networkInBitPerSec + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(false) + g.query.prometheus.withRefId('Received'), - t.networkArpEntries + t.network.networkArpEntries + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('ARP entries'), - t.networkMtuBytes + t.network.networkMtuBytes + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('MTU'), - t.networkSpeedBitsPerSec + t.network.networkSpeedBitsPerSec + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Speed'), - t.networkTransmitQueueLength + t.network.networkTransmitQueueLength + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Queue length'), - t.networkInfo + t.network.networkInfo + g.query.prometheus.withFormat('table') + g.query.prometheus.withInstant(true) + g.query.prometheus.withRefId('Info'), @@ -311,14 +311,14 @@ local utils = commonlib.utils; networkSockstatAll: commonlib.panels.generic.timeSeries.base.new( 'Sockets in use', - targets=[t.networkSocketsUsed], + targets=[t.network.networkSocketsUsed], description='Number of sockets currently in use.', ), networkSockstatTCP: commonlib.panels.generic.timeSeries.base.new( 'Sockets TCP', - targets=[t.networkSocketsTCPAllocated, t.networkSocketsTCPIPv4, t.networkSocketsTCPIPv6, t.networkSocketsTCPOrphans, t.networkSocketsTCPTimeWait], + targets=[t.network.networkSocketsTCPAllocated, t.network.networkSocketsTCPIPv4, t.network.networkSocketsTCPIPv6, t.network.networkSocketsTCPOrphans, t.network.networkSocketsTCPTimeWait], description=||| TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. @@ -328,7 +328,7 @@ local utils = commonlib.utils; networkSockstatUDP: commonlib.panels.generic.timeSeries.base.new( 'Sockets UDP', - targets=[t.networkSocketsUDPLiteInUse, t.networkSocketsUDPInUse, t.networkSocketsUDPLiteIPv6InUse, t.networkSocketsUDPIPv6InUse], + targets=[t.network.networkSocketsUDPLiteInUse, t.network.networkSocketsUDPInUse, t.network.networkSocketsUDPLiteIPv6InUse, t.network.networkSocketsUDPIPv6InUse], description=||| UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. @@ -337,7 +337,7 @@ local utils = commonlib.utils; networkSockstatOther: commonlib.panels.generic.timeSeries.base.new( 'Sockets other', - targets=[t.networkSocketsFragInUse, t.networkSocketsFragIPv6InUse, t.networkSocketsRawInUse, t.networkSocketsIPv6RawInUse], + targets=[t.network.networkSocketsFragInUse, t.network.networkSocketsFragIPv6InUse, t.network.networkSocketsRawInUse, t.network.networkSocketsIPv6RawInUse], description=||| FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. @@ -349,7 +349,7 @@ local utils = commonlib.utils; local override = g.panel.timeSeries.standardOptions.override; commonlib.panels.generic.timeSeries.base.new( title='Sockets memory', - targets=[t.networkSocketsTCPMemoryPages, t.networkSocketsUDPMemoryPages, t.networkSocketsTCPMemoryBytes, t.networkSocketsUDPMemoryBytes], + targets=[t.network.networkSocketsTCPMemoryPages, t.network.networkSocketsUDPMemoryPages, t.network.networkSocketsTCPMemoryBytes, t.network.networkSocketsUDPMemoryBytes], description=||| Memory currently in use for sockets. |||, @@ -372,7 +372,7 @@ local utils = commonlib.utils; local override = g.panel.timeSeries.standardOptions.override; commonlib.panels.network.timeSeries.packets.new( 'IP octets', - targets=[t.networkNetstatIPInOctetsPerSec, t.networkNetstatIPOutOctetsPerSec], + targets=[t.network.networkNetstatIPInOctetsPerSec, t.network.networkNetstatIPOutOctetsPerSec], description='Rate of IP octets received and transmitted.' ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() @@ -383,7 +383,7 @@ local utils = commonlib.utils; local override = g.panel.timeSeries.standardOptions.override; commonlib.panels.network.timeSeries.packets.new( 'TCP segments', - targets=[t.networkNetstatTCPInSegmentsPerSec, t.networkNetstatTCPOutSegmentsPerSec], + targets=[t.network.networkNetstatTCPInSegmentsPerSec, t.network.networkNetstatTCPOutSegmentsPerSec], description='Rate of TCP segments received and transmitted.' ) + commonlib.panels.network.timeSeries.traffic.withNegateOutPackets() @@ -395,12 +395,12 @@ local utils = commonlib.utils; commonlib.panels.network.timeSeries.errors.new( title='TCP errors rate', targets=[ - t.networkNetstatTCPOverflowPerSec, - t.networkNetstatTCPListenDropsPerSec, - t.networkNetstatTCPRetransPerSec, - t.networkNetstatTCPRetransSegPerSec, - t.networkNetstatTCPInWithErrorsPerSec, - t.networkNetstatTCPOutWithRstPerSec, + t.network.networkNetstatTCPOverflowPerSec, + t.network.networkNetstatTCPListenDropsPerSec, + t.network.networkNetstatTCPRetransPerSec, + t.network.networkNetstatTCPRetransSegPerSec, + t.network.networkNetstatTCPInWithErrorsPerSec, + t.network.networkNetstatTCPOutWithRstPerSec, ], description='Rate of TCP errors.' ) @@ -412,10 +412,10 @@ local utils = commonlib.utils; commonlib.panels.network.timeSeries.packets.new( 'UDP datagrams', targets=[ - t.networkNetstatIPInUDPPerSec, - t.networkNetstatIPOutUDPPerSec, - t.networkNetstatIPInUDP6PerSec, - t.networkNetstatIPOutUDP6PerSec, + t.network.networkNetstatIPInUDPPerSec, + t.network.networkNetstatIPOutUDPPerSec, + t.network.networkNetstatIPInUDP6PerSec, + t.network.networkNetstatIPOutUDP6PerSec, ], description='Rate of UDP datagrams received and transmitted.' ) @@ -428,15 +428,15 @@ local utils = commonlib.utils; commonlib.panels.network.timeSeries.errors.new( title='UDP errors rate', targets=[ - t.networkNetstatUDPLiteInErrorsPerSec, - t.networkNetstatUDPInErrorsPerSec, - t.networkNetstatUDP6InErrorsPerSec, - t.networkNetstatUDPNoPortsPerSec, - t.networkNetstatUDP6NoPortsPerSec, - t.networkNetstatUDPRcvBufErrsPerSec, - t.networkNetstatUDP6RcvBufErrsPerSec, - t.networkNetstatUDPSndBufErrsPerSec, - t.networkNetstatUDP6SndBufErrsPerSec, + t.network.networkNetstatUDPLiteInErrorsPerSec, + t.network.networkNetstatUDPInErrorsPerSec, + t.network.networkNetstatUDP6InErrorsPerSec, + t.network.networkNetstatUDPNoPortsPerSec, + t.network.networkNetstatUDP6NoPortsPerSec, + t.network.networkNetstatUDPRcvBufErrsPerSec, + t.network.networkNetstatUDP6RcvBufErrsPerSec, + t.network.networkNetstatUDPSndBufErrsPerSec, + t.network.networkNetstatUDP6SndBufErrsPerSec, ], description='Rate of UDP errors.' ) @@ -448,10 +448,10 @@ local utils = commonlib.utils; commonlib.panels.network.timeSeries.packets.new( 'ICMP messages', targets=[ - t.networkNetstatICMPInPerSec, - t.networkNetstatICMPOutPerSec, - t.networkNetstatICMP6InPerSec, - t.networkNetstatICMP6OutPerSec, + t.network.networkNetstatICMPInPerSec, + t.network.networkNetstatICMPOutPerSec, + t.network.networkNetstatICMP6InPerSec, + t.network.networkNetstatICMP6OutPerSec, ], description="Rate of ICMP messages, like 'ping', received and transmitted." ) @@ -464,8 +464,8 @@ local utils = commonlib.utils; commonlib.panels.network.timeSeries.errors.new( title='ICMP errors rate', targets=[ - t.networkNetstatICMPInErrorsPerSec, - t.networkNetstatICM6PInErrorsPerSec, + t.network.networkNetstatICMPInErrorsPerSec, + t.network.networkNetstatICM6PInErrorsPerSec, ], description='Rate of ICMP messages received and transmitted with errors.' ) diff --git a/docs/node-observ-lib/linux/panels/system.libsonnet b/docs/node-observ-lib/linux/panels/system.libsonnet index 8fff4348b7..a36a0e15cb 100644 --- a/docs/node-observ-lib/linux/panels/system.libsonnet +++ b/docs/node-observ-lib/linux/panels/system.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; { @@ -9,20 +9,20 @@ local utils = commonlib.utils; local fieldOverride = g.panel.table.fieldOverride, local instanceLabel = this.config.instanceLabels[0], - uptime: commonlib.panels.system.stat.uptime.new(targets=[t.uptime]), + uptime: commonlib.panels.system.stat.uptime.new(targets=[t.system.uptime]), systemLoad: commonlib.panels.system.timeSeries.loadAverage.new( - loadTargets=[t.systemLoad1, t.systemLoad5, t.systemLoad15], - cpuCountTarget=t.cpuCount, + loadTargets=[t.system.systemLoad1, t.system.systemLoad5, t.system.systemLoad15], + cpuCountTarget=t.cpu.cpuCount, ), systemContextSwitchesAndInterrupts: commonlib.panels.generic.timeSeries.base.new( 'Context switches/Interrupts', targets=[ - t.systemContextSwitches, - t.systemInterrupts, + t.system.systemContextSwitches, + t.system.systemInterrupts, ], description=||| Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention. @@ -34,7 +34,7 @@ local utils = commonlib.utils; timeNtpStatus: commonlib.panels.system.statusHistory.ntp.new( 'NTP status', - targets=[t.timeNtpStatus], + targets=[t.system.timeNtpStatus], description='Status of time synchronization.' ) + g.panel.timeSeries.standardOptions.withNoValue('No data.') @@ -43,9 +43,9 @@ local utils = commonlib.utils; commonlib.panels.generic.timeSeries.base.new( 'Time synchronized drift', targets=[ - t.timeEstimatedError, - t.timeOffset, - t.timeMaxError, + t.system.timeEstimatedError, + t.system.timeOffset, + t.system.timeMaxError, ], description=||| Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. @@ -55,24 +55,24 @@ local utils = commonlib.utils; + g.panel.timeSeries.standardOptions.withNoValue('No data.'), osInfo: commonlib.panels.generic.stat.info.new( 'OS', - targets=[t.osInfo], + targets=[t.system.osInfo], description='Operating system' ) { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, kernelVersion: commonlib.panels.generic.stat.info.new('Kernel version', - targets=[t.unameInfo], + targets=[t.system.unameInfo], description='Kernel version of linux host.') { options+: { reduceOptions+: { fields: '/^release$/' } } }, osTimezone: commonlib.panels.generic.stat.info.new( - 'Timezone', targets=[t.osTimezone], description='Current system timezone.' + 'Timezone', targets=[t.system.osTimezone], description='Current system timezone.' ) { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, hostname: commonlib.panels.generic.stat.info.new( 'Hostname', - targets=[t.unameInfo], + targets=[t.system.unameInfo], description="System's hostname." ) { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, diff --git a/docs/node-observ-lib/linux/targets/alerts.libsonnet b/docs/node-observ-lib/linux/targets/alerts.libsonnet new file mode 100644 index 0000000000..3d36ff3c5e --- /dev/null +++ b/docs/node-observ-lib/linux/targets/alerts.libsonnet @@ -0,0 +1,25 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + alertsCritical: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + alertsWarning: + prometheusQuery.new( + prometheusDatasource, + 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + + }, +} diff --git a/docs/node-observ-lib/linux/targets/cpu.libsonnet b/docs/node-observ-lib/linux/targets/cpu.libsonnet new file mode 100644 index 0000000000..834c75a639 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/cpu.libsonnet @@ -0,0 +1,53 @@ +local g = import '../../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + cpuCount: + prometheusQuery.new( + prometheusDatasource, + 'count without (cpu) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"})' % variables + ) + + prometheusQuery.withLegendFormat('Cores'), + cpuUsage: + prometheusQuery.new( + prometheusDatasource, + ||| + (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s))) + - + avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(queriesSelector)s}[$__rate_interval])))) * 100) + / + count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s)) + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('CPU usage'), + cpuUsagePerCore: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + (1 - sum without (mode) (rate(node_cpu_seconds_total{%(queriesSelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) + / ignoring(cpu) group_left + count without (cpu, mode) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"}) + ) * 100 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('CPU {{cpu}}'), + cpuUsageByMode: + prometheusQuery.new( + prometheusDatasource, + ||| + sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval])) + / on(%(instanceLabels)s) + group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval]))) * 100 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ) + + prometheusQuery.withLegendFormat('{{ mode }}'), + }, +} diff --git a/docs/node-observ-lib/linux/targets/disk.libsonnet b/docs/node-observ-lib/linux/targets/disk.libsonnet new file mode 100644 index 0000000000..0a06030a44 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/disk.libsonnet @@ -0,0 +1,147 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + uptimeQuery:: 'node_boot_time_seconds', + + diskTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ), + diskTotalRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_size_bytes{%(queriesSelector)s, mountpoint="/", fstype!="rootfs"}' % variables, + ), + diskUsageRoot: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(queriesSelector)s, mountpoint="/",fstype!="rootfs"}' % variables + ), + diskUsageRootPercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}/node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}*100' % variables + ), + diskFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} free'), + diskUsagePercent: + prometheusQuery.new( + prometheusDatasource, + '100 - node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}/node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}*100' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} used, %'), + + diskInodesFree: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files_free{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector }, + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes free'), + diskInodesTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_files{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes total'), + diskReadOnly: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_readonly{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} read-only'), + diskDeviceError: + prometheusQuery.new( + prometheusDatasource, + 'node_filesystem_device_error{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } + ) + + prometheusQuery.withLegendFormat('{{ mountpoint }} device error'), + // descriptors + processMaxFds: + prometheusQuery.new( + prometheusDatasource, + 'process_max_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum open file descriptors'), + processOpenFds: + prometheusQuery.new( + prometheusDatasource, + 'process_open_fds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Open file descriptors'), + + // disk(device) + diskIOreadBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_read_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} read'), + diskIOwriteBytesPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_written_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} written'), + diskIOutilization: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} io util'), + diskAvgQueueSize: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_disk_io_time_weighted_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, + ) + + prometheusQuery.withLegendFormat('{{ device }} avg queue'), + + diskIOWaitWriteTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_write_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg write time'), + diskIOWaitReadTime: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_read_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + / + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} avg read time'), + diskIOReads: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} reads'), + diskIOWrites: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) + ||| % variables { diskDeviceSelector: config.diskDeviceSelector } + ) + + prometheusQuery.withLegendFormat('{{ device }} writes'), + + }, +} diff --git a/docs/node-observ-lib/linux/targets/events.libsonnet b/docs/node-observ-lib/linux/targets/events.libsonnet new file mode 100644 index 0000000000..54b8448c9c --- /dev/null +++ b/docs/node-observ-lib/linux/targets/events.libsonnet @@ -0,0 +1,61 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + uptimeQuery:: 'node_boot_time_seconds', + + reboot: + prometheusQuery.new( + prometheusDatasource, + self.uptimeQuery + '{%(queriesSelector)s}*1000 > $__from < $__to' % variables, + ), + + serviceFailed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="init.scope"} |= "code=exited, status=1/FAILURE"' % variables + ), + // those events should be rare, so can be shown as annotations + criticalEvents: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, transport="kernel", level="emerg"}' % variables + ), + memoryOOMkiller: + prometheusQuery.new( + prometheusDatasource, + 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, + ) + + prometheusQuery.withLegendFormat('OOM killer invocations'), + + kernelUpdate: + prometheusQuery.new( + prometheusDatasource, + expr=||| + changes( + sum by (%(instanceLabels)s) ( + group by (%(instanceLabels)s,release) (node_uname_info{%(queriesSelector)s}) + ) + [$__interval:1m] offset -$__interval) > 1 + ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + + // new interactive session in logs: + sessionOpened: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"}|= "New session"' % variables + ), + sessionClosed: + lokiQuery.new( + lokiDatasource, + '{%(queriesSelector)s, unit="systemd-logind.service"} |= "logged out"' % variables + ), + }, +} diff --git a/docs/node-observ-lib/linux/targets/hardware.libsonnet b/docs/node-observ-lib/linux/targets/hardware.libsonnet new file mode 100644 index 0000000000..28c92425bc --- /dev/null +++ b/docs/node-observ-lib/linux/targets/hardware.libsonnet @@ -0,0 +1,20 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + hardwareTemperature: + prometheusQuery.new( + prometheusDatasource, + 'node_hwmon_temp_celsius{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('{{chip}}/{{sensor}}'), + + }, +} diff --git a/docs/node-observ-lib/linux/targets/main.libsonnet b/docs/node-observ-lib/linux/targets/main.libsonnet new file mode 100644 index 0000000000..4a968e5c2d --- /dev/null +++ b/docs/node-observ-lib/linux/targets/main.libsonnet @@ -0,0 +1,12 @@ +{ + new(config):: { + alerts: (import './alerts.libsonnet').new(config), + cpu: (import './cpu.libsonnet').new(config), + disk: (import './disk.libsonnet').new(config), + events: (import './events.libsonnet').new(config), + hardware: (import './hardware.libsonnet').new(config), + memory: (import './memory.libsonnet').new(config), + network: (import './network.libsonnet').new(config), + system: (import './system.libsonnet').new(config), + }, +} diff --git a/docs/node-observ-lib/linux/targets/memory.libsonnet b/docs/node-observ-lib/linux/targets/memory.libsonnet new file mode 100644 index 0000000000..c656f7b440 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/memory.libsonnet @@ -0,0 +1,316 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemTotal_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory total'), + memoryFreeBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemFree_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory free'), + memoryAvailableBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_MemAvailable_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory available'), + memoryCachedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Cached_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory cached'), + memoryBuffersBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Buffers_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory buffers'), + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_MemTotal_bytes{%(queriesSelector)s} + - + node_memory_MemFree_bytes{%(queriesSelector)s} + - + node_memory_Buffers_bytes{%(queriesSelector)s} + - + node_memory_Cached_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + 100 - + ( + avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(queriesSelector)s}) / + avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(queriesSelector)s}) + * 100 + ) + ||| + % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SwapTotal_bytes{%(queriesSelector)s}' % variables + ), + memoryPagesIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-In'), + memoryPagesOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgpgout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Page-Out'), + + memoryPagesSwapIn: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpin{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped in'), + memoryPagesSwapOut: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pswpout{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Pages swapped out'), + + memoryPageMajorFaults: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Major page fault operations'), + memoryPageMinorFaults: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_vmstat_pgfault{%(queriesSelector)s}[$__rate_interval]) + - + irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval]) + ||| % variables, + ) + + prometheusQuery.withLegendFormat('Minor page fault operations'), + + memoryInactiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive'), + memoryActiveBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active'), + + memoryInactiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_file'), + + memoryInactiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Inactive_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Inactive_anon'), + + memoryActiveFile: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_file_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_file'), + + memoryActiveAnon: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Active_anon_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Active_anon'), + + memoryCommitedAs: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Committed_AS_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Commited_AS'), + memoryCommitedLimit: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_CommitLimit_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('CommitLimit'), + + memoryMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Mapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Mapped'), + memoryShmemBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Shmem_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Shmem'), + memoryShmemHugePagesBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemHugePages'), + memoryShmemPmdMappedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_ShmemPmdMapped_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('ShmemPmdMapped'), + memoryWriteback: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Writeback_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Writeback'), + memoryWritebackTmp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_WritebackTmp_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('WritebackTmp'), + memoryDirty: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Dirty_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Dirty'), + + memoryVmallocChunk: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocChunk_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocChunk'), + memoryVmallocTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocTotal_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocTotal'), + memoryVmallocUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_VmallocUsed_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('VmallocUsed'), + memorySlabSUnreclaim: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SUnreclaim_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SUnreclaim'), + memorySlabSReclaimable: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_SReclaimable_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('SReclaimable'), + + memoryAnonHugePages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonHugePages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonHugePages'), + memoryAnonPages: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_AnonPages_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('AnonPages'), + + memoryHugePages_Free: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Free{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Free'), + memoryHugePages_Rsvd: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Rsvd{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Rsvd'), + memoryHugePages_Surp: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Surp{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('HugePages_Surp'), + memoryHugePagesTotalSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_HugePages_Total{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge pages total size'), + memoryHugePagesSize: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Hugepagesize_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Huge page size'), + memoryDirectMap1G: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap1G_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap1G'), + memoryDirectMap2M: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap2M_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap2M'), + memoryDirectMap4k: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_DirectMap4k_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('DirectMap4k'), + memoryBounce: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_Bounce_bytes{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Bounce'), + + }, +} diff --git a/docs/node-observ-lib/linux/targets/network.libsonnet b/docs/node-observ-lib/linux/targets/network.libsonnet new file mode 100644 index 0000000000..96be6cbe00 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/network.libsonnet @@ -0,0 +1,502 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + networkUp: + prometheusQuery.new( + prometheusDatasource, + 'node_network_up{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkCarrier: + prometheusQuery.new( + prometheusDatasource, + 'node_network_carrier{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('{{device}}'), + networkArpEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_arp_entries{%(queriesSelector)s}' % variables, + ), + networkMtuBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_network_mtu_bytes{%(queriesSelector)s}' % variables, + ), + networkSpeedBitsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'node_network_speed_bytes{%(queriesSelector)s} * 8' % variables, + ), + networkTransmitQueueLength: + prometheusQuery.new( + prometheusDatasource, + 'node_network_transmit_queue_length{%(queriesSelector)s}' % variables, + ), + networkInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_network_info{%(queriesSelector)s}' % variables, + ), + + networkOutBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkInBitPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutBitPerSecFiltered: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 + # only show interfaces that had traffic change at least once during selected dashboard interval: + and + increase( + node_network_transmit_bytes_total{%(queriesSelector)s}[$__range] + ) > 0 + ||| % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkInBitPerSecFiltered: + prometheusQuery.new( + prometheusDatasource, + ||| + irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 + # only show interfaces that had traffic change at least once during selected dashboard interval: + and + increase( + node_network_receive_bytes_total{%(queriesSelector)s}[$__range] + ) > 0 + ||| % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + + + networkOutErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors transmitted'), + networkInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} errors received'), + networkOutDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted dropped'), + networkInDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received dropped'), + + networkInPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkInMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkOutMulticastPacketsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + networkFifoInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkFifoOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkCompressedInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_receive_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} received'), + networkCompressedOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_network_transmit_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('{{ device }} transmitted'), + + networkNFConntrackEntries: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack entries'), + networkNFConntrackLimits: + prometheusQuery.new( + prometheusDatasource, + 'node_nf_conntrack_entries_limit{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('NF conntrack limits'), + + networkSoftnetProcessedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_processed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} processed'), + networkSoftnetDroppedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_dropped_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} dropped'), + networkSoftnetSqueezedPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_softnet_times_squeezed_total{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('CPU {{ cpu }} out of quota'), + + networkSocketsUsed: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_sockets_used{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 sockets in use'), + networkSocketsTCPAllocated: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_alloc{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Allocated'), + networkSocketsTCPIPv6: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 in use'), + networkSocketsTCPIPv4: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 in use'), + networkSocketsTCPOrphans: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_orphan{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Orphan sockets'), + networkSocketsTCPTimeWait: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_tw{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Time wait'), + + networkSocketsUDPLiteInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDPLITE in use'), + networkSocketsUDPInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 UDP in use'), + networkSocketsUDPLiteIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDPLITE6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDPLITE in use'), + networkSocketsUDPIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 UDP in use'), + + networkSocketsFragInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Frag sockets in use'), + networkSocketsFragIPv6InUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_FRAG6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Frag sockets in use'), + networkSocketsRawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv4 Raw sockets in use'), + networkSocketsIPv6RawInUse: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_RAW6_inuse{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('IPv6 Raw sockets in use'), + + networkSocketsTCPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for TCP sockets'), + networkSocketsUDPMemoryPages: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory pages allocated for UDP sockets'), + + networkSocketsTCPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_TCP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for TCP sockets'), + networkSocketsUDPMemoryBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_sockstat_UDP_mem_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Memory bytes allocated for UDP sockets'), + + networkNetstatIPInOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_InOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets received'), + networkNetstatIPOutOctetsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_IpExt_OutOctets{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('Octets transmitted'), + + networkNetstatTCPInSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received'), + networkNetstatTCPOutSegmentsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP transmitted'), + + networkNetstatTCPOverflowPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenOverflows{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP overflow'), + + networkNetstatTCPListenDropsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_ListenDrops{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP ListenDrops - SYNs to LISTEN sockets ignored'), + + networkNetstatTCPRetransPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_TcpExt_TCPSynRetrans{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP SYN rentransmits'), + + networkNetstatTCPRetransSegPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_RetransSegs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP retransmitted segments, containing one or more previously transmitted octets'), + networkNetstatTCPInWithErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_InErrs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP received with errors'), + + networkNetstatTCPOutWithRstPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Tcp_OutRsts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('TCP segments sent with RST flag'), + + networkNetstatIPInUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP received'), + + networkNetstatIPOutUDPPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmitted'), + + networkNetstatIPInUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 received'), + + networkNetstatIPOutUDP6PerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmitted'), + + //UDP errors + networkNetstatUDPLiteInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_UdpLite_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDPLite InErrors'), + + networkNetstatUDPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP InErrors'), + networkNetstatUDP6InErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 InErrors'), + networkNetstatUDPNoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP NoPorts'), + networkNetstatUDP6NoPortsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 NoPorts'), + networkNetstatUDPRcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP receive buffer errors'), + networkNetstatUDP6RcvBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 receive buffer errors'), + networkNetstatUDPSndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP transmit buffer errors'), + networkNetstatUDP6SndBufErrsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Udp6_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('UDP6 transmit buffer errors'), + + //ICMP + networkNetstatICMPInPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP received'), + networkNetstatICMPOutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP transmitted'), + networkNetstatICMP6InPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 received'), + networkNetstatICMP6OutPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 transmitted'), + + networkNetstatICMPInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + networkNetstatICM6PInErrorsPerSec: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_netstat_Icmp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables + ) + + prometheusQuery.withLegendFormat('ICMP6 errors'), + }, +} diff --git a/docs/node-observ-lib/linux/targets/system.libsonnet b/docs/node-observ-lib/linux/targets/system.libsonnet new file mode 100644 index 0000000000..c698255cb8 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/system.libsonnet @@ -0,0 +1,114 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + uptimeQuery:: 'node_boot_time_seconds', + uptime: + prometheusQuery.new( + prometheusDatasource, + 'time() - ' + self.uptimeQuery + '{%(queriesSelector)s}' % variables + ), + unameInfo: + prometheusQuery.new( + prometheusDatasource, + 'node_uname_info{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + osInfo: + prometheusQuery.new( + prometheusDatasource, + ||| + node_os_info{%(queriesSelector)s} + ||| % variables, + ) + + prometheusQuery.withFormat('table'), + osInfoCombined: + prometheusQuery.new( + prometheusDatasource, + ||| + node_uname_info{%(queriesSelector)s} + * on (%(groupLabels)s,%(instanceLabels)s) + group_left(pretty_name) + node_os_info{%(queriesSelector)s} + ||| % variables { + instanceLabels: std.join(',', this.config.instanceLabels), + groupLabels: std.join(',', this.config.groupLabels), + }, + ) + + prometheusQuery.withFormat('table'), + + osTimezone: //timezone label + prometheusQuery.new( + prometheusDatasource, + 'node_time_zone_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withFormat('table'), + + systemLoad1: + prometheusQuery.new( + prometheusDatasource, + 'node_load1{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('1m'), + systemLoad5: + prometheusQuery.new( + prometheusDatasource, + 'node_load5{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('5m'), + systemLoad15: + prometheusQuery.new( + prometheusDatasource, + 'node_load15{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('15m'), + + systemContextSwitches: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_context_switches_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Context switches'), + + systemInterrupts: + prometheusQuery.new( + prometheusDatasource, + 'irate(node_intr_total{%(queriesSelector)s}[$__rate_interval])' % variables, + ) + + prometheusQuery.withLegendFormat('Interrupts'), + + timeNtpStatus: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_sync_status{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('NTP status'), + + timeOffset: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_offset_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Time offset'), + + timeEstimatedError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_estimated_error_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Estimated error in seconds'), + timeMaxError: + prometheusQuery.new( + prometheusDatasource, + 'node_timex_maxerror_seconds{%(queriesSelector)s}' % variables, + ) + + prometheusQuery.withLegendFormat('Maximum error in seconds'), + + }, +} diff --git a/docs/node-observ-lib/macos/panels.libsonnet b/docs/node-observ-lib/macos/panels.libsonnet index 3da12fdcd2..454d769888 100644 --- a/docs/node-observ-lib/macos/panels.libsonnet +++ b/docs/node-observ-lib/macos/panels.libsonnet @@ -22,12 +22,12 @@ local utils = commonlib.utils; ||| ) + g.panel.timeSeries.queryOptions.withTargets([ - t.memoryUsedBytes, - t.memoryTotalBytes, - t.memoryAppBytes, - t.memoryWiredBytes, - t.memoryCompressedBytes, - t.memorySwapUsedBytes, + t.memory.memoryUsedBytes, + t.memory.memoryTotalBytes, + t.memory.memoryAppBytes, + t.memory.memoryWiredBytes, + t.memory.memoryCompressedBytes, + t.memory.memorySwapUsedBytes, ]) + commonlib.panels.generic.timeSeries.threshold.stylizeByRegexp('Physical memory'), }, diff --git a/docs/node-observ-lib/macos/targets.libsonnet b/docs/node-observ-lib/macos/targets.libsonnet index 25efc16572..0392a4c17f 100644 --- a/docs/node-observ-lib/macos/targets.libsonnet +++ b/docs/node-observ-lib/macos/targets.libsonnet @@ -9,79 +9,82 @@ local lokiQuery = g.query.loki; local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', - memoryTotalBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_total_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Physical memory'), + // override memory targets (other metrics in macos) + memory+: { + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_total_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Physical memory'), - memoryUsedBytes: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - node_memory_internal_bytes{%(queriesSelector)s} - - node_memory_purgeable_bytes{%(queriesSelector)s} + - node_memory_wired_bytes{%(queriesSelector)s} + - node_memory_compressed_bytes{%(queriesSelector)s} - ) - ||| % variables - ) - + prometheusQuery.withLegendFormat('Memory used'), - memoryAppBytes: - prometheusQuery.new( - prometheusDatasource, - ||| - ( + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( node_memory_internal_bytes{%(queriesSelector)s} - - node_memory_purgeable_bytes{%(queriesSelector)s} - ) - ||| % variables - ) - + prometheusQuery.withLegendFormat('App memory'), - memoryWiredBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_wired_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Wired memory'), - memoryCompressedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_compressed_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Compressed memory'), + node_memory_purgeable_bytes{%(queriesSelector)s} + + node_memory_wired_bytes{%(queriesSelector)s} + + node_memory_compressed_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + memoryAppBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_internal_bytes{%(queriesSelector)s} - + node_memory_purgeable_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('App memory'), + memoryWiredBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_wired_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Wired memory'), + memoryCompressedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_compressed_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Compressed memory'), - memoryUsagePercent: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - ( - avg(node_memory_internal_bytes{%(queriesSelector)s}) - - avg(node_memory_purgeable_bytes{%(queriesSelector)s}) + - avg(node_memory_wired_bytes{%(queriesSelector)s}) + - avg(node_memory_compressed_bytes{%(queriesSelector)s}) - ) / - avg(node_memory_total_bytes{%(queriesSelector)s}) - ) - * - 100 - ||| - % variables, - ), - memorySwapTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_swap_total_bytes{%(queriesSelector)s}' % variables - ), + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + ( + avg(node_memory_internal_bytes{%(queriesSelector)s}) - + avg(node_memory_purgeable_bytes{%(queriesSelector)s}) + + avg(node_memory_wired_bytes{%(queriesSelector)s}) + + avg(node_memory_compressed_bytes{%(queriesSelector)s}) + ) / + avg(node_memory_total_bytes{%(queriesSelector)s}) + ) + * + 100 + ||| + % variables, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_total_bytes{%(queriesSelector)s}' % variables + ), - memorySwapUsedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_swap_used_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Swap used'), + memorySwapUsedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_used_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Swap used'), + }, }, } From 4ce1e0228116bc63bdfc46a922514b89092d7aa2 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Mon, 28 Oct 2024 16:23:48 +0000 Subject: [PATCH 017/151] Fix memory anonymous Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/linux/panels/memory.libsonnet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-observ-lib/linux/panels/memory.libsonnet index f016b7a3ac..7cd813be86 100644 --- a/docs/node-observ-lib/linux/panels/memory.libsonnet +++ b/docs/node-observ-lib/linux/panels/memory.libsonnet @@ -214,7 +214,7 @@ local utils = commonlib.utils; ), memoryAnonymous: commonlib.panels.memory.timeSeries.usageBytes.new( - 'Memory slab', + 'Memory anonymous', targets=[t.memory.memoryAnonHugePages, t.memory.memoryAnonPages], description=||| Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. From 11e65e9ab28bb7feb697a8557c11e1851e675871 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 30 Oct 2024 12:49:54 +0000 Subject: [PATCH 018/151] Updat to grafana 11 Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/g.libsonnet | 2 +- .../linux/panels/fleet.libsonnet | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/node-observ-lib/g.libsonnet b/docs/node-observ-lib/g.libsonnet index 6da9f4eef9..f89dcc0641 100644 --- a/docs/node-observ-lib/g.libsonnet +++ b/docs/node-observ-lib/g.libsonnet @@ -1 +1 @@ -import 'github.com/grafana/grafonnet/gen/grafonnet-v10.0.0/main.libsonnet' +import 'github.com/grafana/grafonnet/gen/grafonnet-v11.0.0/main.libsonnet' diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-observ-lib/linux/panels/fleet.libsonnet index b25191090b..01f79472fc 100644 --- a/docs/node-observ-lib/linux/panels/fleet.libsonnet +++ b/docs/node-observ-lib/linux/panels/fleet.libsonnet @@ -98,7 +98,13 @@ local utils = commonlib.utils; + fieldOverride.byName.withProperty('custom.width', '120'), fieldOverride.byName.new('CPU usage') + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withProperty( + 'custom.cellOptions', { + type: 'gauge', + mode: 'basic', + valueDisplayMode: 'text', + } + ) + fieldOverride.byName.withPropertiesFromOptions( commonlib.panels.cpu.timeSeries.utilization.stylize() ), @@ -109,7 +115,13 @@ local utils = commonlib.utils; ), fieldOverride.byName.new('Memory usage') + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withProperty( + 'custom.cellOptions', { + type: 'gauge', + mode: 'basic', + valueDisplayMode: 'text', + } + ) + fieldOverride.byName.withPropertiesFromOptions( commonlib.panels.cpu.timeSeries.utilization.stylize() ), @@ -120,7 +132,13 @@ local utils = commonlib.utils; ), fieldOverride.byName.new('Root mount used') + fieldOverride.byName.withProperty('custom.width', '120') - + fieldOverride.byName.withProperty('custom.displayMode', 'basic') + + fieldOverride.byName.withProperty( + 'custom.cellOptions', { + type: 'gauge', + mode: 'basic', + valueDisplayMode: 'text', + } + ) + fieldOverride.byName.withPropertiesFromOptions( table.standardOptions.withUnit('percent') ) From 5844d93b7bf15d0ad388fb96b3d96c8b55dc4f36 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 30 Oct 2024 13:29:46 +0000 Subject: [PATCH 019/151] Update network table to Grafana 11 Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/jsonnetfile.lock.json | 40 ++++++++++++++----- .../linux/panels/network.libsonnet | 18 ++++++++- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/docs/node-observ-lib/jsonnetfile.lock.json b/docs/node-observ-lib/jsonnetfile.lock.json index a2ae6bb858..fb65b9ead5 100644 --- a/docs/node-observ-lib/jsonnetfile.lock.json +++ b/docs/node-observ-lib/jsonnetfile.lock.json @@ -8,8 +8,18 @@ "subdir": "gen/grafonnet-v10.0.0" } }, - "version": "bb2afaffbcefeae1035cd691ab06a486e0022002", - "sum": "gj/20VIGucG2vDGjG7YdHLC4yUUfrpuaneUYaRmymOM=" + "version": "1ce5aec95ce32336fe47c8881361847c475b5254", + "sum": "xdcrJPJlpkq4+5LpGwN4tPAuheNNLXZjE6tDcyvFjr0=" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v11.0.0" + } + }, + "version": "1ce5aec95ce32336fe47c8881361847c475b5254", + "sum": "0BvzR0i4bS4hc2O3xDv6i9m52z7mPrjvqxtcPrGhynA=" }, { "source": { @@ -18,8 +28,8 @@ "subdir": "common-lib" } }, - "version": "eb731883044fc58f255d79c2a8d78a5854084e05", - "sum": "DqKb0LXimrOgvBIP6aXifpvJlBGUirY+FtY3xE1Hqdw=" + "version": "b9761545ddeac33ffe25bd87121076eab258c6f1", + "sum": "tfvNQmtjIkqbgy7FU3FDy34OYoZhWskDCQanbiScaHU=" }, { "source": { @@ -28,8 +38,8 @@ "subdir": "logs-lib" } }, - "version": "eb731883044fc58f255d79c2a8d78a5854084e05", - "sum": "IkBo9nj0Qt1eC9w80dO5SI4yvHzmmXcKx5BK8H8U0Mk=" + "version": "b9761545ddeac33ffe25bd87121076eab258c6f1", + "sum": "05RYR0TOrWza0n8lgF9K7naGY7kM6OTBePsoiJw2TUE=" }, { "source": { @@ -38,8 +48,8 @@ "subdir": "doc-util" } }, - "version": "503e5c8fe96d6b55775037713ac10b184709ad93", - "sum": "BY4u0kLF3Qf/4IB4HnX9S5kEQIpHb4MUrppp6WLDtlU=" + "version": "6ac6c69685b8c29c54515448eaca583da2d88150", + "sum": "BrAL/k23jq+xy9oA7TWIhUx07dsA/QLm3g7ktCwe//U=" }, { "source": { @@ -48,8 +58,18 @@ "subdir": "" } }, - "version": "c1a315a7dbead0335a5e0486acc5583395b22a24", - "sum": "UVdL+uuFI8BSQgLfMJEJk2WDKsQXNT3dRHcr2Ti9rLI=" + "version": "63d430b69a95741061c2f7fc9d84b1a778511d9c", + "sum": "qiZi3axUSXCVzKUF83zSAxklwrnitMmrDK4XAfjPMdE=" + }, + { + "source": { + "git": { + "remote": "https://github.com/yugui/jsonnetunit.git", + "subdir": "jsonnetunit" + } + }, + "version": "6927c58cae7624a00f368b977ccc477d4f74071f", + "sum": "9FFqqln65hooRF0l6rjICDtnTxUlmDj34+sKMh4sjPI=" } ], "legacyImports": false diff --git a/docs/node-observ-lib/linux/panels/network.libsonnet b/docs/node-observ-lib/linux/panels/network.libsonnet index 800e091734..82db7a42e8 100644 --- a/docs/node-observ-lib/linux/panels/network.libsonnet +++ b/docs/node-observ-lib/linux/panels/network.libsonnet @@ -218,6 +218,10 @@ local utils = commonlib.utils; ], description='Network interfaces overview.' ) + + g.panel.table.standardOptions.withOverridesMixin([ + fieldOverride.byName.new('Interface') + + fieldOverride.byName.withProperty('custom.filterable', true), + ]) + g.panel.table.standardOptions.withOverridesMixin([ fieldOverride.byName.new('Speed') + fieldOverride.byName.withPropertiesFromOptions( @@ -226,7 +230,13 @@ local utils = commonlib.utils; ]) + g.panel.table.standardOptions.withOverridesMixin([ fieldOverride.byRegexp.new('Transmitted|Received') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'gradient-gauge') + + fieldOverride.byRegexp.withProperty( + 'custom.cellOptions', { + type: 'gauge', + mode: 'gradient', + valueDisplayMode: 'text', + } + ) + fieldOverride.byRegexp.withPropertiesFromOptions( table.standardOptions.withUnit('bps') + table.standardOptions.color.withMode('continuous-BlYlRd') @@ -235,7 +245,11 @@ local utils = commonlib.utils; ]) + g.panel.table.standardOptions.withOverridesMixin([ fieldOverride.byRegexp.new('Carrier|Up') - + fieldOverride.byRegexp.withProperty('custom.displayMode', 'color-text') + + fieldOverride.byRegexp.withProperty( + 'custom.cellOptions', { + type: 'color-text', + } + ) + fieldOverride.byRegexp.withPropertiesFromOptions( table.standardOptions.withMappings( { From d5fe08ab1d5cbcac920cb02bab76449726160140 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 30 Oct 2024 14:04:14 +0000 Subject: [PATCH 020/151] Update node_vmstat_oom_kill Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/lib/common.libsonnet | 2 +- docs/node-observ-lib/linux/targets.libsonnet | 2 +- docs/node-observ-lib/linux/targets/events.libsonnet | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/node-mixin/lib/common.libsonnet b/docs/node-mixin/lib/common.libsonnet index 66d45fd5c5..f9ff9f9b22 100644 --- a/docs/node-mixin/lib/common.libsonnet +++ b/docs/node-mixin/lib/common.libsonnet @@ -122,7 +122,7 @@ local nodeTimeseries = nodePanels.timeseries; }, enable: true, hide: true, - expr: 'increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval])' % config { nodeQuerySelector: nodeQuerySelector }, + expr: 'increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval:] offset -$__interval)' % config { nodeQuerySelector: nodeQuerySelector }, name: 'OOMkill', iconColor: 'light-purple', tagKeys: config.instanceLabels, diff --git a/docs/node-observ-lib/linux/targets.libsonnet b/docs/node-observ-lib/linux/targets.libsonnet index cc9dd8e94c..a12ad388a8 100644 --- a/docs/node-observ-lib/linux/targets.libsonnet +++ b/docs/node-observ-lib/linux/targets.libsonnet @@ -30,7 +30,7 @@ local lokiQuery = g.query.loki; memoryOOMkiller: prometheusQuery.new( prometheusDatasource, - 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, + 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval:] offset -$__interval)' % variables, ) + prometheusQuery.withLegendFormat('OOM killer invocations'), diff --git a/docs/node-observ-lib/linux/targets/events.libsonnet b/docs/node-observ-lib/linux/targets/events.libsonnet index 54b8448c9c..61626b25a6 100644 --- a/docs/node-observ-lib/linux/targets/events.libsonnet +++ b/docs/node-observ-lib/linux/targets/events.libsonnet @@ -30,7 +30,7 @@ local lokiQuery = g.query.loki; memoryOOMkiller: prometheusQuery.new( prometheusDatasource, - 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval])' % variables, + 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval:] offset -$__interval)' % variables, ) + prometheusQuery.withLegendFormat('OOM killer invocations'), From 9eeda12e4a78e39aae018409b86d7e6f7bec4459 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Wed, 30 Oct 2024 14:16:04 +0000 Subject: [PATCH 021/151] Add rows as separate entity Signed-off-by: Vitaly Zhuravlev --- .../linux/dashboards.libsonnet | 172 +++++----------- docs/node-observ-lib/linux/main.libsonnet | 2 + docs/node-observ-lib/linux/rows.libsonnet | 187 ++++++++++++++++++ 3 files changed, 238 insertions(+), 123 deletions(-) create mode 100644 docs/node-observ-lib/linux/rows.libsonnet diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-observ-lib/linux/dashboards.libsonnet index b4e76ba145..3c7f641e98 100644 --- a/docs/node-observ-lib/linux/dashboards.libsonnet +++ b/docs/node-observ-lib/linux/dashboards.libsonnet @@ -13,61 +13,36 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local period = this.config.dashboardPeriod; local timezone = this.config.dashboardTimezone; local panels = this.grafana.panels; + local rows = this.grafana.rows; local stat = g.panel.stat; { 'fleet.json': local title = prefix + 'fleet overview'; g.dashboard.new(title) + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - // g.panel.row.new("Overview"), - panels.fleet.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, - panels.cpu.cpuUsageTopk { gridPos+: { w: 24 } }, - panels.memory.memotyUsageTopKPercent { gridPos+: { w: 24 } }, - panels.disk.diskIOutilPercentTopK { gridPos+: { w: 12 } }, - panels.disk.diskUsagePercentTopK { gridPos+: { w: 12 } }, - panels.network.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, - ], 12, 7 - ) + g.util.grid.wrapPanels(rows.fleet.panels, 12, 7) ) // hide link to self + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), 'overview.json': g.dashboard.new(prefix + 'overview') + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Overview'), - panels.system.uptime, - panels.system.hostname, - panels.system.kernelVersion, - panels.system.osInfo, - panels.cpu.cpuCount, - panels.memory.memoryTotalBytes, - panels.memory.memorySwapTotalBytes, - panels.disk.diskTotalRoot, - g.panel.row.new('CPU'), - panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, - panels.system.systemLoad { gridPos+: { w: 6, h: 6 } }, - g.panel.row.new('Memory'), - panels.memory.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memory.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, - g.panel.row.new('Disk'), - panels.disk.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, - panels.disk.diskUsage { gridPos+: { w: 12, h: 8 } }, - g.panel.row.new('Network'), - panels.network.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, - panels.network.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, - ] - + - if this.config.enableHardware then + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( [ - g.panel.row.new('Hardware'), - panels.hardware.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, - ] else [] - , 6, 2 + rows.overview, + rows.cpuOverview, + rows.memoryOverview, + rows.diskOverview, + rows.networkOverview, + ] + + + if this.config.enableHardware then + [ + rows.hardware, + ] else [] + , 6, 2 + ) ) ) // defaults to uid=nodes for backward compatibility with old node-mixins @@ -75,65 +50,30 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso 'network.json': g.dashboard.new(prefix + 'network') + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Network'), - panels.network.networkOverviewTable { gridPos: { w: 24 } }, - panels.network.networkUsagePerSec, - panels.network.networkOperStatus, - panels.network.networkErrorsPerSec, - panels.network.networkDroppedPerSec, - panels.network.networkPacketsPerSec, - panels.network.networkMulticastPerSec, - panels.network.networkFifo, - panels.network.networkCompressedPerSec, - panels.network.networkNFConntrack, - panels.network.networkSoftnet, - panels.network.networkSoftnetSqueeze, - g.panel.row.new('Network sockets'), - panels.network.networkSockstatAll { gridPos: { w: 24 } }, - panels.network.networkSockstatTCP, - panels.network.networkSockstatUDP, - panels.network.networkSockstatMemory, - panels.network.networkSockstatOther, - g.panel.row.new('Network netstat'), - panels.network.networkNetstatIP { gridPos: { w: 24 } }, - panels.network.networkNetstatTCP, - panels.network.networkNetstatTCPerrors, - panels.network.networkNetstatUDP, - panels.network.networkNetstatUDPerrors, - panels.network.networkNetstatICMP, - panels.network.networkNetstatICMPerrors, - ], 12, 8 + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.network, + rows.networkSockets + + g.panel.row.withCollapsed(true), + rows.networkNetstat + + g.panel.row.withCollapsed(true), + ], 12, 8 + ) ) ) + root.applyCommon(vars.singleInstance, uid + '-network', tags, links, annotations, timezone, refresh, period), 'memory.json': g.dashboard.new(prefix + 'memory') + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - panels.memory.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, - panels.memory.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, - g.panel.row.new('Vmstat'), - panels.memory.memoryPagesInOut, - panels.memory.memoryPagesSwapInOut, - panels.memory.memoryPagesFaults, - panels.memory.memoryOOMkiller, - g.panel.row.new('Memstat'), - panels.memory.memoryActiveInactive, - panels.memory.memoryActiveInactiveDetail, - panels.memory.memoryCommited, - panels.memory.memorySharedAndMapped, - panels.memory.memoryWriteAndDirty, - panels.memory.memoryVmalloc, - panels.memory.memorySlab, - panels.memory.memoryAnonymous, - panels.memory.memoryHugePagesCounter, - panels.memory.memoryHugePagesSize, - panels.memory.memoryDirectMap, - panels.memory.memoryBounce, - ], 12, 8 + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.memoryOverview, + rows.memoryVmstat, + rows.memoryMemstat, + ], 12, 8 + ) ) ) + root.applyCommon(vars.singleInstance, uid + '-memory', tags, links, annotations, timezone, refresh, period), @@ -141,19 +81,13 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso 'system.json': g.dashboard.new(prefix + 'CPU and system') + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('System'), - panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, - panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, - panels.cpu.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, - panels.system.systemLoad, - panels.system.systemContextSwitchesAndInterrupts, - g.panel.row.new('Time'), - panels.system.osTimezone { gridPos+: { w: 3, h: 4 } }, - panels.system.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, - panels.system.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, - ], 12, 7 + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.cpuAndSystem, + rows.time, + ], 12, 7 + ) ) ) + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), @@ -161,21 +95,13 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso 'disks.json': g.dashboard.new(prefix + 'filesystem and disks') + g.dashboard.withPanels( - g.util.grid.wrapPanels( - [ - g.panel.row.new('Filesystem'), - panels.disk.diskFreeTs, - panels.disk.diskUsage, - panels.disk.diskInodesFree, - panels.disk.diskInodesTotal, - panels.disk.diskErrorsandRO, - panels.disk.fileDescriptors, - g.panel.row.new('Disk'), - panels.disk.diskIOBytesPerSec, - panels.disk.diskIOps, - panels.disk.diskIOWaitTime, - panels.disk.diskQueue, - ], 12, 8 + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.filesystem, + rows.disk, + ], 12, 8 + ) ) ) + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-observ-lib/linux/main.libsonnet index 4132a2a10b..d46b83f054 100644 --- a/docs/node-observ-lib/linux/main.libsonnet +++ b/docs/node-observ-lib/linux/main.libsonnet @@ -6,6 +6,7 @@ local datasources = import './datasources.libsonnet'; local g = import './g.libsonnet'; local links = import './links.libsonnet'; local panels = import './panels/main.libsonnet'; +local rows = import './rows.libsonnet'; local rules = import './rules.libsonnet'; local targets = import './targets/main.libsonnet'; local variables = import './variables.libsonnet'; @@ -27,6 +28,7 @@ local commonlib = import 'common-lib/common/main.libsonnet'; annotations: annotations.new(this), // common links here used across all dashboards links: links.new(this), + rows: rows.new(this), dashboards: dashboards.new(this), }, diff --git a/docs/node-observ-lib/linux/rows.libsonnet b/docs/node-observ-lib/linux/rows.libsonnet new file mode 100644 index 0000000000..d4bc4f0854 --- /dev/null +++ b/docs/node-observ-lib/linux/rows.libsonnet @@ -0,0 +1,187 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + local panels = this.grafana.panels, + + fleet: + g.panel.row.new('Fleet overview') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + // g.panel.row.new("Overview"), + panels.fleet.fleetOverviewTable { gridPos+: { w: 24, h: 16 } }, + panels.cpu.cpuUsageTopk { gridPos+: { w: 24 } }, + panels.memory.memotyUsageTopKPercent { gridPos+: { w: 24 } }, + panels.disk.diskIOutilPercentTopK { gridPos+: { w: 12 } }, + panels.disk.diskUsagePercentTopK { gridPos+: { w: 12 } }, + panels.network.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, + ] + ), + + overview: + g.panel.row.new('Overview') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + panels.system.uptime { gridPos+: { w: 6, h: 2 } }, + panels.system.hostname { gridPos+: { w: 6, h: 2 } }, + panels.system.kernelVersion { gridPos+: { w: 6, h: 2 } }, + panels.system.osInfo { gridPos+: { w: 6, h: 2 } }, + panels.cpu.cpuCount { gridPos+: { w: 6, h: 2 } }, + panels.memory.memoryTotalBytes { gridPos+: { w: 6, h: 2 } }, + panels.memory.memorySwapTotalBytes { gridPos+: { w: 6, h: 2 } }, + panels.disk.diskTotalRoot { gridPos+: { w: 6, h: 2 } }, + ] + ), + time: + g.panel.row.new('Time') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.system.osTimezone { gridPos+: { w: 3, h: 4 } }, + panels.system.timeNtpStatus { gridPos+: { x: 0, y: 0, w: 21, h: 4 } }, + panels.system.timeSyncDrift { gridPos+: { w: 24, h: 7 } }, + ]), + cpuOverview: + g.panel.row.new('CPU') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 12, h: 6 } }, + panels.system.systemLoad { gridPos+: { w: 6, h: 6 } }, + ] + ), + cpuAndSystem: + g.panel.row.new('System') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.cpu.cpuUsageStat { gridPos+: { w: 6, h: 6 } }, + panels.cpu.cpuUsageTsPerCore { gridPos+: { w: 9, h: 6 } }, + panels.cpu.cpuUsageByMode { gridPos+: { w: 9, h: 6 } }, + panels.system.systemLoad, + panels.system.systemContextSwitchesAndInterrupts, + ]), + memoryOverview: + g.panel.row.new('Memory') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + panels.memory.memoryUsageStatPercent { gridPos+: { w: 6, h: 6 } }, + panels.memory.memoryUsageTsBytes { gridPos+: { w: 18, h: 6 } }, + ] + ), + memoryVmstat: + g.panel.row.new('Vmstat') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + panels.memory.memoryPagesInOut, + panels.memory.memoryPagesSwapInOut, + panels.memory.memoryPagesFaults, + panels.memory.memoryOOMkiller, + ] + ), + memoryMemstat: + g.panel.row.new('Memstat') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels( + [ + panels.memory.memoryActiveInactive, + panels.memory.memoryActiveInactiveDetail, + panels.memory.memoryCommited, + panels.memory.memorySharedAndMapped, + panels.memory.memoryWriteAndDirty, + panels.memory.memoryVmalloc, + panels.memory.memorySlab, + panels.memory.memoryAnonymous, + panels.memory.memoryHugePagesCounter, + panels.memory.memoryHugePagesSize, + panels.memory.memoryDirectMap, + panels.memory.memoryBounce, + ] + ), + diskOverview: + g.panel.row.new('Disk') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.disk.diskIOBytesPerSec { gridPos+: { w: 12, h: 8 } }, + panels.disk.diskUsage { gridPos+: { w: 12, h: 8 } }, + ]), + disk: + g.panel.row.new('Disk') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.disk.diskIOBytesPerSec, + panels.disk.diskIOps, + panels.disk.diskIOWaitTime, + panels.disk.diskQueue, + ]), + filesystem: + g.panel.row.new('Filesystem') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.disk.diskFreeTs, + panels.disk.diskUsage, + panels.disk.diskInodesFree, + panels.disk.diskInodesTotal, + panels.disk.diskErrorsandRO, + panels.disk.fileDescriptors, + ]), + networkOverview: + g.panel.row.new('Network') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.network.networkUsagePerSec { gridPos+: { w: 12, h: 8 } }, + panels.network.networkErrorsAndDroppedPerSec { gridPos+: { w: 12, h: 8 } }, + ]), + network: + g.panel.row.new('Network') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.network.networkOverviewTable { gridPos: { w: 24 } }, + panels.network.networkUsagePerSec, + panels.network.networkOperStatus, + panels.network.networkErrorsPerSec, + panels.network.networkDroppedPerSec, + panels.network.networkPacketsPerSec, + panels.network.networkMulticastPerSec, + panels.network.networkFifo, + panels.network.networkCompressedPerSec, + panels.network.networkNFConntrack, + panels.network.networkSoftnet, + panels.network.networkSoftnetSqueeze, + ]), + networkSockets: + g.panel.row.new('Network sockets') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.network.networkSockstatAll { gridPos: { w: 24 } }, + panels.network.networkSockstatTCP, + panels.network.networkSockstatUDP, + panels.network.networkSockstatMemory, + panels.network.networkSockstatOther, + ]), + networkNetstat: + g.panel.row.new('Network netstat') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.network.networkNetstatIP { gridPos: { w: 24 } }, + panels.network.networkNetstatTCP, + panels.network.networkNetstatTCPerrors, + panels.network.networkNetstatUDP, + panels.network.networkNetstatUDPerrors, + panels.network.networkNetstatICMP, + panels.network.networkNetstatICMPerrors, + ]), + + hardware: + g.panel.row.new('Hardware') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.hardware.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, + ]), + + }, +} From d3c887757757ac2279bea42157cec1b634c1f0bc Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 09:39:28 +0000 Subject: [PATCH 022/151] Get instanceLabel from the back Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/linux/panels/cpu.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/disk.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/fleet.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/hardware.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/main.libsonnet | 3 +++ docs/node-observ-lib/linux/panels/memory.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/network.libsonnet | 3 ++- docs/node-observ-lib/linux/panels/system.libsonnet | 3 ++- 8 files changed, 17 insertions(+), 7 deletions(-) diff --git a/docs/node-observ-lib/linux/panels/cpu.libsonnet b/docs/node-observ-lib/linux/panels/cpu.libsonnet index 699a1d24b9..17f5cf750d 100644 --- a/docs/node-observ-lib/linux/panels/cpu.libsonnet +++ b/docs/node-observ-lib/linux/panels/cpu.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], cpuCount: commonlib.panels.cpu.stat.count.new(targets=[t.cpu.cpuCount]), cpuUsageTsPerCore: commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.cpu.cpuUsagePerCore]) diff --git a/docs/node-observ-lib/linux/panels/disk.libsonnet b/docs/node-observ-lib/linux/panels/disk.libsonnet index 154d95b4c5..801bf54fc7 100644 --- a/docs/node-observ-lib/linux/panels/disk.libsonnet +++ b/docs/node-observ-lib/linux/panels/disk.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], diskTotalRoot: commonlib.panels.disk.stat.total.new( diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-observ-lib/linux/panels/fleet.libsonnet index 01f79472fc..1ae7e6bb7e 100644 --- a/docs/node-observ-lib/linux/panels/fleet.libsonnet +++ b/docs/node-observ-lib/linux/panels/fleet.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], fleetOverviewTable: commonlib.panels.generic.table.base.new( 'Fleet overview', diff --git a/docs/node-observ-lib/linux/panels/hardware.libsonnet b/docs/node-observ-lib/linux/panels/hardware.libsonnet index 50198e4c2f..08a4c4b35a 100644 --- a/docs/node-observ-lib/linux/panels/hardware.libsonnet +++ b/docs/node-observ-lib/linux/panels/hardware.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], hardwareTemperature: commonlib.panels.hardware.timeSeries.temperature.new( 'Temperature', diff --git a/docs/node-observ-lib/linux/panels/main.libsonnet b/docs/node-observ-lib/linux/panels/main.libsonnet index 76fe7463a0..767dc82e08 100644 --- a/docs/node-observ-lib/linux/panels/main.libsonnet +++ b/docs/node-observ-lib/linux/panels/main.libsonnet @@ -7,5 +7,8 @@ memory: (import './memory.libsonnet').new(config), network: (import './network.libsonnet').new(config), system: (import './system.libsonnet').new(config), + use: (import './use.libsonnet').new(config), + useCluster: (import './useCluster.libsonnet').new(config), + useClusterMulti: (import './useClusterMulti.libsonnet').new(config), }, } diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-observ-lib/linux/panels/memory.libsonnet index 7cd813be86..d11267b8a7 100644 --- a/docs/node-observ-lib/linux/panels/memory.libsonnet +++ b/docs/node-observ-lib/linux/panels/memory.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], memoryTotalBytes: commonlib.panels.memory.stat.total.new(targets=[t.memory.memoryTotalBytes]), memorySwapTotalBytes: diff --git a/docs/node-observ-lib/linux/panels/network.libsonnet b/docs/node-observ-lib/linux/panels/network.libsonnet index 82db7a42e8..3c884eab9c 100644 --- a/docs/node-observ-lib/linux/panels/network.libsonnet +++ b/docs/node-observ-lib/linux/panels/network.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], networkErrorsAndDroppedPerSec: commonlib.panels.network.timeSeries.errors.new( diff --git a/docs/node-observ-lib/linux/panels/system.libsonnet b/docs/node-observ-lib/linux/panels/system.libsonnet index a36a0e15cb..ef84fa717e 100644 --- a/docs/node-observ-lib/linux/panels/system.libsonnet +++ b/docs/node-observ-lib/linux/panels/system.libsonnet @@ -1,13 +1,14 @@ local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new(this): { local t = this.grafana.targets, local table = g.panel.table, local fieldOverride = g.panel.table.fieldOverride, - local instanceLabel = this.config.instanceLabels[0], + local instanceLabel = xtd.array.slice(this.config.instanceLabels, -1)[0], uptime: commonlib.panels.system.stat.uptime.new(targets=[t.system.uptime]), From 89e20595390645632e1b0199a9181932bc9ba502 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 09:43:27 +0000 Subject: [PATCH 023/151] Add use dashboards Signed-off-by: Vitaly Zhuravlev --- docs/node-observ-lib/jsonnetfile.lock.json | 6 +- docs/node-observ-lib/linux/config.libsonnet | 5 + .../linux/dashboards.libsonnet | 173 ++++++++++++------ docs/node-observ-lib/linux/main.libsonnet | 2 +- .../linux/panels/use.libsonnet | 88 +++++++++ .../linux/panels/useCluster.libsonnet | 47 +++++ .../linux/panels/useClusterMulti.libsonnet | 46 +++++ .../{rows.libsonnet => rows/linux.libsonnet} | 103 ++++++++++- .../node-observ-lib/linux/rows/main.libsonnet | 8 + docs/node-observ-lib/linux/rows/use.libsonnet | 107 +++++++++++ .../linux/targets/alerts.libsonnet | 2 +- .../linux/targets/cpu.libsonnet | 2 +- .../linux/targets/disk.libsonnet | 2 +- .../linux/targets/events.libsonnet | 2 +- .../linux/targets/hardware.libsonnet | 2 +- .../linux/targets/main.libsonnet | 3 + .../linux/targets/memory.libsonnet | 2 +- .../linux/targets/network.libsonnet | 2 +- .../linux/targets/system.libsonnet | 2 +- .../linux/targets/use.libsonnet | 102 +++++++++++ .../linux/targets/useCluster.libsonnet | 125 +++++++++++++ .../linux/targets/useClusterMulti.libsonnet | 64 +++++++ .../node-observ-lib/linux/variables.libsonnet | 91 +++------ 23 files changed, 853 insertions(+), 133 deletions(-) create mode 100644 docs/node-observ-lib/linux/panels/use.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/useCluster.libsonnet create mode 100644 docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet rename docs/node-observ-lib/linux/{rows.libsonnet => rows/linux.libsonnet} (64%) create mode 100644 docs/node-observ-lib/linux/rows/main.libsonnet create mode 100644 docs/node-observ-lib/linux/rows/use.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/use.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/useCluster.libsonnet create mode 100644 docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet diff --git a/docs/node-observ-lib/jsonnetfile.lock.json b/docs/node-observ-lib/jsonnetfile.lock.json index fb65b9ead5..c10dd413b5 100644 --- a/docs/node-observ-lib/jsonnetfile.lock.json +++ b/docs/node-observ-lib/jsonnetfile.lock.json @@ -28,8 +28,8 @@ "subdir": "common-lib" } }, - "version": "b9761545ddeac33ffe25bd87121076eab258c6f1", - "sum": "tfvNQmtjIkqbgy7FU3FDy34OYoZhWskDCQanbiScaHU=" + "version": "2c38760394b41de9b7477e8ab26e9a24ed85b589", + "sum": "b/FOCPjMla8HXFMJNsjP+2/0UpWade7PDBzNARihj1U=" }, { "source": { @@ -38,7 +38,7 @@ "subdir": "logs-lib" } }, - "version": "b9761545ddeac33ffe25bd87121076eab258c6f1", + "version": "2c38760394b41de9b7477e8ab26e9a24ed85b589", "sum": "05RYR0TOrWza0n8lgF9K7naGY7kM6OTBePsoiJw2TUE=" }, { diff --git a/docs/node-observ-lib/linux/config.libsonnet b/docs/node-observ-lib/linux/config.libsonnet index 94acca6184..77a1bd10c5 100644 --- a/docs/node-observ-lib/linux/config.libsonnet +++ b/docs/node-observ-lib/linux/config.libsonnet @@ -95,6 +95,11 @@ dashboardTimezone: 'default', dashboardRefresh: '1m', + // Opt-in for multi-cluster support (USE method). + showMultiCluster: true, + //used in USE dashboards only. For others, add cluster label to groupLabels var. + clusterLabel: 'cluster', + // logs lib related enableLokiLogs: false, extraLogLabels: ['transport', 'unit', 'level'], diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-observ-lib/linux/dashboards.libsonnet index 3c7f641e98..5b442cd969 100644 --- a/docs/node-observ-lib/linux/dashboards.libsonnet +++ b/docs/node-observ-lib/linux/dashboards.libsonnet @@ -7,7 +7,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local links = this.grafana.links; local tags = this.config.dashboardTags; local uid = g.util.string.slugify(this.config.uid); - local vars = this.grafana.variables; + local vars = this.grafana.variables.main; local annotations = this.grafana.annotations; local refresh = this.config.dashboardRefresh; local period = this.config.dashboardPeriod; @@ -20,7 +20,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local title = prefix + 'fleet overview'; g.dashboard.new(title) + g.dashboard.withPanels( - g.util.grid.wrapPanels(rows.fleet.panels, 12, 7) + g.util.grid.wrapPanels(rows.linux.fleet.panels, 12, 7) ) // hide link to self + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), @@ -30,16 +30,16 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.overview, - rows.cpuOverview, - rows.memoryOverview, - rows.diskOverview, - rows.networkOverview, + rows.linux.overview, + rows.linux.cpuOverview, + rows.linux.memoryOverview, + rows.linux.diskOverview, + rows.linux.networkOverview, ] + if this.config.enableHardware then [ - rows.hardware, + rows.linux.hardware, ] else [] , 6, 2 ) @@ -53,10 +53,10 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.network, - rows.networkSockets + rows.linux.network, + rows.linux.networkSockets + g.panel.row.withCollapsed(true), - rows.networkNetstat + rows.linux.networkNetstat + g.panel.row.withCollapsed(true), ], 12, 8 ) @@ -69,9 +69,9 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.memoryOverview, - rows.memoryVmstat, - rows.memoryMemstat, + rows.linux.memoryOverview, + rows.linux.memoryVmstat, + rows.linux.memoryMemstat, ], 12, 8 ) ) @@ -84,68 +84,125 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.cpuAndSystem, - rows.time, + rows.linux.cpuAndSystem, + rows.linux.time, ], 12, 7 ) ) ) + root.applyCommon(vars.singleInstance, uid + '-system', tags, links, annotations, timezone, refresh, period), - 'disks.json': g.dashboard.new(prefix + 'filesystem and disks') + g.dashboard.withPanels( g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.filesystem, - rows.disk, + rows.linux.filesystem, + rows.linux.disk, ], 12, 8 ) ) ) + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), + + 'node-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / node') + + g.dashboard.withPanels( + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.use.cpuUseMethod, + rows.use.memoryUseMethod, + rows.use.networkUseMethod, + rows.use.diskUseMethod, + rows.use.filesystemUseMethod, + ], 12, 7 + ) + ) + ) + + root.applyCommon(this.grafana.variables.use.singleInstance, uid + '-rsrc-use', tags, links, annotations, timezone, refresh, period), + + 'node-cluster-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / cluster') + + g.dashboard.withPanels( + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.use.cpuUseClusterMethod, + rows.use.memoryUseClusterMethod, + rows.use.networkUseClusterMethod, + rows.use.diskUseClusterMethod, + rows.use.filesystemUseClusterMethod, + ], 12, 7 + ) + ) + ) + + root.applyCommon(this.grafana.variables.useCluster.singleInstance, uid + '-cluster-rsrc-use', tags, links, annotations, timezone, refresh, period), } + - if this.config.enableLokiLogs - then - { - 'logs.json': - logslib.new( - prefix + 'logs', - datasourceName=this.grafana.variables.datasources.loki.name, - datasourceRegex=this.grafana.variables.datasources.loki.regex, - filterSelector=this.config.logsFilteringSelector, - labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, - formatParser=null, - showLogsVolume=this.config.showLogsVolume, - logsVolumeGroupBy=this.config.logsVolumeGroupBy, - extraFilters=this.config.logsExtraFilters - ) - { - dashboards+: - { - logs+: - // reference to self, already generated variables, to keep them, but apply other common data in applyCommon - root.applyCommon(super.logs.templating.list, uid=uid + '-logs', tags=tags, links=links, annotations=annotations, timezone=timezone, refresh=refresh, period=period), - }, - panels+: - { - // modify log panel - logs+: - g.panel.logs.options.withEnableLogDetails(true) - + g.panel.logs.options.withShowTime(false) - + g.panel.logs.options.withWrapLogMessage(false), - }, - variables+: { - // add prometheus datasource for annotations processing - toArray+: [ - this.grafana.variables.datasources.prometheus { hide: 2 }, - ], - }, - }.dashboards.logs, - } - else {}, + ( + if this.config.showMultiCluster + then + { + 'node-multicluster-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / cluster') + + g.dashboard.withPanels( + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.use.cpuUseClusterMethodMulti, + rows.use.memoryUseClusterMethodMulti, + rows.use.networkUseClusterMethodMulti, + rows.use.diskUseClusterMethodMulti, + rows.use.filesystemUseClusterMethodMulti, + ], 12, 7 + ) + ) + ) + + root.applyCommon(this.grafana.variables.useCluster.multiInstance, uid + '-multicluster-rsrc-use', tags, links, annotations, timezone, refresh, period), + } + else {} + ) + + + (if this.config.enableLokiLogs + then + { + 'logs.json': + logslib.new( + prefix + 'logs', + datasourceName=this.grafana.variables.datasources.loki.name, + datasourceRegex=this.grafana.variables.datasources.loki.regex, + filterSelector=this.config.logsFilteringSelector, + labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, + formatParser=null, + showLogsVolume=this.config.showLogsVolume, + logsVolumeGroupBy=this.config.logsVolumeGroupBy, + extraFilters=this.config.logsExtraFilters + ) + { + dashboards+: + { + logs+: + // reference to self, already generated variables, to keep them, but apply other common data in applyCommon + root.applyCommon(super.logs.templating.list, uid=uid + '-logs', tags=tags, links=links, annotations=annotations, timezone=timezone, refresh=refresh, period=period), + }, + panels+: + { + // modify log panel + logs+: + g.panel.logs.options.withEnableLogDetails(true) + + g.panel.logs.options.withShowTime(false) + + g.panel.logs.options.withWrapLogMessage(false), + }, + variables+: { + // add prometheus datasource for annotations processing + toArray+: [ + this.grafana.variables.datasources.prometheus { hide: 2 }, + ], + }, + }.dashboards.logs, + } + else {}), applyCommon(vars, uid, tags, links, annotations, timezone, refresh, period): g.dashboard.withTags(tags) + g.dashboard.withUid(uid) diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-observ-lib/linux/main.libsonnet index d46b83f054..d8bf92b532 100644 --- a/docs/node-observ-lib/linux/main.libsonnet +++ b/docs/node-observ-lib/linux/main.libsonnet @@ -6,7 +6,7 @@ local datasources = import './datasources.libsonnet'; local g = import './g.libsonnet'; local links = import './links.libsonnet'; local panels = import './panels/main.libsonnet'; -local rows = import './rows.libsonnet'; +local rows = import './rows/main.libsonnet'; local rules = import './rules.libsonnet'; local targets = import './targets/main.libsonnet'; local variables = import './variables.libsonnet'; diff --git a/docs/node-observ-lib/linux/panels/use.libsonnet b/docs/node-observ-lib/linux/panels/use.libsonnet new file mode 100644 index 0000000000..4f7a7511a4 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/use.libsonnet @@ -0,0 +1,88 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + + + //for USE + cpuUtilization: + commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.use.cpuUtilization]) + + g.panel.timeSeries.panelOptions.withTitle('CPU utilization') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + cpuSaturation: + commonlib.panels.cpu.timeSeries.utilization.new(targets=[t.use.cpuSaturation]) + + g.panel.timeSeries.panelOptions.withTitle('CPU saturation (Load1 per CPU)') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.panelOptions.withDescription( + ||| + System load average over the last minute. A measurement of how many processes are waiting for CPU cycles. The value is as a percent compared to the number of CPU cores for the node. + ||| + ) + + { title: 'CPU saturation (Load 1 per CPU)' } + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + + memoryUtilization: + commonlib.panels.memory.timeSeries.usagePercent.new(targets=[t.use.memoryUtilization]) + + g.panel.timeSeries.panelOptions.withTitle('Memory utilization') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + memorySaturation: + commonlib.panels.memory.timeSeries.base.new( + 'Memory saturation (Major page faults)', + targets=[t.use.memorySaturation], + ) + + g.panel.timeSeries.panelOptions.withDescription(this.grafana.panels.memory.memoryPagesFaults.description) + + g.panel.timeSeries.panelOptions.withTitle('Memory saturation (Major page faults)') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + + networkUtilization: + this.grafana.panels.network.networkUsagePerSec + + g.panel.timeSeries.panelOptions.withTitle('Network utilization (Bytes receive/transmit)') + + g.panel.timeSeries.queryOptions.withTargets([t.use.networkUtilizationReceive, t.use.networkUtilizationTransmit]) + + commonlib.panels.network.timeSeries.base.withNegateOutPackets('/Transmit/') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + networkSaturation: + this.grafana.panels.network.networkDroppedPerSec + + g.panel.timeSeries.panelOptions.withTitle('Network saturation (Drops receive/transmit)') + + g.panel.timeSeries.queryOptions.withTargets([t.use.networkSaturationReceive, t.use.networkSaturationTransmit]) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard') + + g.panel.timeSeries.options.legend.withShowLegend(false), + + + diskUtilization: + commonlib.panels.generic.timeSeries.base.new( + 'Disk IO utilization', targets=[t.use.diskUtilization], description='Disk total IO seconds' + ) + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.standardOptions.withUnit('percent') + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + + diskSaturation: + commonlib.panels.generic.timeSeries.base.new( + 'Disk IO saturation', targets=[t.use.diskSaturation], description='Disk saturation (weighted seconds spent, 1 second rate)' + ) + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.standardOptions.withUnit('percent') + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard'), + + filesystemUtilization: + this.grafana.panels.disk.diskFreeTs + + g.panel.timeSeries.panelOptions.withTitle('Filesytem utilization') + + g.panel.timeSeries.options.legend.withShowLegend(false) + + g.panel.timeSeries.queryOptions.withTargets([t.use.filesystemUtilization]) + + g.panel.timeSeries.standardOptions.withUnit('percent') + + g.panel.timeSeries.standardOptions.withMax(100) + + g.panel.timeSeries.standardOptions.withMin(0) + + g.panel.timeSeries.fieldConfig.defaults.custom.stacking.withMode('standard') + + g.panel.timeSeries.panelOptions.withDescription('Total disk utilization percent.'), + + }, +} diff --git a/docs/node-observ-lib/linux/panels/useCluster.libsonnet b/docs/node-observ-lib/linux/panels/useCluster.libsonnet new file mode 100644 index 0000000000..cb06b8f18b --- /dev/null +++ b/docs/node-observ-lib/linux/panels/useCluster.libsonnet @@ -0,0 +1,47 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + local instancePanels = this.grafana.panels.use, + //for USE + cpuUtilization: instancePanels.cpuUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuUtilization]), + cpuSaturation: instancePanels.cpuSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuSaturation]), + + memoryUtilization: + instancePanels.memoryUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.memoryUtilization]), + + memorySaturation: + instancePanels.memorySaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.memorySaturation]), + + networkUtilization: + instancePanels.networkUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.networkUtilizationReceive, t.useCluster.networkUtilizationTransmit]), + networkSaturation: + instancePanels.networkSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.networkSaturationReceive, t.useCluster.networkSaturationTransmit]), + + + diskUtilization: + instancePanels.diskUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.diskUtilization]), + + diskSaturation: + instancePanels.diskSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.diskSaturation]), + + filesystemUtilization: + instancePanels.filesystemUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.filesystemUtilization]), + + }, +} diff --git a/docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet b/docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet new file mode 100644 index 0000000000..02232237e9 --- /dev/null +++ b/docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet @@ -0,0 +1,46 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +local utils = commonlib.utils; +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instancePanels = this.grafana.panels.use, + //for USE + cpuUtilization: instancePanels.cpuUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.cpuUtilization]), + cpuSaturation: instancePanels.cpuSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.cpuSaturation]), + + memoryUtilization: + instancePanels.memoryUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.memoryUtilization]), + + memorySaturation: + instancePanels.memorySaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.memorySaturation]), + + networkUtilization: + instancePanels.networkUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.networkUtilizationReceive, t.useClusterMulti.networkUtilizationTransmit]), + networkSaturation: + instancePanels.networkSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.networkSaturationReceive, t.useClusterMulti.networkSaturationTransmit]), + + + diskUtilization: + instancePanels.diskUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.diskUtilization]), + + diskSaturation: + instancePanels.diskSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.diskSaturation]), + + filesystemUtilization: + instancePanels.filesystemUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useClusterMulti.filesystemUtilization]), + + }, +} diff --git a/docs/node-observ-lib/linux/rows.libsonnet b/docs/node-observ-lib/linux/rows/linux.libsonnet similarity index 64% rename from docs/node-observ-lib/linux/rows.libsonnet rename to docs/node-observ-lib/linux/rows/linux.libsonnet index d4bc4f0854..17d357b708 100644 --- a/docs/node-observ-lib/linux/rows.libsonnet +++ b/docs/node-observ-lib/linux/rows/linux.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; { new(this): @@ -19,7 +19,6 @@ local commonlib = import 'common-lib/common/main.libsonnet'; panels.network.networkErrorsAndDroppedPerSecTopK { gridPos+: { w: 24 } }, ] ), - overview: g.panel.row.new('Overview') + g.panel.row.withCollapsed(false) @@ -183,5 +182,105 @@ local commonlib = import 'common-lib/common/main.libsonnet'; panels.hardware.hardwareTemperature { gridPos+: { w: 12, h: 8 } }, ]), + + //use + cpuUseMethod: + g.panel.row.new('CPU') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + cpuUseClusterMethod: + self.cpuUseMethod + + g.panel.row.withPanels([ + panels.useCluster.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + cpuUseClusterMethodMulti: + self.cpuUseClusterMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + + memoryUseMethod: + g.panel.row.new('Memory') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + memoryUseClusterMethod: + self.memoryUseMethod + + g.panel.row.withPanels([ + panels.useCluster.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + memoryUseClusterMethodMulti: + self.memoryUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + + diskUseMethod: + g.panel.row.new('Disk') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + diskUseClusterMethod: + self.diskUseMethod + + g.panel.row.withPanels([ + panels.useCluster.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + diskUseClusterMethodMulti: + self.diskUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + filesystemUseMethod: + g.panel.row.new('Filesystem') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + filesystemUseClusterMethod: + self.filesystemUseMethod + + g.panel.row.withPanels([ + panels.useCluster.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + filesystemUseClusterMethodMulti: + self.filesystemUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + + networkUseMethod: + g.panel.row.new('Network') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + networkUseClusterMethod: + self.networkUseMethod + + g.panel.row.withPanels([ + panels.useCluster.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + networkUseClusterMethodMulti: + self.networkUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), }, } diff --git a/docs/node-observ-lib/linux/rows/main.libsonnet b/docs/node-observ-lib/linux/rows/main.libsonnet new file mode 100644 index 0000000000..367abc254a --- /dev/null +++ b/docs/node-observ-lib/linux/rows/main.libsonnet @@ -0,0 +1,8 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this):: { + linux: (import './linux.libsonnet').new(this), + use: (import './use.libsonnet').new(this), + }, +} diff --git a/docs/node-observ-lib/linux/rows/use.libsonnet b/docs/node-observ-lib/linux/rows/use.libsonnet new file mode 100644 index 0000000000..eb03192af1 --- /dev/null +++ b/docs/node-observ-lib/linux/rows/use.libsonnet @@ -0,0 +1,107 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; +{ + new(this): + { + local panels = this.grafana.panels, + //use + cpuUseMethod: + g.panel.row.new('CPU') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + cpuUseClusterMethod: + self.cpuUseMethod + + g.panel.row.withPanels([ + panels.useCluster.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + cpuUseClusterMethodMulti: + self.cpuUseClusterMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.cpuUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.cpuSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + + memoryUseMethod: + g.panel.row.new('Memory') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + memoryUseClusterMethod: + self.memoryUseMethod + + g.panel.row.withPanels([ + panels.useCluster.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + memoryUseClusterMethodMulti: + self.memoryUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.memoryUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.memorySaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + + diskUseMethod: + g.panel.row.new('Disk') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + diskUseClusterMethod: + self.diskUseMethod + + g.panel.row.withPanels([ + panels.useCluster.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + diskUseClusterMethodMulti: + self.diskUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.diskUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.diskSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + + filesystemUseMethod: + g.panel.row.new('Filesystem') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + filesystemUseClusterMethod: + self.filesystemUseMethod + + g.panel.row.withPanels([ + panels.useCluster.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + filesystemUseClusterMethodMulti: + self.filesystemUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.filesystemUtilization { gridPos+: { w: 24, h: 7 } }, + ]), + + networkUseMethod: + g.panel.row.new('Network') + + g.panel.row.withCollapsed(false) + + g.panel.row.withPanels([ + panels.use.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.use.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + networkUseClusterMethod: + self.networkUseMethod + + g.panel.row.withPanels([ + panels.useCluster.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useCluster.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + networkUseClusterMethodMulti: + self.networkUseMethod + + g.panel.row.withPanels([ + panels.useClusterMulti.networkUtilization { gridPos+: { w: 12, h: 7 } }, + panels.useClusterMulti.networkSaturation { gridPos+: { w: 12, h: 7 } }, + ]), + }, +} diff --git a/docs/node-observ-lib/linux/targets/alerts.libsonnet b/docs/node-observ-lib/linux/targets/alerts.libsonnet index 3d36ff3c5e..77101c7b2d 100644 --- a/docs/node-observ-lib/linux/targets/alerts.libsonnet +++ b/docs/node-observ-lib/linux/targets/alerts.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/cpu.libsonnet b/docs/node-observ-lib/linux/targets/cpu.libsonnet index 834c75a639..7fd6cf2d6b 100644 --- a/docs/node-observ-lib/linux/targets/cpu.libsonnet +++ b/docs/node-observ-lib/linux/targets/cpu.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/disk.libsonnet b/docs/node-observ-lib/linux/targets/disk.libsonnet index 0a06030a44..4e91d619a4 100644 --- a/docs/node-observ-lib/linux/targets/disk.libsonnet +++ b/docs/node-observ-lib/linux/targets/disk.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/events.libsonnet b/docs/node-observ-lib/linux/targets/events.libsonnet index 61626b25a6..3cf73aa39e 100644 --- a/docs/node-observ-lib/linux/targets/events.libsonnet +++ b/docs/node-observ-lib/linux/targets/events.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/hardware.libsonnet b/docs/node-observ-lib/linux/targets/hardware.libsonnet index 28c92425bc..b87dc7976a 100644 --- a/docs/node-observ-lib/linux/targets/hardware.libsonnet +++ b/docs/node-observ-lib/linux/targets/hardware.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/main.libsonnet b/docs/node-observ-lib/linux/targets/main.libsonnet index 4a968e5c2d..6b30b26e36 100644 --- a/docs/node-observ-lib/linux/targets/main.libsonnet +++ b/docs/node-observ-lib/linux/targets/main.libsonnet @@ -8,5 +8,8 @@ memory: (import './memory.libsonnet').new(config), network: (import './network.libsonnet').new(config), system: (import './system.libsonnet').new(config), + use: (import './use.libsonnet').new(config), + useCluster: (import './useCluster.libsonnet').new(config), + useClusterMulti: (import './useClusterMulti.libsonnet').new(config), }, } diff --git a/docs/node-observ-lib/linux/targets/memory.libsonnet b/docs/node-observ-lib/linux/targets/memory.libsonnet index c656f7b440..b566b73b98 100644 --- a/docs/node-observ-lib/linux/targets/memory.libsonnet +++ b/docs/node-observ-lib/linux/targets/memory.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/network.libsonnet b/docs/node-observ-lib/linux/targets/network.libsonnet index 96be6cbe00..c5bdec6059 100644 --- a/docs/node-observ-lib/linux/targets/network.libsonnet +++ b/docs/node-observ-lib/linux/targets/network.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/system.libsonnet b/docs/node-observ-lib/linux/targets/system.libsonnet index c698255cb8..ac89ebaa31 100644 --- a/docs/node-observ-lib/linux/targets/system.libsonnet +++ b/docs/node-observ-lib/linux/targets/system.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-observ-lib/linux/targets/use.libsonnet b/docs/node-observ-lib/linux/targets/use.libsonnet new file mode 100644 index 0000000000..01d497b1ba --- /dev/null +++ b/docs/node-observ-lib/linux/targets/use.libsonnet @@ -0,0 +1,102 @@ +local g = import '../../g.libsonnet'; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables.use, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + cpuUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + instance:node_cpu_utilisation:rate5m{%(queriesSelector)s} * 100 != 0 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % xtd.array.slice(this.config.instanceLabels, -1)), + + cpuSaturation: + prometheusQuery.new( + prometheusDatasource, + ||| + instance:node_load1_per_cpu:ratio{%(queriesSelector)s} * 100 != 0 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Saturation' % xtd.array.slice(this.config.instanceLabels, -1)), + memoryUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + instance:node_memory_utilisation:ratio{%(queriesSelector)s} * 100 != 0 + ||| + % variables + ) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % xtd.array.slice(this.config.instanceLabels, -1)), + + memorySaturation: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_vmstat_pgmajfault:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Major page fault operations' % xtd.array.slice(this.config.instanceLabels, -1)), + + networkUtilizationReceive: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_receive_bytes_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % xtd.array.slice(this.config.instanceLabels, -1)), + networkUtilizationTransmit: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_transmit_bytes_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % xtd.array.slice(this.config.instanceLabels, -1)), + networkSaturationReceive: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_receive_drop_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % xtd.array.slice(this.config.instanceLabels, -1)), + networkSaturationTransmit: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_transmit_drop_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % xtd.array.slice(this.config.instanceLabels, -1)), + + diskUtilization: + prometheusQuery.new( + prometheusDatasource, + 'instance_device:node_disk_io_time_seconds:rate5m{%(queriesSelector)s} * 100 != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + diskSaturation: + prometheusQuery.new( + prometheusDatasource, + 'instance_device:node_disk_io_time_weighted_seconds:rate5m{%(queriesSelector)s} * 100 != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + + filesystemUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + sort_desc(1 - + ( + max without (mountpoint, fstype) (node_filesystem_avail_bytes{%(queriesSelector)s, %(fsMountpointSelector)s, %(fsSelector)s}) + / + max without (mountpoint, fstype) (node_filesystem_size_bytes{%(queriesSelector)s, %(fsMountpointSelector)s, %(fsSelector)s}) + ) != 0 + ) * 100 + ||| % variables { fsMountpointSelector: this.config.fsMountpointSelector, fsSelector: this.config.fsSelector }, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + + + }, +} diff --git a/docs/node-observ-lib/linux/targets/useCluster.libsonnet b/docs/node-observ-lib/linux/targets/useCluster.libsonnet new file mode 100644 index 0000000000..82e200808d --- /dev/null +++ b/docs/node-observ-lib/linux/targets/useCluster.libsonnet @@ -0,0 +1,125 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + + +{ + new(this): { + local variables = this.grafana.variables.useCluster, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + cpuUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + (( + instance:node_cpu_utilisation:rate5m{%(queriesSelector)s} + * + instance:node_num_cpu:sum{%(queriesSelector)s} + ) != 0 ) + / scalar(sum(instance:node_num_cpu:sum{%(queriesSelector)s})) * 100 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % xtd.array.slice(this.config.instanceLabels, -1)), + + cpuSaturation: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + instance:node_load1_per_cpu:ratio{%(queriesSelector)s} + / scalar(count(instance:node_load1_per_cpu:ratio{%(queriesSelector)s})) + ) * 100 != 0 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Saturation' % xtd.array.slice(this.config.instanceLabels, -1)), + memoryUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + instance:node_memory_utilisation:ratio{%(queriesSelector)s} + / scalar(count(instance:node_memory_utilisation:ratio{%(queriesSelector)s})) + ) * 100 != 0 + ||| + % variables + ) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % xtd.array.slice(this.config.instanceLabels, -1)), + + memorySaturation: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_vmstat_pgmajfault:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Major page fault operations' % xtd.array.slice(this.config.instanceLabels, -1)), + networkUtilizationReceive: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_receive_bytes_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % xtd.array.slice(this.config.instanceLabels, -1)), + networkUtilizationTransmit: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_transmit_bytes_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % xtd.array.slice(this.config.instanceLabels, -1)), + networkSaturationReceive: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_receive_drop_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % xtd.array.slice(this.config.instanceLabels, -1)), + networkSaturationTransmit: + prometheusQuery.new( + prometheusDatasource, + 'instance:node_network_transmit_drop_excluding_lo:rate5m{%(queriesSelector)s} != 0' % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % xtd.array.slice(this.config.instanceLabels, -1)), + + diskUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + instance_device:node_disk_io_time_seconds:rate5m{%(queriesSelector)s} + / scalar(count(instance_device:node_disk_io_time_seconds:rate5m{%(queriesSelector)s})) + ) * 100 != 0 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + diskSaturation: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + instance_device:node_disk_io_time_weighted_seconds:rate5m{%(queriesSelector)s} + / scalar(count(instance_device:node_disk_io_time_weighted_seconds:rate5m{%(queriesSelector)s})) + ) * 100 != 0 + ||| % variables, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + + filesystemUtilization: + prometheusQuery.new( + prometheusDatasource, + ||| + sum without (device) ( + max without (fstype, mountpoint) (( + node_filesystem_size_bytes{%(queriesSelector)s, %(fsMountpointSelector)s, %(fsSelector)s} + - + node_filesystem_avail_bytes{%(queriesSelector)s, %(fsMountpointSelector)s, %(fsSelector)s} + ) != 0) + ) + / scalar(sum(max without (fstype, mountpoint) (node_filesystem_size_bytes{%(queriesSelector)s, %(fsMountpointSelector)s, %(fsSelector)s}))) * 100 + ||| % variables { fsMountpointSelector: this.config.fsMountpointSelector, fsSelector: this.config.fsSelector }, + ) + + prometheusQuery.withLegendFormat('{{%s}}: {{device}}' % xtd.array.slice(this.config.instanceLabels, -1)), + + + }, +} diff --git a/docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet b/docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet new file mode 100644 index 0000000000..0ea9e74420 --- /dev/null +++ b/docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet @@ -0,0 +1,64 @@ +local g = import '../../g.libsonnet'; +local commonlib = import 'github.com/grafana/jsonnet-libs/common-lib/common/main.libsonnet'; +local prometheusQuery = g.query.prometheus; + + +{ + new(this): { + local variables = this.grafana.variables.useCluster, + local config = this.config, + local baseTargets = this.grafana.targets.useCluster, + cpuUtilization: + baseTargets.cpuUtilization + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.cpuUtilization.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % this.config.clusterLabel), + + cpuSaturation: + baseTargets.cpuSaturation + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.cpuSaturation.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Saturation' % this.config.clusterLabel), + + memoryUtilization: + baseTargets.memoryUtilization + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.memoryUtilization.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Utilization' % this.config.clusterLabel), + + memorySaturation: + baseTargets.memorySaturation + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.memorySaturation.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Major page fault operations' % this.config.clusterLabel), + networkUtilizationReceive: + baseTargets.networkUtilizationReceive + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.networkUtilizationReceive.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % this.config.clusterLabel), + + networkUtilizationTransmit: + baseTargets.networkUtilizationTransmit + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.networkUtilizationTransmit.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % this.config.clusterLabel), + networkSaturationReceive: + baseTargets.networkSaturationReceive + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.networkSaturationReceive.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Receive' % this.config.clusterLabel), + networkSaturationTransmit: + baseTargets.networkSaturationReceive + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.networkSaturationReceive.expr]) + + prometheusQuery.withLegendFormat('{{%s}}: Transmit' % this.config.clusterLabel), + + diskUtilization: + baseTargets.diskUtilization + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.diskUtilization.expr]) + + prometheusQuery.withLegendFormat('{{%s}}' % this.config.clusterLabel), + diskSaturation: + baseTargets.diskSaturation + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.diskSaturation.expr]) + + prometheusQuery.withLegendFormat('{{%s}}' % this.config.clusterLabel), + + filesystemUtilization: + baseTargets.filesystemUtilization + + prometheusQuery.withExpr('sum by (%s) (%s)' % [this.config.clusterLabel, baseTargets.filesystemUtilization.expr]) + + prometheusQuery.withLegendFormat('{{%s}}' % this.config.clusterLabel), + + + }, +} diff --git a/docs/node-observ-lib/linux/variables.libsonnet b/docs/node-observ-lib/linux/variables.libsonnet index e2f1ace8c4..7eec70a84c 100644 --- a/docs/node-observ-lib/linux/variables.libsonnet +++ b/docs/node-observ-lib/linux/variables.libsonnet @@ -3,69 +3,38 @@ local g = import '../g.libsonnet'; local var = g.dashboard.variable; local commonlib = import 'common-lib/common/main.libsonnet'; local utils = commonlib.utils; - +local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { new( this - ): { - local filteringSelector = this.config.filteringSelector, - local groupLabels = this.config.groupLabels, - local instanceLabels = this.config.instanceLabels, - local root = self, - local varMetric = 'node_uname_info', - local variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=true) = - local chainVarProto(index, chainVar) = - var.query.new(chainVar.label) - + var.query.withDatasourceFromVariable(root.datasources.prometheus) - + var.query.queryTypes.withLabelValues( - chainVar.label, - '%s{%s}' % [varMetric, chainVar.chainSelector], - ) - + var.query.generalOptions.withLabel(utils.toSentenceCase(chainVar.label)) - + var.query.selectionOptions.withIncludeAll( - value=if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, - customAllValue='.+' - ) - + var.query.selectionOptions.withMulti( - if (!multiInstance && std.member(instanceLabels, chainVar.label)) then false else true, - ) - + var.query.refresh.onTime() - + var.query.withSort( - i=1, - type='alphabetical', - asc=true, - caseInsensitive=false - ); - std.mapWithIndex(chainVarProto, utils.chainLabels(groupLabels + instanceLabels, [filteringSelector])), - datasources: { - prometheus: - var.datasource.new('datasource', 'prometheus') - + var.datasource.generalOptions.withLabel('Data source') - + var.datasource.withRegex(''), - loki: - var.datasource.new('loki_datasource', 'loki') - + var.datasource.generalOptions.withLabel('Loki data source') - + var.datasource.withRegex('') - + var.datasource.generalOptions.showOnDashboard.withNothing(), - }, - // Use on dashboards where multiple entities can be selected, like fleet dashboards - multiInstance: - [root.datasources.prometheus] - + variablesFromLabels(groupLabels, instanceLabels, filteringSelector), - // Use on dashboards where only single entity can be selected - singleInstance: - [root.datasources.prometheus] - + variablesFromLabels(groupLabels, instanceLabels, filteringSelector, multiInstance=false), + ): + { + main: + commonlib.variables.new( + filteringSelector=this.config.filteringSelector, + groupLabels=this.config.groupLabels, + instanceLabels=this.config.instanceLabels, + varMetric='node_uname_info', + customAllValue='.+', + ), + // used in USE cluster dashboard + use: + commonlib.variables.new( + filteringSelector=this.config.filteringSelector, + // drop clusterLabel from groupLabels: + groupLabels=std.uniq(this.config.groupLabels + [this.config.clusterLabel]), + instanceLabels=this.config.instanceLabels, + varMetric='instance:node_cpu_utilisation:rate5m', + customAllValue='.+', + ), + useCluster: + commonlib.variables.new( + filteringSelector=this.config.filteringSelector, + groupLabels=std.uniq(this.config.groupLabels + [this.config.clusterLabel]), + instanceLabels=[], + varMetric='instance:node_cpu_utilisation:rate5m', + customAllValue='.+', + ), + }, - queriesSelector: - '%s,%s' % [ - filteringSelector, - utils.labelsToPromQLSelector(groupLabels + instanceLabels), - ], - } - + if this.config.enableLokiLogs then self.withLokiLogs(this) else {}, - withLokiLogs(this): { - multiInstance+: [this.grafana.variables.datasources.loki], - singleInstance+: [this.grafana.variables.datasources.loki], - }, } From ccc013662bbec784507cf0c0cd2b04b25caad295 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 13:22:25 +0000 Subject: [PATCH 024/151] Merge node-observ-lib to node-mixin Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/Makefile | 14 +- docs/node-mixin/alerts.jsonnet | 1 - docs/node-mixin/alerts/alerts.libsonnet | 433 ------- docs/node-mixin/config.libsonnet | 123 -- docs/node-mixin/dashboards.jsonnet | 6 - .../dashboards/dashboards.libsonnet | 2 - docs/node-mixin/dashboards/disk.libsonnet | 165 --- docs/node-mixin/dashboards/fleet.libsonnet | 505 -------- docs/node-mixin/dashboards/memory.libsonnet | 406 ------ docs/node-mixin/dashboards/network.libsonnet | 796 ------------ docs/node-mixin/dashboards/node.libsonnet | 19 - .../dashboards/prom-mixin.libsonnet | 180 --- docs/node-mixin/dashboards/system.libsonnet | 150 --- docs/node-mixin/dashboards/use.libsonnet | 476 ------- docs/node-mixin/jsonnetfile.json | 21 +- docs/node-mixin/lib/common.libsonnet | 707 ---------- .../lib}/g.libsonnet | 0 .../lib}/linux/README.md | 10 +- .../lib/linux/alerts}/alerts.libsonnet | 2 +- .../lib}/linux/annotations.libsonnet | 0 .../lib}/linux/config.libsonnet | 17 +- .../lib}/linux/dashboards.libsonnet | 8 +- .../lib}/linux/links.libsonnet | 0 .../lib}/linux/main.libsonnet | 29 +- .../lib}/linux/panels/cpu.libsonnet | 0 .../lib}/linux/panels/disk.libsonnet | 0 .../lib}/linux/panels/fleet.libsonnet | 0 .../lib}/linux/panels/hardware.libsonnet | 0 .../lib}/linux/panels/main.libsonnet | 0 .../lib}/linux/panels/memory.libsonnet | 0 .../lib}/linux/panels/network.libsonnet | 0 .../lib}/linux/panels/system.libsonnet | 0 .../lib}/linux/panels/use.libsonnet | 0 .../lib}/linux/panels/useCluster.libsonnet | 10 +- .../linux/panels/useClusterMulti.libsonnet | 0 .../lib}/linux/rows/linux.libsonnet | 0 .../lib}/linux/rows/main.libsonnet | 0 .../lib}/linux/rows/use.libsonnet | 0 .../lib/linux/rules}/rules.libsonnet | 0 .../lib}/linux/targets/alerts.libsonnet | 2 +- .../lib}/linux/targets/cpu.libsonnet | 0 .../lib}/linux/targets/disk.libsonnet | 2 +- .../lib}/linux/targets/events.libsonnet | 2 +- .../lib}/linux/targets/hardware.libsonnet | 0 .../lib}/linux/targets/main.libsonnet | 0 .../lib}/linux/targets/memory.libsonnet | 2 +- .../lib}/linux/targets/network.libsonnet | 2 +- .../lib}/linux/targets/system.libsonnet | 2 +- .../lib}/linux/targets/use.libsonnet | 0 .../lib}/linux/targets/useCluster.libsonnet | 0 .../linux/targets/useClusterMulti.libsonnet | 0 .../lib}/linux/variables.libsonnet | 3 + .../lib}/macos/README.md | 6 +- .../lib}/macos/alerts.libsonnet | 0 docs/node-mixin/lib/macos/config.libsonnet | 28 + .../lib}/macos/main.libsonnet | 1 + .../lib}/macos/panels.libsonnet | 0 .../lib}/macos/targets.libsonnet | 2 +- .../lib/panels/common/info.libsonnet | 30 - .../panels/common/networktraffic.libsonnet | 18 - .../lib/panels/common/panels.libsonnet | 6 - .../lib/panels/common/percentusage.libsonnet | 30 - .../lib/panels/common/uptime.libsonnet | 43 - docs/node-mixin/lib/panels/panel.libsonnet | 129 -- docs/node-mixin/lib/panels/panels.libsonnet | 5 - docs/node-mixin/lib/panels/stat.libsonnet | 28 - docs/node-mixin/lib/panels/table.libsonnet | 37 - .../lib/panels/timeseries.libsonnet | 145 --- docs/node-mixin/mixin-mac.libsonnet | 10 + docs/node-mixin/mixin.libsonnet | 15 +- docs/node-mixin/rules.jsonnet | 1 - docs/node-mixin/rules/rules.libsonnet | 119 -- docs/node-observ-lib/.gitignore | 2 - docs/node-observ-lib/jsonnetfile.json | 33 - docs/node-observ-lib/jsonnetfile.lock.json | 76 -- docs/node-observ-lib/linux/targets.libsonnet | 1147 ----------------- docs/node-observ-lib/macos/config.libsonnet | 59 - docs/node-observ-lib/mixin-mac.libsonnet | 8 - docs/node-observ-lib/mixin.libsonnet | 16 - 79 files changed, 135 insertions(+), 5954 deletions(-) delete mode 100644 docs/node-mixin/alerts.jsonnet delete mode 100644 docs/node-mixin/alerts/alerts.libsonnet delete mode 100644 docs/node-mixin/config.libsonnet delete mode 100644 docs/node-mixin/dashboards.jsonnet delete mode 100644 docs/node-mixin/dashboards/dashboards.libsonnet delete mode 100644 docs/node-mixin/dashboards/disk.libsonnet delete mode 100644 docs/node-mixin/dashboards/fleet.libsonnet delete mode 100644 docs/node-mixin/dashboards/memory.libsonnet delete mode 100644 docs/node-mixin/dashboards/network.libsonnet delete mode 100644 docs/node-mixin/dashboards/node.libsonnet delete mode 100644 docs/node-mixin/dashboards/prom-mixin.libsonnet delete mode 100644 docs/node-mixin/dashboards/system.libsonnet delete mode 100644 docs/node-mixin/dashboards/use.libsonnet delete mode 100644 docs/node-mixin/lib/common.libsonnet rename docs/{node-observ-lib => node-mixin/lib}/g.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/README.md (91%) rename docs/{node-observ-lib/linux => node-mixin/lib/linux/alerts}/alerts.libsonnet (99%) rename docs/{node-observ-lib => node-mixin/lib}/linux/annotations.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/config.libsonnet (89%) rename docs/{node-observ-lib => node-mixin/lib}/linux/dashboards.libsonnet (96%) rename docs/{node-observ-lib => node-mixin/lib}/linux/links.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/main.libsonnet (55%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/cpu.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/disk.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/fleet.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/hardware.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/main.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/memory.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/network.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/system.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/use.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/useCluster.libsonnet (84%) rename docs/{node-observ-lib => node-mixin/lib}/linux/panels/useClusterMulti.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/rows/linux.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/rows/main.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/rows/use.libsonnet (100%) rename docs/{node-observ-lib/linux => node-mixin/lib/linux/rules}/rules.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/alerts.libsonnet (96%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/cpu.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/disk.libsonnet (99%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/events.libsonnet (98%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/hardware.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/main.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/memory.libsonnet (99%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/network.libsonnet (99%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/system.libsonnet (98%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/use.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/useCluster.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/targets/useClusterMulti.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/linux/variables.libsonnet (89%) rename docs/{node-observ-lib => node-mixin/lib}/macos/README.md (91%) rename docs/{node-observ-lib => node-mixin/lib}/macos/alerts.libsonnet (100%) create mode 100644 docs/node-mixin/lib/macos/config.libsonnet rename docs/{node-observ-lib => node-mixin/lib}/macos/main.libsonnet (98%) rename docs/{node-observ-lib => node-mixin/lib}/macos/panels.libsonnet (100%) rename docs/{node-observ-lib => node-mixin/lib}/macos/targets.libsonnet (98%) delete mode 100644 docs/node-mixin/lib/panels/common/info.libsonnet delete mode 100644 docs/node-mixin/lib/panels/common/networktraffic.libsonnet delete mode 100644 docs/node-mixin/lib/panels/common/panels.libsonnet delete mode 100644 docs/node-mixin/lib/panels/common/percentusage.libsonnet delete mode 100644 docs/node-mixin/lib/panels/common/uptime.libsonnet delete mode 100644 docs/node-mixin/lib/panels/panel.libsonnet delete mode 100644 docs/node-mixin/lib/panels/panels.libsonnet delete mode 100644 docs/node-mixin/lib/panels/stat.libsonnet delete mode 100644 docs/node-mixin/lib/panels/table.libsonnet delete mode 100644 docs/node-mixin/lib/panels/timeseries.libsonnet create mode 100644 docs/node-mixin/mixin-mac.libsonnet delete mode 100644 docs/node-mixin/rules.jsonnet delete mode 100644 docs/node-mixin/rules/rules.libsonnet delete mode 100644 docs/node-observ-lib/.gitignore delete mode 100644 docs/node-observ-lib/jsonnetfile.json delete mode 100644 docs/node-observ-lib/jsonnetfile.lock.json delete mode 100644 docs/node-observ-lib/linux/targets.libsonnet delete mode 100644 docs/node-observ-lib/macos/config.libsonnet delete mode 100644 docs/node-observ-lib/mixin-mac.libsonnet delete mode 100644 docs/node-observ-lib/mixin.libsonnet diff --git a/docs/node-mixin/Makefile b/docs/node-mixin/Makefile index d04b37d009..d1775a9828 100644 --- a/docs/node-mixin/Makefile +++ b/docs/node-mixin/Makefile @@ -6,15 +6,15 @@ fmt: find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ xargs -n 1 -- $(JSONNET_FMT) -i -node_alerts.yaml: mixin.libsonnet config.libsonnet $(wildcard alerts/*) - jsonnet -S alerts.jsonnet > $@ +node_alerts.yaml: mixin.libsonnet lib/linux/config.libsonnet $(wildcard lib/linux/alerts/*) + jsonnet -J vendor -S -e 'std.manifestYamlDoc((import "mixin.libsonnet").prometheusAlerts)' > $@ -node_rules.yaml: mixin.libsonnet config.libsonnet $(wildcard rules/*) - jsonnet -S rules.jsonnet > $@ +node_rules.yaml: mixin.libsonnet lib/linux/config.libsonnet $(wildcard lib/linux/rules/*) + jsonnet -J vendor -S -e 'std.manifestYamlDoc((import "mixin.libsonnet").prometheusRules)' > $@ -dashboards_out: mixin.libsonnet config.libsonnet $(wildcard dashboards/*) - @mkdir -p dashboards_out - jsonnet -J vendor -m dashboards_out dashboards.jsonnet +dashboards_out: mixin.libsonnet lib/linux/config.libsonnet lib/linux/dashboards.libsonnet $(wildcard lib/linux/*) + @mkdir -p dashboards_out/linux + jsonnet -J vendor -m dashboards_out/linux -e '(import "mixin.libsonnet").grafanaDashboards' lint: node_alerts.yaml node_rules.yaml find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \ diff --git a/docs/node-mixin/alerts.jsonnet b/docs/node-mixin/alerts.jsonnet deleted file mode 100644 index 75e7c1b297..0000000000 --- a/docs/node-mixin/alerts.jsonnet +++ /dev/null @@ -1 +0,0 @@ -std.manifestYamlDoc((import 'mixin.libsonnet').prometheusAlerts) diff --git a/docs/node-mixin/alerts/alerts.libsonnet b/docs/node-mixin/alerts/alerts.libsonnet deleted file mode 100644 index fc2ae2b56c..0000000000 --- a/docs/node-mixin/alerts/alerts.libsonnet +++ /dev/null @@ -1,433 +0,0 @@ -{ - prometheusAlerts+:: { - groups+: [ - { - name: 'node-exporter-filesystem', - rules: [ - { - alert: 'NodeFilesystemSpaceFillingUp', - expr: ||| - ( - node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpWarningThreshold)d - and - predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[%(fsSpaceFillingUpPredictionWindow)s], 24*60*60) < 0 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem is predicted to run out of space within the next 24 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.', - }, - }, - { - alert: 'NodeFilesystemSpaceFillingUp', - expr: ||| - ( - node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpCriticalThreshold)d - and - predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % $._config, - }, - annotations: { - summary: 'Filesystem is predicted to run out of space within the next 4 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfSpace', - expr: ||| - ( - node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableWarningThreshold)d - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '30m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem has less than %(fsSpaceAvailableWarningThreshold)d%% space left.' % $._config, - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfSpace', - expr: ||| - ( - node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceAvailableCriticalThreshold)d - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '30m', - labels: { - severity: '%(nodeCriticalSeverity)s' % $._config, - }, - annotations: { - summary: 'Filesystem has less than %(fsSpaceAvailableCriticalThreshold)d%% space left.' % $._config, - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.', - }, - }, - { - alert: 'NodeFilesystemFilesFillingUp', - expr: ||| - ( - node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 40 - and - predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem is predicted to run out of inodes within the next 24 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.', - }, - }, - { - alert: 'NodeFilesystemFilesFillingUp', - expr: ||| - ( - node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 20 - and - predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 4*60*60) < 0 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % $._config, - }, - annotations: { - summary: 'Filesystem is predicted to run out of inodes within the next 4 hours.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfFiles', - expr: ||| - ( - node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 5 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Filesystem has less than 5% inodes left.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', - }, - }, - { - alert: 'NodeFilesystemAlmostOutOfFiles', - expr: ||| - ( - node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < 3 - and - node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 - ) - ||| % $._config, - 'for': '1h', - labels: { - severity: '%(nodeCriticalSeverity)s' % $._config, - }, - annotations: { - summary: 'Filesystem has less than 3% inodes left.', - description: 'Filesystem on {{ $labels.device }}, mounted on {{ $labels.mountpoint }}, at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.', - }, - }, - ], - }, - { - name: 'node-exporter', - rules: [ - { - alert: 'NodeNetworkReceiveErrs', - expr: ||| - rate(node_network_receive_errs_total{%(nodeExporterSelector)s}[2m]) / rate(node_network_receive_packets_total{%(nodeExporterSelector)s}[2m]) > 0.01 - ||| % $._config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Network interface is reporting many receive errors.', - description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.', - }, - }, - { - alert: 'NodeNetworkTransmitErrs', - expr: ||| - rate(node_network_transmit_errs_total{%(nodeExporterSelector)s}[2m]) / rate(node_network_transmit_packets_total{%(nodeExporterSelector)s}[2m]) > 0.01 - ||| % $._config, - 'for': '1h', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Network interface is reporting many transmit errors.', - description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.', - }, - }, - { - alert: 'NodeHighNumberConntrackEntriesUsed', - expr: ||| - (node_nf_conntrack_entries{%(nodeExporterSelector)s} / node_nf_conntrack_entries_limit) > 0.75 - ||| % $._config, - annotations: { - summary: 'Number of conntrack are getting close to the limit.', - description: '{{ $value | humanizePercentage }} of conntrack entries are used.', - }, - labels: { - severity: 'warning', - }, - }, - { - alert: 'NodeTextFileCollectorScrapeError', - expr: ||| - node_textfile_scrape_error{%(nodeExporterSelector)s} == 1 - ||| % $._config, - annotations: { - summary: 'Node Exporter text file collector failed to scrape.', - description: 'Node Exporter text file collector on {{ $labels.instance }} failed to scrape.', - }, - labels: { - severity: 'warning', - }, - }, - { - alert: 'NodeClockSkewDetected', - expr: ||| - ( - node_timex_offset_seconds{%(nodeExporterSelector)s} > 0.05 - and - deriv(node_timex_offset_seconds{%(nodeExporterSelector)s}[5m]) >= 0 - ) - or - ( - node_timex_offset_seconds{%(nodeExporterSelector)s} < -0.05 - and - deriv(node_timex_offset_seconds{%(nodeExporterSelector)s}[5m]) <= 0 - ) - ||| % $._config, - 'for': '10m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Clock skew detected.', - description: 'Clock at {{ $labels.instance }} is out of sync by more than 0.05s. Ensure NTP is configured correctly on this host.', - }, - }, - { - alert: 'NodeClockNotSynchronising', - expr: ||| - min_over_time(node_timex_sync_status{%(nodeExporterSelector)s}[5m]) == 0 - and - node_timex_maxerror_seconds{%(nodeExporterSelector)s} >= 16 - ||| % $._config, - 'for': '10m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Clock not synchronising.', - description: 'Clock at {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.', - }, - }, - { - alert: 'NodeRAIDDegraded', - expr: ||| - node_md_disks_required{%(nodeExporterSelector)s,%(diskDeviceSelector)s} - ignoring (state) (node_md_disks{state="active",%(nodeExporterSelector)s,%(diskDeviceSelector)s}) > 0 - ||| % $._config, - 'for': '15m', - labels: { - severity: 'critical', - }, - annotations: { - summary: 'RAID Array is degraded.', - description: "RAID array '{{ $labels.device }}' at {{ $labels.instance }} is in degraded state due to one or more disks failures. Number of spare drives is insufficient to fix issue automatically.", - }, - }, - { - alert: 'NodeRAIDDiskFailure', - expr: ||| - node_md_disks{state="failed",%(nodeExporterSelector)s,%(diskDeviceSelector)s} > 0 - ||| % $._config, - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Failed device in RAID array.', - description: "At least one device in RAID array at {{ $labels.instance }} failed. Array '{{ $labels.device }}' needs attention and possibly a disk swap.", - }, - }, - { - alert: 'NodeFileDescriptorLimit', - expr: ||| - ( - node_filefd_allocated{%(nodeExporterSelector)s} * 100 / node_filefd_maximum{%(nodeExporterSelector)s} > 70 - ) - ||| % $._config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Kernel is predicted to exhaust file descriptors limit soon.', - description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', - }, - }, - { - alert: 'NodeFileDescriptorLimit', - expr: ||| - ( - node_filefd_allocated{%(nodeExporterSelector)s} * 100 / node_filefd_maximum{%(nodeExporterSelector)s} > 90 - ) - ||| % $._config, - 'for': '15m', - labels: { - severity: 'critical', - }, - annotations: { - summary: 'Kernel is predicted to exhaust file descriptors limit soon.', - description: 'File descriptors limit at {{ $labels.instance }} is currently at {{ printf "%.2f" $value }}%.', - }, - }, - { - alert: 'NodeCPUHighUsage', - expr: ||| - sum without(mode) (avg without (cpu) (rate(node_cpu_seconds_total{%(nodeExporterSelector)s, mode!="idle"}[2m]))) * 100 > %(cpuHighUsageThreshold)d - ||| % $._config, - 'for': '15m', - labels: { - severity: 'info', - }, - annotations: { - summary: 'High CPU usage.', - description: ||| - CPU usage at {{ $labels.instance }} has been above %(cpuHighUsageThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. - ||| % $._config, - }, - }, - { - alert: 'NodeSystemSaturation', - expr: ||| - node_load1{%(nodeExporterSelector)s} - / count without (cpu, mode) (node_cpu_seconds_total{%(nodeExporterSelector)s, mode="idle"}) > %(systemSaturationPerCoreThreshold)d - ||| % $._config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'System saturated, load per core is very high.', - description: ||| - System load per core at {{ $labels.instance }} has been above %(systemSaturationPerCoreThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. - This might indicate this instance resources saturation and can cause it becoming unresponsive. - ||| % $._config, - }, - }, - { - alert: 'NodeMemoryMajorPagesFaults', - expr: ||| - rate(node_vmstat_pgmajfault{%(nodeExporterSelector)s}[5m]) > %(memoryMajorPagesFaultsThreshold)d - ||| % $._config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Memory major page faults are occurring at very high rate.', - description: ||| - Memory major pages are occurring at very high rate at {{ $labels.instance }}, %(memoryMajorPagesFaultsThreshold)d major page faults per second for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. - Please check that there is enough memory available at this instance. - ||| % $._config, - }, - }, - { - alert: 'NodeMemoryHighUtilization', - expr: ||| - 100 - (node_memory_MemAvailable_bytes{%(nodeExporterSelector)s} / node_memory_MemTotal_bytes{%(nodeExporterSelector)s} * 100) > %(memoryHighUtilizationThreshold)d - ||| % $._config, - 'for': '15m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Host is running out of memory.', - description: ||| - Memory is filling up at {{ $labels.instance }}, has been above %(memoryHighUtilizationThreshold)d%% for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}%%. - ||| % $._config, - }, - }, - { - alert: 'NodeDiskIOSaturation', - expr: ||| - rate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[5m]) > %(diskIOSaturationThreshold)d - ||| % $._config, - 'for': '30m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Disk IO queue is high.', - description: ||| - Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. - This symptom might indicate disk saturation. - ||| % $._config, - }, - }, - { - alert: 'NodeSystemdServiceFailed', - expr: ||| - node_systemd_unit_state{%(nodeExporterSelector)s, state="failed"} == 1 - ||| % $._config, - 'for': '5m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Systemd service has entered failed state.', - description: 'Systemd service {{ $labels.name }} has entered failed state at {{ $labels.instance }}', - }, - }, - { - alert: 'NodeBondingDegraded', - expr: ||| - (node_bonding_slaves - node_bonding_active) != 0 - ||| % $._config, - 'for': '5m', - labels: { - severity: 'warning', - }, - annotations: { - summary: 'Bonding interface is degraded', - description: 'Bonding interface {{ $labels.master }} on {{ $labels.instance }} is in degraded state due to one or more slave failures.', - }, - }, - ], - }, - ], - }, -} diff --git a/docs/node-mixin/config.libsonnet b/docs/node-mixin/config.libsonnet deleted file mode 100644 index 4e9cafadf2..0000000000 --- a/docs/node-mixin/config.libsonnet +++ /dev/null @@ -1,123 +0,0 @@ -{ - _config+:: { - // Selectors are inserted between {} in Prometheus queries. - - // Select the metrics coming from the node exporter. Note that all - // the selected metrics are shown stacked on top of each other in - // the 'USE Method / Cluster' dashboard. Consider disabling that - // dashboard if mixing up all those metrics in the same dashboard - // doesn't make sense (e.g. because they are coming from different - // clusters). - nodeExporterSelector: 'job="node"', - - // Select the fstype for filesystem-related queries. If left - // empty, all filesystems are selected. If you have unusual - // filesystem you don't want to include in dashboards and - // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. - fsSelector: 'fstype!=""', - - // Select the mountpoint for filesystem-related queries. If left - // empty, all mountpoints are selected. For example if you have a - // special purpose tmpfs instance that has a fixed size and will - // always be 100% full, but you still want alerts and dashboards for - // other tmpfs instances, you can exclude those by mountpoint prefix - // like so: 'mountpoint!~"/var/lib/foo.*"'. - fsMountpointSelector: 'mountpoint!=""', - - // Select the device for disk-related queries. If left empty, all - // devices are selected. If you have unusual devices you don't - // want to include in dashboards and alerting, you can exclude - // them here, e.g. 'device!="tmpfs"'. - diskDeviceSelector: 'device!=""', - - // Some of the alerts are meant to fire if a critical failure of a - // node is imminent (e.g. the disk is about to run full). In a - // true “cloud native” setup, failures of a single node should be - // tolerated. Hence, even imminent failure of a single node is no - // reason to create a paging alert. However, in practice there are - // still many situations where operators like to get paged in time - // before a node runs out of disk space. nodeCriticalSeverity can - // be set to the desired severity for this kind of alerts. This - // can even be templated to depend on labels of the node, e.g. you - // could make this critical for traditional database masters but - // just a warning for K8s nodes. - nodeCriticalSeverity: 'critical', - - // CPU utilization (%) on which to trigger the - // 'NodeCPUHighUsage' alert. - cpuHighUsageThreshold: 90, - // Load average 1m (per core) on which to trigger the - // 'NodeSystemSaturation' alert. - systemSaturationPerCoreThreshold: 2, - - // Available disk space (%) thresholds on which to trigger the - // 'NodeFilesystemSpaceFillingUp' alerts. These alerts fire if the disk - // usage grows in a way that it is predicted to run out in 4h or 1d - // and if the provided thresholds have been reached right now. - // In some cases you'll want to adjust these, e.g., by default, Kubernetes - // runs the image garbage collection when the disk usage reaches 85% - // of its available space. In that case, you'll want to reduce the - // critical threshold below to something like 14 or 15, otherwise - // the alert could fire under normal node usage. - // Additionally, the prediction window for the alert can be configured - // to account for environments where disk usage can fluctuate within - // a short time frame. By extending the prediction window, you can - // reduce false positives caused by temporary spikes, providing a - // more accurate prediction of disk space issues. - fsSpaceFillingUpWarningThreshold: 40, - fsSpaceFillingUpCriticalThreshold: 20, - fsSpaceFillingUpPredictionWindow: '6h', - - // Available disk space (%) thresholds on which to trigger the - // 'NodeFilesystemAlmostOutOfSpace' alerts. - fsSpaceAvailableWarningThreshold: 5, - fsSpaceAvailableCriticalThreshold: 3, - - // Memory utilzation (%) level on which to trigger the - // 'NodeMemoryHighUtilization' alert. - memoryHighUtilizationThreshold: 90, - - // Threshold for the rate of memory major page faults to trigger - // 'NodeMemoryMajorPagesFaults' alert. - memoryMajorPagesFaultsThreshold: 500, - - // Disk IO queue level above which to trigger - // 'NodeDiskIOSaturation' alert. - diskIOSaturationThreshold: 10, - - rateInterval: '5m', - // Opt-in for multi-cluster support. - showMultiCluster: false, - - clusterLabel: 'cluster', - - // groupLabels is a string with comma-separated - // labels that are common labels of instances belonging to the - // same logical group. Include not only enough labels to - // identify cluster members, but also all common labels you want - // to keep for resulting cluster-level alerts. - groupLabels: 'job', - // commaSeparated list of labels identifying a single instance: - instanceLabels: 'instance', - - dashboardNamePrefix: 'Node Exporter / ', - dashboardTags: ['node-exporter-mixin'], - dashboardRefresh: '30s', - dashboardTimezone: 'utc', - dashboardInterval: 'now-2h', - - // Grafana dashboard IDs are necessary for stable links for dashboards - grafanaDashboardIDs: { - 'node-rsrc-use.json': 'node-rsrc-use', - 'node-cluster-rsrc-use.json': 'node-cluster-rsrc-use', - 'node-multicluster-rsrc-use.json': 'node-multicluster-rsrc-use', - 'nodes.json': 'nodes', - 'nodes-darwin.json': 'nodes-darwin', - 'nodes-system.json': 'node-system', - 'nodes-memory.json': 'node-memory', - 'nodes-network.json': 'node-network', - 'nodes-disk.json': 'node-disk', - 'nodes-fleet.json': 'node-fleet', - }, - }, -} diff --git a/docs/node-mixin/dashboards.jsonnet b/docs/node-mixin/dashboards.jsonnet deleted file mode 100644 index 9d913ed3f1..0000000000 --- a/docs/node-mixin/dashboards.jsonnet +++ /dev/null @@ -1,6 +0,0 @@ -local dashboards = (import 'mixin.libsonnet').grafanaDashboards; - -{ - [name]: dashboards[name] - for name in std.objectFields(dashboards) -} diff --git a/docs/node-mixin/dashboards/dashboards.libsonnet b/docs/node-mixin/dashboards/dashboards.libsonnet deleted file mode 100644 index e6adbd4fa0..0000000000 --- a/docs/node-mixin/dashboards/dashboards.libsonnet +++ /dev/null @@ -1,2 +0,0 @@ -(import 'node.libsonnet') + -(import 'use.libsonnet') diff --git a/docs/node-mixin/dashboards/disk.libsonnet b/docs/node-mixin/dashboards/disk.libsonnet deleted file mode 100644 index 2f78c4da3e..0000000000 --- a/docs/node-mixin/dashboards/disk.libsonnet +++ /dev/null @@ -1,165 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; - -{ - - // https://www.robustperception.io/filesystem-metrics-from-the-node-exporter/ - new(config=null, platform=null):: { - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - local templates = c.templates, - local q = c.queries, - - local fsAvailable = - nodeTimeseries.new( - 'Filesystem Space Available', - description=||| - Filesystem space utilisation in bytes, by mountpoint. - ||| - ) - .withUnits('decbytes') - .withFillOpacity(5) - .addTarget(commonPromTarget( - expr=q.node_filesystem_avail_bytes, - legendFormat='{{ mountpoint }}', - )), - - local fsInodes = - nodeTimeseries.new( - 'Free inodes', - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', - ) - .withUnits('short') - .addTarget(commonPromTarget( - expr=q.node_filesystem_files_free, - legendFormat='{{ mountpoint }}' - )) - .addTarget(commonPromTarget( - expr=q.node_filesystem_files, - legendFormat='{{ mountpoint }}' - )), - local fsInodesTotal = - nodeTimeseries.new( - 'Total inodes', - description='The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.', - ) - .withUnits('short') - .addTarget(commonPromTarget( - expr=q.node_filesystem_files, - legendFormat='{{ mountpoint }}' - )), - local fsErrorsandRO = - nodeTimeseries.new('Filesystems with errors / read-only') - .withMax(1) - .addTarget(commonPromTarget( - expr=q.node_filesystem_readonly, - legendFormat='{{ mountpoint }}' - )) - .addTarget(commonPromTarget( - expr=q.node_filesystem_device_error, - legendFormat='{{ mountpoint }}' - )), - local fileDescriptors = - nodeTimeseries.new( - 'File Descriptors', - description=||| - File descriptor is a handle to an open file or input/output (I/O) resource, such as a network socket or a pipe. - The operating system uses file descriptors to keep track of open files and I/O resources, and provides a way for programs to read from and write to them. - ||| - ) - .addTarget(commonPromTarget( - expr=q.process_max_fds, - legendFormat='Maximum open file descriptors', - )) - .addTarget(commonPromTarget( - expr=q.process_open_fds, - legendFormat='Open file descriptors', - )), - - local diskIOcompleted = - nodeTimeseries.new( - title='Disk IOps completed', - description='The number (after merges) of I/O requests completed per second for the device' - ) - .withUnits('iops') - .withNegativeYByRegex('reads') - .withAxisLabel('read(-) | write(+)') - .addTarget(commonPromTarget( - expr=q.node_disk_reads_completed_total, - legendFormat='{{device}} reads completed', - )) - .addTarget(commonPromTarget( - expr=q.node_disk_writes_completed_total, - legendFormat='{{device}} writes completed', - )), - - local diskAvgWaitTime = - nodeTimeseries.new( - title='Disk Average Wait Time', - description='The average time for requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.' - ) - .withUnits('s') - .withNegativeYByRegex('read') - .withAxisLabel('read(-) | write(+)') - .addTarget(commonPromTarget( - expr=q.diskWaitReadTime, - legendFormat='{{device}} read wait time avg', - )) - .addTarget(commonPromTarget( - expr=q.diskWaitWriteTime, - legendFormat='{{device}} write wait time avg', - )), - - local diskAvgQueueSize = - nodeTimeseries.new( - title='Average Queue Size (aqu-sz)', - description='The average queue length of the requests that were issued to the device.' - ) - .addTarget(commonPromTarget( - expr=q.diskAvgQueueSize, - legendFormat='{{device}}', - )), - - local panelsGrid = - [ - { type: 'row', title: 'Filesystem', gridPos: { y: 0 } }, - fsAvailable { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, - c.panelsWithTargets.diskSpaceUsage { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, - fsInodes { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, - fsInodesTotal { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, - fsErrorsandRO { gridPos: { x: 0, w: 12, h: 8, y: 0 } }, - fileDescriptors { gridPos: { x: 12, w: 12, h: 8, y: 0 } }, - { type: 'row', title: 'Disk', gridPos: { y: 25 } }, - c.panelsWithTargets.diskIO { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, - diskIOcompleted { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, - diskAvgWaitTime { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, - diskAvgQueueSize { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, - ], - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode Filesystem and Disk' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-disk.json'] - ) - .addLink(c.links.fleetDash) - .addLink(c.links.nodeDash) - .addLink(c.links.otherDashes) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addPanels(panelsGrid) - else if platform == 'Darwin' then {}, - }, -} diff --git a/docs/node-mixin/dashboards/fleet.libsonnet b/docs/node-mixin/dashboards/fleet.libsonnet deleted file mode 100644 index a9939e59e2..0000000000 --- a/docs/node-mixin/dashboards/fleet.libsonnet +++ /dev/null @@ -1,505 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; - -{ - - new(config=null, platform=null):: { - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - - - local templates = [ - if std.member(std.split(config.instanceLabels, ','), template.name) - then - template - { - allValue: '.+', - includeAll: true, - multi: true, - } - else template - for template in c.templates - ], - - local q = c.queries, - - local fleetTable = - nodePanels.table.new( - title='Linux Nodes Overview' - ) - .addTarget(commonPromTarget(expr=q.osInfo, format='table', instant=true) { refId: 'INFO' }) - .addTarget(commonPromTarget(expr=q.nodeInfo, format='table', instant=true) { refId: 'OS' }) - .addTarget(commonPromTarget(expr=q.uptime, format='table', instant=true) { refId: 'UPTIME' }) - .addTarget(commonPromTarget(expr=q.systemLoad1, format='table', instant=true) { refId: 'LOAD1' }) - .addTarget(commonPromTarget(expr=q.systemLoad5, format='table', instant=true) { refId: 'LOAD5' }) - .addTarget(commonPromTarget(expr=q.systemLoad15, format='table', instant=true) { refId: 'LOAD15' }) - .addTarget(commonPromTarget( - expr=q.cpuCount, - format='table', - instant=true, - ) { refId: 'CPUCOUNT' }) - .addTarget(commonPromTarget( - expr=q.cpuUsage, format='table', instant=true, - ) { refId: 'CPUUSAGE' }) - .addTarget(commonPromTarget(expr=q.memoryTotal, format='table', instant=true) { refId: 'MEMTOTAL' }) - .addTarget(commonPromTarget(expr=q.memoryUsage, format='table', instant=true) { refId: 'MEMUSAGE' }) - .addTarget(commonPromTarget(expr=q.fsSizeTotalRoot, format='table', instant=true) { refId: 'FSTOTAL' }) - .addTarget(commonPromTarget( - expr= - ||| - 100-(max by (%(instanceLabels)s) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, fstype!="", mountpoint="/"}) - / - max by (%(instanceLabels)s) (node_filesystem_size_bytes{%(nodeQuerySelector)s, fstype!="", mountpoint="/"}) * 100) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - ) { refId: 'FSUSAGE' }) - .addTarget(commonPromTarget( - expr='count by (%(instanceLabels)s) (max_over_time(ALERTS{%(nodeQuerySelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(nodeQuerySelector)s})' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true - ) { refId: 'CRITICAL' }) - .addTarget(commonPromTarget( - expr='count by (%(instanceLabels)s) (max_over_time(ALERTS{%(nodeQuerySelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(nodeQuerySelector)s})' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true - ) { refId: 'WARNING' }) - .withTransform() - .joinByField(field=std.split(config.instanceLabels, ',')[0]) - .filterFieldsByName(std.split(config.instanceLabels, ',')[0] + '|nodename|Value.+') - .organize( - excludeByName={ - 'Value #OS': true, - 'Value #INFO': true, - 'Value #LOAD5': true, - 'Value #LOAD15': true, - }, - renameByName={ - instance: 'Instance', - pretty_name: 'OS', - nodename: 'Hostname', - release: 'Kernel version', - 'Value #LOAD1': 'Load 1m', - 'Value #LOAD5': 'Load 5m', - 'Value #LOAD15': 'Load 15m', - 'Value #CPUCOUNT': 'Cores', - 'Value #CPUUSAGE': 'CPU usage', - 'Value #MEMTOTAL': 'Memory total', - 'Value #MEMUSAGE': 'Memory usage', - 'Value #FSTOTAL': 'Root disk size', - 'Value #FSUSAGE': 'Root disk usage', - 'Value #UPTIME': 'Uptime', - 'Value #CRITICAL': 'Crit Alerts', - 'Value #WARNING': 'Warnings', - } - ) - .withFooter(reducer=['mean'], fields=[ - 'Value #LOAD1', - 'Value #MEMUSAGE', - 'Value #CPUUSAGE', - ]) - .addThresholdStep(color='light-blue', value=null) - .addThresholdStep(color='light-yellow', value=80) - .addThresholdStep(color='light-red', value=90) - .addOverride( - matcher={ - id: 'byName', - options: 'Instance', - }, - properties=[ - { - id: 'links', - value: [ - { - targetBlank: true, - title: c.links.instanceDataLinkForTable.title, - url: c.links.instanceDataLinkForTable.url, - }, - ], - }, - { - id: 'custom.filterable', - value: true, - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'OS|Kernel version|Hostname', - }, - properties=[ - { - id: 'custom.filterable', - value: true, - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'Memory total|Root disk size', - }, - properties=[ - { - id: 'unit', - value: 'bytes', - }, - { - id: 'decimals', - value: 0, - }, - ] - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Cores', - }, - properties=[ - { - id: 'custom.width', - value: 60, - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'Load.+', - }, - properties=[ - { - id: 'custom.width', - value: 60, - }, - ] - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Uptime', - }, - properties=[ - { - id: 'unit', - value: 'dtdurations', - }, - { - id: 'custom.displayMode', - value: 'color-text', - }, - { - id: 'thresholds', - value: { - mode: 'absolute', - steps: [ - { - color: 'light-orange', - value: null, - }, - { - color: 'text', - value: 300, - }, - ], - }, - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'CPU usage|Memory usage|Root disk usage', - }, - properties=[ - { - id: 'unit', - value: 'percent', - }, - // { - // id: 'custom.displayMode', - // value: 'gradient-gauge', - // }, - { - id: 'custom.displayMode', - value: 'basic', - }, - { - id: 'max', - value: 100, - }, - { - id: 'min', - value: 0, - }, - ] - ) - .sortBy('Instance') - , - - local memoryUsagePanel = - nodePanels.timeseries.new('Memory Usage', description='Top 25') - .withUnits('percent') - .withMin(0) - .withMax(100) - .withColor(mode='continuous-BlYlRd') - .withFillOpacity(1) - .withGradientMode('scheme') - .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') - .addDataLink( - title=c.links.instanceDataLink.title, - url=c.links.instanceDataLink.url, - ) - .addTarget(commonPromTarget( - expr='topk(25, ' + q.memoryUsage + ')', - legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) - )) - .addTarget(commonPromTarget( - expr='avg(' + q.memoryUsage + ')', - legendFormat='Mean', - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mean', - - }, - properties=[ - { - id: 'custom.lineStyle', - value: { - fill: 'dash', - dash: [ - 10, - 10, - ], - }, - }, - { - id: 'custom.fillOpacity', - value: 0, - }, - { - id: 'color', - value: { - mode: 'fixed', - fixedColor: 'light-purple', - }, - }, - { - id: 'custom.lineWidth', - value: 2, - }, - ] - ), - - local cpuUsagePanel = - nodePanels.timeseries.new('CPU Usage', description='Top 25') - .withUnits('percent') - .withMin(0) - .withMax(100) - .withFillOpacity(1) - .withColor(mode='continuous-BlYlRd') - .withGradientMode('scheme') - .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') - .addDataLink( - title=c.links.instanceDataLink.title, - url=c.links.instanceDataLink.url, - ) - .addTarget(commonPromTarget( - expr='topk(25, ' + q.cpuUsage + ')', - legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')), - )) - .addTarget(commonPromTarget( - expr='avg(' + q.cpuUsage + ')', - legendFormat='Mean', - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mean', - - }, - properties=[ - { - id: 'custom.lineStyle', - value: { - fill: 'dash', - dash: [ - 10, - 10, - ], - }, - }, - { - id: 'custom.fillOpacity', - value: 0, - }, - { - id: 'color', - value: { - mode: 'fixed', - fixedColor: 'light-purple', - }, - }, - { - id: 'custom.lineWidth', - value: 2, - }, - ] - ), - - local diskIOPanel = - nodePanels.timeseries.new('Disks I/O', description='Top 25') - .withUnits('percentunit') - .withMin(0) - .withMax(1) - .withFillOpacity(1) - .withColor(mode='continuous-BlYlRd') - .withGradientMode('scheme') - .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') - .addDataLink( - title=c.links.instanceDataLink.title, - url=c.links.instanceDataLink.url, - ) - .addTarget(commonPromTarget( - expr='topk(25, ' + q.diskIoTime + ')', - legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{device}}', - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mean', - - }, - properties=[ - { - id: 'custom.lineStyle', - value: { - fill: 'dash', - dash: [ - 10, - 10, - ], - }, - }, - { - id: 'custom.fillOpacity', - value: 0, - }, - { - id: 'color', - value: { - mode: 'fixed', - fixedColor: 'light-purple', - }, - }, - { - id: 'custom.lineWidth', - value: 2, - }, - ] - ), - local diskSpacePanel = - nodePanels.timeseries.new('Disks Space Usage', description='Top 25') - .withUnits('percentunit') - .withMin(0) - .withMax(1) - .withFillOpacity(1) - .withColor(mode='continuous-BlYlRd') - .withGradientMode('scheme') - .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') - .addDataLink( - title=c.links.instanceDataLink.title, - url=c.links.instanceDataLink.url, - ) - .addTarget(commonPromTarget( - expr='topk(25, ' + q.diskSpaceUsage + ')', - legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{mountpoint}}', - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mean', - - }, - properties=[ - { - id: 'custom.lineStyle', - value: { - fill: 'dash', - dash: [ - 10, - 10, - ], - }, - }, - { - id: 'custom.fillOpacity', - value: 0, - }, - { - id: 'color', - value: { - mode: 'fixed', - fixedColor: 'light-purple', - }, - }, - { - id: 'custom.lineWidth', - value: 2, - }, - ] - ), - local networkErrorsDropsPanel = - nodePanels.timeseries.new('Network Errors and Dropped Packets', description='Top 25') - .withLegend(mode='table', calcs=['mean', 'max', 'lastNotNull'], placement='right') - .addTarget(commonPromTarget( - expr='topk(25, ' + q.networkReceiveErrorsPerSec + ' + ' + q.networkTransmitErrorsPerSec + ' + ' + q.networkReceiveDropsPerSec + ' + ' + q.networkTransmitDropsPerSec + ') > 0.5', - legendFormat=c.labelsToLegend(std.split(config.instanceLabels, ',')) + ': {{device}}', - )) - .withDecimals(1) - .withUnits('pps') - .withDrawStyle('points') - .withPointsSize(5) - .addDataLink( - title=c.links.instanceDataLink.title, - url=c.links.instanceDataLink.url, - ), - - local rows = - [ - row.new('Overview') - .addPanel(fleetTable { span: 12, height: '800px' }) - .addPanel(cpuUsagePanel { span: 12 }) - .addPanel(memoryUsagePanel { span: 12 }) - .addPanel(diskIOPanel { span: 6 }).addPanel(diskSpacePanel { span: 6 }) - .addPanel(networkErrorsDropsPanel { span: 12 }), - ], - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode Fleet Overview' % config.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-fleet.json'], - ) - .addLink(c.links.otherDashes { includeVars: false }) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addRows(rows) - else if platform == 'Darwin' then {}, - }, -} diff --git a/docs/node-mixin/dashboards/memory.libsonnet b/docs/node-mixin/dashboards/memory.libsonnet deleted file mode 100644 index 5b6e613851..0000000000 --- a/docs/node-mixin/dashboards/memory.libsonnet +++ /dev/null @@ -1,406 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; - -{ - - new(config=null, platform=null):: { - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - local templates = c.templates, - local q = c.queries, - - local memoryPagesInOut = - nodeTimeseries.new( - 'Memory Pages In / Out', - description=||| - Page-In - Return of pages to physical memory. This is a common and normal event. - - Page-Out - process of writing pages to disk. Unlike page-in, page-outs can indicate trouble. - When the kernel detects low memory, it attempts to free memory by paging out. - While occasional page-outs are normal, excessive and frequent page-outs can lead to thrashing. - Thrashing is a state in which the kernel spends more time managing paging activity than running applications, resulting in poor system performance. - ||| - ) - .withNegativeYByRegex('out') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_vmstat_pgpgin{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Page-In' - )) - .addTarget(commonPromTarget( - expr='irate(node_vmstat_pgpgout{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Page-Out' - )), - local memoryPagesSwapInOut = - nodeTimeseries.new( - 'Memory Pages Swapping In / Out', - description=||| - Compared to the speed of the CPU and main memory, writing pages out to disk is relatively slow. - Nonetheless, it is a preferable option to crashing or killing off processes. - - The process of writing pages out to disk to free memory is known as swapping-out. - If a page fault occurs because the page is on disk, in the swap area, rather than in memory, - the kernel will read the page back in from the disk to satisfy the page fault. - This is known as swapping-in. - ||| - ) - .withNegativeYByRegex('out') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_vmstat_pswpin{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Pages swapped in' - )) - .addTarget(commonPromTarget( - expr='irate(node_vmstat_pswpout{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Pages swapped out' - )), - - local memoryPagesFaults = - nodeTimeseries.new( - 'Memory Page Faults', - description=||| - A page fault is an exception raised by the memory when a process accesses a memory page without the necessary preparations, - requiring a mapping to be added to the process's virtual address space. The page contents may also need to be loaded from a backing store such as a disk. - While the MMU detects the page fault, the operating system's kernel handles the exception by either making the required page accessible in physical memory or denying an illegal memory access. - Valid page faults are common and necessary to increase memory availability in any operating system that uses virtual memory, including Windows, macOS, and the Linux kernel. - ||| - ) - .addTarget(commonPromTarget( - expr='irate(node_vmstat_pgmajfault{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Major page fault operations' - )) - .addTarget(commonPromTarget( - expr= - ||| - irate(node_vmstat_pgfault{%(nodeQuerySelector)s}[$__rate_interval]) - - - irate(node_vmstat_pgmajfault{%(nodeQuerySelector)s}[$__rate_interval]) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Minor page fault operations' - )), - - local memoryOOMkiller = - nodeTimeseries.new( - 'OOM Killer', - description=||| - Out Of Memory Killer is a process used by the Linux kernel when the system is running critically low on memory. - This can happen when the kernel has allocated more memory than is available for its processes. - ||| - ) - .addTarget(commonPromTarget( - expr='increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval] offset -$__interval)' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='OOM killer invocations' - )), - - local memoryActiveInactive = - nodeTimeseries.new( - 'Memory Active / Inactive', - description=||| - Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes. - Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Inactive_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Inactive', - )) - .addTarget(commonPromTarget( - expr='node_memory_Active_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Active', - )), - - local memoryActiveInactiveDetail = - nodeTimeseries.new( - 'Memory Active / Inactive Details', - description=||| - Inactive_file: File-backed memory on inactive LRU list. - Inactive_anon: Anonymous and swap cache on inactive LRU list, including tmpfs (shmem). - Active_file: File-backed memory on active LRU list. - Active_anon: Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Inactive_file_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Inactive_file', - )) - .addTarget(commonPromTarget( - expr='node_memory_Inactive_anon_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Inactive_anon', - )) - .addTarget(commonPromTarget( - expr='node_memory_Active_file_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Active_file', - )) - .addTarget(commonPromTarget( - expr='node_memory_Active_anon_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Active_anon', - )), - - local memoryCommited = - nodeTimeseries.new( - 'Memory Commited', - description=||| - Committed_AS - Amount of memory presently allocated on the system. - CommitLimit - Amount of memory currently available to be allocated on the system. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Committed_AS_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Committed_AS' - )) - .addTarget(commonPromTarget( - expr='node_memory_CommitLimit_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='CommitLimit' - )), - local memorySharedAndMapped = - nodeTimeseries.new( - 'Memory Shared and Mapped', - description=||| - Mapped: This refers to the memory used in mapped page files that have been memory mapped, such as libraries. - Shmem: This is the memory used by shared memory, which is shared between multiple processes, including RAM disks. - ShmemHugePages: This is the memory used by shared memory and tmpfs allocated with huge pages. - ShmemPmdMapped: This is the amount of shared memory (shmem/tmpfs) backed by huge pages. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Mapped_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Mapped' - )) - .addTarget(commonPromTarget( - expr='node_memory_Shmem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Shmem' - )) - .addTarget(commonPromTarget( - expr='node_memory_ShmemHugePages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ShmemHugePages' - )) - .addTarget(commonPromTarget( - expr='node_memory_ShmemPmdMapped_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ShmemPmdMapped' - )), - - local memoryWriteAndDirty = - nodeTimeseries.new( - 'Memory Writeback and Dirty', - description=||| - Writeback: This refers to the memory that is currently being actively written back to the disk. - WritebackTmp: This is the memory used by FUSE for temporary writeback buffers. - Dirty: This type of memory is waiting to be written back to the disk. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Writeback_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Writeback' - )) - .addTarget(commonPromTarget( - expr='node_memory_WritebackTmp_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='WritebackTmp' - )) - .addTarget(commonPromTarget( - expr='node_memory_Dirty_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Dirty' - )), - - local memoryVmalloc = - nodeTimeseries.new( - 'Memory Vmalloc', - description=||| - Virtual Memory Allocation is a type of memory allocation in Linux that allows a process to request a contiguous block of memory larger than the amount of physically available memory. This is achieved by mapping the requested memory to virtual addresses that are backed by a combination of physical memory and swap space on disk. - - VmallocChunk: Largest contiguous block of vmalloc area which is free. - VmallocTotal: Total size of vmalloc memory area. - VmallocUsed: Amount of vmalloc area which is used. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_VmallocChunk_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='VmallocChunk' - )) - .addTarget(commonPromTarget( - expr='node_memory_VmallocTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='VmallocTotal' - )) - .addTarget(commonPromTarget( - expr='node_memory_VmallocUsed_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='VmallocUsed' - )), - - local memorySlab = - nodeTimeseries.new('Memory Slab', - description=||| - Slab Allocation is a type of memory allocation in Linux that allows the kernel to efficiently manage the allocation and deallocation of small and frequently used data structures, such as network packets, file system objects, and process descriptors. - - The Slab Allocator maintains a cache of pre-allocated objects of a fixed size and type, called slabs. When an application requests an object of a particular size and type, the Slab Allocator checks if a pre-allocated object of that size and type is available in the cache. If an object is available, it is returned to the application; if not, a new slab of objects is allocated and added to the cache. - - SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure. - SReclaimable: Part of Slab, that might be reclaimed, such as caches. - |||) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_SUnreclaim_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='SUnreclaim' - )) - .addTarget(commonPromTarget( - expr='node_memory_SReclaimable_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='SReclaimable' - )), - - local memoryAnonymous = - nodeTimeseries.new( - 'Memory Anonymous', - description=||| - Memory Anonymous refers to the portion of the virtual memory that is used by a process for dynamically allocated memory that is not backed by any file or device. - - This type of memory is commonly used for heap memory allocation, which is used by programs to allocate and free memory dynamically during runtime. - - Memory Anonymous is different from Memory Mapped files, which refer to portions of the virtual memory space that are backed by a file or device, - and from Memory Shared with other processes, - which refers to memory regions that can be accessed and modified by multiple processes. - - AnonHugePages: Memory in anonymous huge pages. - AnonPages: Memory in user pages not backed by files. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_AnonHugePages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='AnonHugePages' - )) - .addTarget(commonPromTarget( - expr='node_memory_AnonPages_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='AnonPages' - )), - - local memoryHugePagesCounter = - nodeTimeseries.new( - 'Memory HugePages Counter', - description=||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - - HugePages_Free: Huge pages in the pool that are not yet allocated. - HugePages_Rsvd: Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. - HugePages_Surp: Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages. - ||| - ) - .addTarget(commonPromTarget( - expr='node_memory_HugePages_Free{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='HugePages_Free' - )) - .addTarget(commonPromTarget( - expr='node_memory_HugePages_Rsvd{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='HugePages_Rsvd' - )) - .addTarget(commonPromTarget( - expr='node_memory_HugePages_Surp{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='HugePages_Surp' - )), - local memoryHugePagesSize = - nodeTimeseries.new( - 'Memory HugePages Size', - description=||| - Huge Pages are a feature that allows for the allocation of larger memory pages than the standard 4KB page size. By using larger page sizes, the kernel can reduce the overhead associated with managing a large number of smaller pages, which can improve system performance for certain workloads. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_HugePages_Total{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Huge pages total size' - )) - .addTarget(commonPromTarget( - expr='node_memory_Hugepagesize_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Huge page size' - )), - local memoryDirectMap = - nodeTimeseries.new( - 'Memory Direct Map', - description=||| - Direct Map memory refers to the portion of the kernel's virtual address space that is directly mapped to physical memory. This mapping is set up by the kernel during boot time and is used to provide fast access to certain critical kernel data structures, such as page tables and interrupt descriptor tables. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_DirectMap1G_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='DirectMap1G' - )) - .addTarget(commonPromTarget( - expr='node_memory_DirectMap2M_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='DirectMap2M' - )) - .addTarget(commonPromTarget( - expr='node_memory_DirectMap4k_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='DirectMap4k' - )), - - local memoryBounce = - nodeTimeseries.new( - 'Memory Bounce', - description=||| - Memory bounce is a technique used in the Linux kernel to handle situations where direct memory access (DMA) is required but the physical memory being accessed is not contiguous. This can happen when a device, such as a network interface card or a disk controller, requires access to a large amount of memory that is not available as a single contiguous block. - - To handle this situation, the kernel uses a technique called memory bouncing. In memory bouncing, the kernel sets up a temporary buffer in physical memory that is large enough to hold the entire data block being transferred by the device. The data is then copied from the non-contiguous source memory to the temporary buffer, which is physically contiguous. - - Bounce: Memory used for block device bounce buffers. - ||| - ) - .withUnits('decbytes') - .addTarget(commonPromTarget( - expr='node_memory_Bounce_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Bounce' - )), - local panelsGrid = - [ - c.panelsWithTargets.memoryGauge { gridPos: { x: 0, w: 6, h: 6, y: 0 } }, - c.panelsWithTargets.memoryGraph { gridPos: { x: 6, w: 18, h: 6, y: 0 } }, - { type: 'row', title: 'Vmstat', gridPos: { y: 25 } }, - memoryPagesInOut { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, - memoryPagesSwapInOut { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, - memoryPagesFaults { gridPos: { x: 0, w: 12, h: 8, y: 25 } }, - memoryOOMkiller { gridPos: { x: 12, w: 12, h: 8, y: 25 } }, - { type: 'row', title: 'Memstat', gridPos: { y: 50 } }, - memoryActiveInactive { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memoryActiveInactiveDetail { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - memoryCommited { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memorySharedAndMapped { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - memoryWriteAndDirty { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memoryVmalloc { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - memorySlab { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memoryAnonymous { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - memoryHugePagesCounter { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memoryHugePagesSize { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - memoryDirectMap { gridPos: { x: 0, w: 12, h: 8, y: 50 } }, - memoryBounce { gridPos: { x: 12, w: 12, h: 8, y: 50 } }, - ], - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode Memory' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-memory.json'], - ) - .addLink(c.links.fleetDash) - .addLink(c.links.nodeDash) - .addLink(c.links.otherDashes) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addPanels(panelsGrid) - else if platform == 'Darwin' then {}, - }, -} diff --git a/docs/node-mixin/dashboards/network.libsonnet b/docs/node-mixin/dashboards/network.libsonnet deleted file mode 100644 index ceacd13e42..0000000000 --- a/docs/node-mixin/dashboards/network.libsonnet +++ /dev/null @@ -1,796 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; - -{ - - new(config=null, platform=null):: { - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - local templates = c.templates, - local q = c.queries, - - local networkTrafficPanel = - commonPanels.networkTrafficGraph.new( - 'Network Traffic', - description=||| - Network interfaces utilisation by device and direction. - ||| - ) - .addTarget(commonPromTarget( - expr=q.networkReceiveBitsPerSec, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitBitsPerSec, - legendFormat='{{device}} transmitted', - )), - - local networkPacketsPanel = - nodeTimeseries.new( - 'Packets', - description=||| - packets received: Number of good packets received by the interface. - For hardware interfaces counts all good packets received from the device by the host, including packets which host had to drop at various stages of processing (even in the driver). - - packets transmitted: Number of packets successfully transmitted. - For hardware interfaces counts packets which host was able to successfully hand over to the device, - which does not necessarily mean that packets had been successfully transmitted out of the device, only that device acknowledged it copied them out of host memory. - - https://docs.kernel.org/networking/statistics.html - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_network_receive_packets_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - 'irate(node_network_transmit_packets_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)'), - - local networkErrorsPanel = - nodeTimeseries.new( - 'Network Errors', - description=||| - errors received: Total number of bad packets received on this network device. This counter must include events counted by rx_length_errors, rx_crc_errors, rx_frame_errors and other errors not otherwise counted. - - errors transmitted: Total number of transmit problems. This counter must include events counter by tx_aborted_errors, tx_carrier_errors, tx_fifo_errors, tx_heartbeat_errors, tx_window_errors and other errors not otherwise counted. - - https://docs.kernel.org/networking/statistics.html - ||| - ) - .addTarget(commonPromTarget( - expr=q.networkReceiveErrorsPerSec, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitErrorsPerSec, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)'), - - local networkDropsPanel = - nodeTimeseries.new( - 'Dropped Packets', - description=||| - drops received: Number of packets received but not processed, e.g. due to lack of resources or unsupported protocol. For hardware interfaces this counter may include packets discarded due to L2 address filtering but should not include packets dropped by the device due to buffer exhaustion which are counted separately in rx_missed_errors (since procfs folds those two counters together). - - drops transmitted: Number of packets dropped on their way to transmission, e.g. due to lack of resources. - https://docs.kernel.org/networking/statistics.html - ||| - ) - .addTarget(commonPromTarget( - expr=q.networkReceiveDropsPerSec, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitDropsPerSec, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)'), - local networkCompressedPanel = - nodeTimeseries.new( - 'Compressed Packets', - description=||| - compressed received: - Number of correctly received compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - compressed transmitted: - Number of transmitted compressed packets. This counters is only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP). - - https://docs.kernel.org/networking/statistics.html - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_network_receive_compressed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - 'irate(node_network_transmit_compressed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)'), - - local networkMulticastPanel = - nodeTimeseries.new( - 'Multicast Packets', - description=||| - Multicast packets received and transmitted. - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_network_receive_multicast_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - 'irate(node_network_transmit_multicast_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit'), - - local networkFifoPanel = - nodeTimeseries.new( - 'Network FIFO', - description=||| - Network FIFO (First-In, First-Out) refers to a buffer used by the network stack to store packets in a queue. - It is a mechanism used to manage network traffic and ensure that packets are delivered to their destination in the order they were received. - Packets are stored in the FIFO buffer until they can be transmitted or processed further. - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_network_receive_fifo_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - 'irate(node_network_transmit_fifo_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}} transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)'), - - local networkNFConntrack = - nodeTimeseries.new( - 'NF Conntrack', - description=||| - NF Conntrack is a component of the Linux kernel's netfilter framework that provides stateful packet inspection to track and manage network connections, - enforce firewall rules, perform NAT, and manage network address/port translation. - ||| - ) - .addTarget(commonPromTarget( - 'node_nf_conntrack_entries{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='NF conntrack entries', - )) - .addTarget(commonPromTarget( - 'node_nf_conntrack_entries_limit{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='NF conntrack limits', - )) - .withFillOpacity(0), - - local networkSoftnetPanel = - nodeTimeseries.new( - 'Softnet Packets', - description=||| - Softnet packets are received by the network and queued for processing by the kernel's networking stack. - Softnet packets are usually generated by network traffic that is directed to the local host, and they are typically processed by the kernel's networking subsystem before being passed on to the relevant application. - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_softnet_processed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='CPU {{cpu }} proccessed', - )) - .addTarget(commonPromTarget( - 'irate(node_softnet_dropped_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='CPU {{cpu }} dropped', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('dropped') - .withAxisLabel('Dropped(-) | Processed(+)'), - - local networkSoftnetSqueezePanel = - nodeTimeseries.new( - 'Softnet Out of Quota', - description=||| - "Softnet Out of Quota" is a network-related metric in Linux that measures the number of times the kernel's softirq processing was unable to handle incoming network traffic due to insufficient softirq processing capacity. - This means that the kernel has reached its processing capacity limit for incoming packets, and any additional packets will be dropped or deferred. - ||| - ) - .addTarget(commonPromTarget( - 'irate(node_softnet_times_squeezed_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='CPU {{cpu}} out of quota', - )) - .withDecimals(1) - .withUnits('pps'), - - local networkInterfacesTable = - nodePanels.table.new( - title='Network Interfaces Overview' - ) - // "Value #A" - .addTarget(commonPromTarget( - expr='node_network_up{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "Value #B" - .addTarget(commonPromTarget( - expr='node_network_carrier{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "Value #C" - .addTarget(commonPromTarget( - expr=q.networkTransmitBitsPerSec, - format='table', - instant=true, - )) - // "Value #D" - .addTarget(commonPromTarget( - expr=q.networkReceiveBitsPerSec, - format='table', - instant=true, - )) - // "Value #E" - .addTarget(commonPromTarget( - expr='node_arp_entries{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "Value #F" - .addTarget(commonPromTarget( - expr='node_network_mtu_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "Value #G" - .addTarget(commonPromTarget( - expr='node_network_speed_bytes{%(nodeQuerySelector)s} * 8' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "Value #H" - .addTarget(commonPromTarget( - expr='node_network_transmit_queue_length{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - // "VALUE #I" - .addTarget(commonPromTarget( - expr='node_network_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - format='table', - instant=true, - )) - .withTransform() - .joinByField(field='device') - .filterFieldsByName('device|address|duplex|Value.+') - .organize( - excludeByName={ - 'Value #I': true, - }, - renameByName= - { - device: 'Interface', - address: 'Address', - duplex: 'Duplex', - 'Value #A': 'Up', - 'Value #B': 'Carrier', - 'Value #C': 'Transmit', - 'Value #D': 'Receive', - 'Value #E': 'ARP entries', - 'Value #F': 'MTU', - 'Value #G': 'Speed', - 'Value #H': 'Queue length', - } - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'Speed', - }, - properties=[ - { - id: 'unit', - value: 'bps', - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'Carrier|Up', - }, - properties=[ - { - id: 'custom.displayMode', - value: 'color-text', - }, - { - id: 'mappings', - value: [ - { - type: 'value', - options: { - '0': { - text: 'Down', - color: 'light-red', - index: 1, - }, - '1': { - text: 'Up', - color: 'light-green', - index: 0, - }, - }, - }, - ], - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: 'Transmit|Receive', - }, - properties=[ - { - id: 'unit', - value: 'bps', - }, - { - id: 'custom.displayMode', - value: 'gradient-gauge', - }, - { - id: 'color', - value: { - mode: 'continuous-BlYlRd', - }, - }, - { - id: 'max', - value: 1000 * 1000 * 100, - }, - ] - ) - , - - local networkOperStatus = - nodeTimeseries.new( - title='Network Interfaces Carrier Status', - description='Network Interfaces Carrier Status', - ) - .withColor(mode='palette-classic') - .withFillOpacity(100) - .withLegend(mode='list') - .addTarget(commonPromTarget( - expr='node_network_carrier{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='{{device}}' - )) - + { - maxDataPoints: 100, - type: 'status-history', - fieldConfig+: { - defaults+: { - mappings+: [ - { - type: 'value', - options: { - '1': { - text: 'Up', - color: 'light-green', - index: 1, - }, - }, - }, - { - type: 'value', - options: { - '0': { - text: 'Down', - color: 'light-red', - index: 0, - }, - }, - }, - - ], - }, - }, - }, - // https://github.com/prometheus/node_exporter/pull/2346/files#diff-3699c850869aecf912f8e8272958b556913fc266534206833a5dcb7d6cca3610 - local networkSockstatTCP = - nodeTimeseries.new( - title='Sockets TCP', - description=||| - TCP sockets are used for establishing and managing network connections between two endpoints over the TCP/IP protocol. - - Orphan sockets: If a process terminates unexpectedly or is terminated without closing its sockets properly, the sockets may become orphaned. - ||| - ) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_alloc{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Allocated' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv6 In use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 In use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_orphan{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Orphan sockets' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_tw{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Time wait' - )), - - local networkSockstatUDP = - nodeTimeseries.new( - title='Sockets UDP', - description=||| - UDP (User Datagram Protocol) and UDPlite (UDP-Lite) sockets are used for transmitting and receiving data over the UDP and UDPlite protocols, respectively. - Both UDP and UDPlite are connectionless protocols that do not provide a reliable data delivery mechanism. - ||| - ) - .addTarget(commonPromTarget( - expr='node_sockstat_UDPLITE_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 UDPLITE in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_UDP_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 UDP in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_UDPLITE6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv6 UDPLITE in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_UDP6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv6 UDP in use' - )), - - local networkSockstatOther = - nodeTimeseries.new( - title='Sockets Other', - description=||| - FRAG (IP fragment) sockets: Used to receive and process fragmented IP packets. FRAG sockets are useful in network monitoring and analysis. - - RAW sockets: Allow applications to send and receive raw IP packets directly without the need for a transport protocol like TCP or UDP. - ||| - ) - .addTarget(commonPromTarget( - expr='node_sockstat_FRAG_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 Frag sockets in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_FRAG6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv6 Frag sockets in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_RAW_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 Raw sockets in use' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_RAW6_inuse{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv6 Raw sockets in use' - )), - - - local networkSockstatMemory = - nodeTimeseries.new( - title='Sockets Memory', - description=||| - Memory currently in use for sockets. - ||| - ) - .withMaxDataPoints(100) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_mem{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Memory pages allocated for TCP sockets' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_UDP_mem{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Memory pages allocated for UDP sockets' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_TCP_mem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Memory bytes allocated for TCP sockets' - )) - .addTarget(commonPromTarget( - expr='node_sockstat_UDP_mem_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Memory bytes allocated for UDP sockets' - )) - .addOverride( - matcher={ - id: 'byRegexp', - options: '/bytes/', - }, - properties=[ - { - id: 'unit', - value: 'bytes', - }, - { - id: 'custom.drawStyle', - value: 'lines', - }, - { - id: 'custom.drawStyle', - value: 'bars', - }, - { - id: 'custom.stacking', - value: { - mode: 'normal', - group: 'A', - }, - }, - ] - ), - - local networkSockstatAll = - nodeTimeseries.new( - title='Sockets in use', - description='Number of sockets currently in use.', - ) - .addTarget(commonPromTarget( - expr='node_sockstat_sockets_used{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='IPv4 sockets in use' - )), - - local networkNetstatIP = - nodeTimeseries.new( - title='IP octets', - description='Rate of IP octets received and transmitted.' - ) - .withUnits('oct/s') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_netstat_IpExt_InOctets{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Octets received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_IpExt_OutOctets{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Octets transmitted' - )), - - - local networkNetstatTCP = - nodeTimeseries.new( - title='TCP segments', - description='Rate of TCP segments received and transmitted.' - ) - .withUnits('seg/s') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_netstat_Tcp_InSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Tcp_OutSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP transmitted' - )), - - local networkNetstatTCPerrors = - nodeTimeseries.new( - title='TCP errors rate', - description='Rate of TCP errors.' - ) - .withUnits('err/s') - .addTarget(commonPromTarget( - expr='irate(node_netstat_TcpExt_ListenOverflows{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP overflow' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_TcpExt_ListenDrops{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP ListenDrops - SYNs to LISTEN sockets ignored' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_TcpExt_TCPSynRetrans{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP SYN rentransmits' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Tcp_RetransSegs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP retransmitted segments, containing one or more previously transmitted octets' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Tcp_InErrs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP received with errors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Tcp_OutRsts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='TCP segments sent with RST flag' - )), - - local networkNetstatUDP = - nodeTimeseries.new( - title='UDP datagrams', - description='Rate of UDP datagrams received and transmitted.' - ) - .withUnits('dat/s') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_InDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_OutDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP transmitted' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_InDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_OutDatagrams{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 transmitted' - )), - - local networkNetstatUDPerrors = - nodeTimeseries.new( - title='UDP errors rate', - description='Rate of UDP datagrams received and transmitted with errors.' - ) - .withUnits('err/s') - .addTarget(commonPromTarget( - expr='irate(node_netstat_UdpLite_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDPLite InErrors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP InErrors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 InErrors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_NoPorts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP NoPorts' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_NoPorts{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 NoPorts' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_RcvbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP receive buffer errors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_RcvbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 receive buffer errors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp_SndbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP send buffer errors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Udp6_SndbufErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='UDP6 send buffer errors' - )), - - - local networkNetstatICMP = - nodeTimeseries.new( - title='ICMP messages', - description="Rate of ICMP messages, like 'ping', received and transmitted." - ) - .withUnits('msg/s') - .withNegativeYByRegex('transmit') - .withAxisLabel('out(-) | in(+)') - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp_InMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp_OutMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP transmitted' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp6_InMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP6 received' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp6_OutMsgs{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP6 transmitted' - )), - - local networkNetstatICMPerrors = - nodeTimeseries.new( - title='ICMP errors rate', - description='Rate of ICMP messages received and transmitted with errors.' - ) - .withUnits('err/s') - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP Errors' - )) - .addTarget(commonPromTarget( - expr='irate(node_netstat_Icmp6_InErrors{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='ICMP6 Errors' - )), - - - local rows = - [ - row.new('Network') - .addPanel(networkInterfacesTable { span: 12 }) - .addPanel(networkTrafficPanel { span: 6 }) - .addPanel(networkOperStatus { span: 6 }) - .addPanel(networkErrorsPanel { span: 6 }) - .addPanel(networkDropsPanel { span: 6 }) - .addPanel(networkPacketsPanel { span: 6 }) - .addPanel(networkMulticastPanel { span: 6 }) - .addPanel(networkFifoPanel { span: 6 }) - .addPanel(networkCompressedPanel { span: 6 }) - .addPanel(networkNFConntrack { span: 6 }) - .addPanel(networkSoftnetPanel { span: 6 }) - .addPanel(networkSoftnetSqueezePanel { span: 6 }), - row.new('Network Sockets') - .addPanel(networkSockstatAll { span: 12 }) - .addPanel(networkSockstatTCP { span: 6 }) - .addPanel(networkSockstatUDP { span: 6 }) - .addPanel(networkSockstatMemory { span: 6 }) - .addPanel(networkSockstatOther { span: 6 }), - - row.new('Network Netstat') - .addPanel(networkNetstatIP { span: 12 }) - .addPanel(networkNetstatTCP { span: 6 }) - .addPanel(networkNetstatTCPerrors { span: 6 }) - .addPanel(networkNetstatUDP { span: 6 }) - .addPanel(networkNetstatUDPerrors { span: 6 }) - .addPanel(networkNetstatICMP { span: 6 }) - .addPanel(networkNetstatICMPerrors { span: 6 }), - ], - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode Network' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-network.json'] - ) - .addLink(c.links.fleetDash) - .addLink(c.links.nodeDash) - .addLink(c.links.otherDashes) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addRows(rows) - else if platform == 'Darwin' then {}, - }, -} diff --git a/docs/node-mixin/dashboards/node.libsonnet b/docs/node-mixin/dashboards/node.libsonnet deleted file mode 100644 index a00eb1b9f7..0000000000 --- a/docs/node-mixin/dashboards/node.libsonnet +++ /dev/null @@ -1,19 +0,0 @@ -{ - local nodemixin = import './prom-mixin.libsonnet', - local cpu = import './cpu.libsonnet', - local system = import './system.libsonnet', - local memory = import './memory.libsonnet', - local disk = import './disk.libsonnet', - local network = import './network.libsonnet', - local fleet = import './fleet.libsonnet', - - grafanaDashboards+:: { - 'nodes.json': nodemixin.new(config=$._config, platform='Linux').dashboard, - 'nodes-darwin.json': nodemixin.new(config=$._config, platform='Darwin').dashboard, - 'nodes-system.json': system.new(config=$._config, platform='Linux').dashboard, - 'nodes-memory.json': memory.new(config=$._config, platform='Linux').dashboard, - 'nodes-network.json': network.new(config=$._config, platform='Linux').dashboard, - 'nodes-disk.json': disk.new(config=$._config, platform='Linux').dashboard, - 'nodes-fleet.json': fleet.new(config=$._config, platform='Linux').dashboard, - }, -} diff --git a/docs/node-mixin/dashboards/prom-mixin.libsonnet b/docs/node-mixin/dashboards/prom-mixin.libsonnet deleted file mode 100644 index a562844073..0000000000 --- a/docs/node-mixin/dashboards/prom-mixin.libsonnet +++ /dev/null @@ -1,180 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local statPanel = grafana.statPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; -local nodeTemplates = common.templates; - -{ - - new(config=null, platform=null):: { - - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - local templates = c.templates, - local q = c.queries, - - local uptimePanel = - commonPanels.uptimeStat.new() - .addTarget(commonPromTarget(expr=q.uptime)), - - local cpuCountPanel = - commonPanels.infoStat.new('CPU Count') - .addTarget(commonPromTarget(expr=q.cpuCount)), - - local memoryTotalPanel = - commonPanels.infoStat.new('Memory Total') - .addTarget(commonPromTarget(expr=q.memoryTotal)) - .withUnits('bytes') - .withDecimals(0), - - local osPanel = - commonPanels.infoStat.new('OS') - .addTarget(commonPromTarget( - expr=q.osInfo, format='table' - )) { options+: { reduceOptions+: { fields: '/^pretty_name$/' } } }, - - local nodeNamePanel = - commonPanels.infoStat.new('Hostname') - .addTarget(commonPromTarget( - expr=q.nodeInfo, format='table' - )) - { options+: { reduceOptions+: { fields: '/^nodename$/' } } }, - - local kernelVersionPanel = - - commonPanels.infoStat.new('Kernel version') - .addTarget(commonPromTarget( - expr=q.nodeInfo, format='table' - )) - { options+: { reduceOptions+: { fields: '/^release$/' } } } - , - - local totalSwapPanel = - commonPanels.infoStat.new('Total swap') - .addTarget(commonPromTarget( - expr=q.memorySwapTotal - )) - .withUnits('bytes') - .withDecimals(0), - - local totalRootFSPanel = - commonPanels.infoStat.new('Root mount size') - .addTarget(commonPromTarget( - expr=q.fsSizeTotalRoot, - )) - .withUnits('bytes') - .withDecimals(0), - - local networkTrafficPanel = - commonPanels.networkTrafficGraph.new( - 'Network Traffic', description='Network transmitted and received (bits/s)', - ) - .addTarget(commonPromTarget( - expr=q.networkReceiveBitsPerSec, - legendFormat='{{device}} received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitBitsPerSec, - legendFormat='{{device}} transmitted', - )), - - local networkErrorsDropsPanel = - nodePanels.timeseries.new( - 'Network Errors and Dropped Packets', - description=||| - errors received: Total number of bad packets received on this network device. This counter must include events counted by rx_length_errors, rx_crc_errors, rx_frame_errors and other errors not otherwise counted. - - errors transmitted: Total number of transmit problems. This counter must include events counter by tx_aborted_errors, tx_carrier_errors, tx_fifo_errors, tx_heartbeat_errors, tx_window_errors and other errors not otherwise counted. - - drops received: Number of packets received but not processed, e.g. due to lack of resources or unsupported protocol. For hardware interfaces this counter may include packets discarded due to L2 address filtering but should not include packets dropped by the device due to buffer exhaustion which are counted separately in rx_missed_errors (since procfs folds those two counters together). - - drops transmitted: Number of packets dropped on their way to transmission, e.g. due to lack of resources. - - https://docs.kernel.org/networking/statistics.html - ||| - ) - .addTarget(commonPromTarget( - expr=q.networkReceiveErrorsPerSec, - legendFormat='{{device}} errors received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitErrorsPerSec, - legendFormat='{{device}} errors transmitted', - )) - .addTarget(commonPromTarget( - expr=q.networkReceiveDropsPerSec, - legendFormat='{{device}} drops received', - )) - .addTarget(commonPromTarget( - expr=q.networkTransmitDropsPerSec, - legendFormat='{{device}} drops transmitted', - )) - .withDecimals(1) - .withUnits('pps') - .withNegativeYByRegex('trasnmitted') - .withAxisLabel('out(-) | in(+)'), - - - local panelsGrid = - [ - // use negative gravity effect, max w=24, default h=8 - { type: 'row', title: 'Overview' }, - uptimePanel { gridPos: { x: 0, w: 6, h: 2 } }, - nodeNamePanel { gridPos: { x: 6, w: 6, h: 2 } }, - kernelVersionPanel { gridPos: { x: 12, w: 6, h: 2 } }, - osPanel { gridPos: { x: 18, w: 6, h: 2 } }, - cpuCountPanel { gridPos: { x: 0, w: 6, h: 2 } }, - memoryTotalPanel { gridPos: { x: 6, w: 6, h: 2 } }, - totalSwapPanel { gridPos: { x: 12, w: 6, h: 2 } }, - totalRootFSPanel { gridPos: { x: 18, w: 6, h: 2 } }, - { type: 'row', title: 'CPU' } { gridPos: { y: 25 } }, - c.panelsWithTargets.cpuStatPanel { gridPos: { x: 0, w: 6, h: 6, y: 25 } }, - c.panelsWithTargets.idleCPU { gridPos: { x: 6, w: 12, h: 6, y: 25 } }, - c.panelsWithTargets.systemLoad { gridPos: { x: 18, w: 6, h: 6, y: 25 } }, - { type: 'row', title: 'Memory' } { gridPos: { y: 50 } }, - c.panelsWithTargets.memoryGauge { gridPos: { x: 0, w: 6, h: 6, y: 50 } }, - c.panelsWithTargets.memoryGraph { gridPos: { x: 6, w: 18, h: 6, y: 50 } }, - { type: 'row', title: 'Disk' } { gridPos: { y: 75 } }, - c.panelsWithTargets.diskIO { gridPos: { x: 0, w: 12, h: 8, y: 75 } }, - c.panelsWithTargets.diskSpaceUsage { gridPos: { x: 12, w: 12, h: 8, y: 75 } }, - { type: 'row', title: 'Network' } { gridPos: { y: 100 } }, - networkTrafficPanel { gridPos: { x: 0, w: 12, h: 8, y: 100 } }, - networkErrorsDropsPanel { gridPos: { x: 12, w: 12, h: 8, y: 100 } }, - ], - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode Overview' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes.json'], - ) - .addLink(c.links.fleetDash) - .addLink(c.links.otherDashes) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addPanels(panelsGrid) - else if platform == 'Darwin' then - dashboard.new( - '%sMacOS' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-darwin.json'], - ) - .addTemplates(templates) - .addPanels(panelsGrid), - - }, -} diff --git a/docs/node-mixin/dashboards/system.libsonnet b/docs/node-mixin/dashboards/system.libsonnet deleted file mode 100644 index e1bd58d759..0000000000 --- a/docs/node-mixin/dashboards/system.libsonnet +++ /dev/null @@ -1,150 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -local common = import '../lib/common.libsonnet'; - -{ - - new(config=null, platform=null):: { - local c = common.new(config=config, platform=platform), - local commonPromTarget = c.commonPromTarget, - local templates = c.templates, - local q = c.queries, - - local cpuUsageModes = - nodeTimeseries.new( - 'CPU Usage', - description=||| - System: Processes executing in kernel mode. - User: Normal processes executing in user mode. - Nice: Niced processes executing in user mode. - Idle: Waiting for something to happen. - Iowait: Waiting for I/O to complete. - Irq: Servicing interrupts. - Softirq: Servicing softirqs. - Steal: Time spent in other operating systems when running in a virtualized environment. - ||| - ) - .withStacking('normal') - .withUnits('percent') - .withFillOpacity(100) - .withMax(100) - .withMin(0) - .addTarget(commonPromTarget( - expr=q.cpuUsageModes, - legendFormat='{{mode}}', - )), - local timeZoneOffset = - commonPanels.infoStat.new( - 'Timezone', - description='Timezone set on instance.' - ) - .addTarget(commonPromTarget( - expr=q.node_time_zone_offset_seconds, format='table' - )) - { options+: { reduceOptions+: { fields: '/^time_zone$/' } } }, - local timeSyncDrift = - nodeTimeseries.new( - 'Time Synchronized Drift', - description=||| - Time synchronization is essential to ensure accurate timekeeping, which is critical for many system operations such as logging, authentication, and network communication, as well as distributed systems or clusters where data consistency is important. - ||| - ) - .withUnits('s') - .addTarget(commonPromTarget( - expr=q.node_timex_estimated_error_seconds, - legendFormat='Estimated error in seconds', - )) - .addTarget(commonPromTarget( - expr=q.node_timex_offset_seconds, - legendFormat='Time offset in between local system and reference clock', - )) - .addTarget(commonPromTarget( - expr=q.node_timex_maxerror_seconds, - legendFormat='Maximum error in seconds' - )), - - local timeSynchronizedStatus = - nodeTimeseries.new( - 'Time Synchronized Status', - description='Status of time synchronization.' - ) - .withColor(mode='palette-classic') - .withFillOpacity(75) - .withLegend(show=false) - { - maxDataPoints: 100, - type: 'status-history', - fieldConfig+: { - defaults+: { - mappings+: [ - { - type: 'value', - options: { - '1': { - text: 'In sync', - color: 'light-green', - index: 1, - }, - }, - }, - { - type: 'value', - options: { - '0': { - text: 'Not in sync', - color: 'light-yellow', - index: 0, - }, - }, - }, - - ], - }, - }, - } - .addTarget(commonPromTarget( - expr=q.node_timex_sync_status, - legendFormat='Sync status', - )), - - local panelsGrid = - [ - //use negative gravity(skip y), max w=24, default h should be '6'. - c.panelsWithTargets.cpuStatPanel { gridPos: { x: 0, w: 6, h: 6 } }, - c.panelsWithTargets.idleCPU { gridPos: { x: 6, h: 6, w: 9 } }, - cpuUsageModes { gridPos: { x: 15, h: 6, w: 9 } }, - //pseudorow y:25 - c.panelsWithTargets.systemLoad { gridPos: { x: 0, h: 6, w: 12, y: 25 } }, - c.panelsWithTargets.systemContextSwitches { gridPos: { x: 12, h: 6, w: 12, y: 25 } }, - { type: 'row', title: 'Time', gridPos: { x: 0, w: 24, y: 75 } }, - timeZoneOffset { gridPos: { x: 0, h: 3, w: 3, y: 75 } }, - timeSynchronizedStatus { gridPos: { x: 3, h: 3, w: 21, y: 75 } }, - timeSyncDrift { gridPos: { x: 0, h: 6, w: 24, y: 80 } }, - ], - - dashboard: if platform == 'Linux' then - dashboard.new( - '%sNode CPU and System' % config { nodeQuerySelector: c.nodeQuerySelector }.dashboardNamePrefix, - time_from=config.dashboardInterval, - tags=(config.dashboardTags), - timezone=config.dashboardTimezone, - refresh=config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=config.grafanaDashboardIDs['nodes-system.json'], - ) - .addLink(c.links.fleetDash) - .addLink(c.links.nodeDash) - .addLink(c.links.otherDashes) - .addAnnotations(c.annotations) - .addTemplates(templates) - .addPanels(panelsGrid) - else if platform == 'Darwin' then {}, - }, -} diff --git a/docs/node-mixin/dashboards/use.libsonnet b/docs/node-mixin/dashboards/use.libsonnet deleted file mode 100644 index 9de0c4103a..0000000000 --- a/docs/node-mixin/dashboards/use.libsonnet +++ /dev/null @@ -1,476 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local graphPanel = grafana.graphPanel; - -local datasourceTemplate = { - current: { - text: 'default', - value: 'default', - }, - hide: 0, - label: 'Data Source', - name: 'datasource', - options: [], - query: 'prometheus', - refresh: 1, - regex: '', - type: 'datasource', -}; - -local CPUUtilisation = - graphPanel.new( - 'CPU Utilisation', - description='Total CPU utilisation percent.', - datasource='$datasource', - span=6, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local CPUSaturation = - // TODO: Is this a useful panel? At least there should be some explanation how load - // average relates to the "CPU saturation" in the title. - graphPanel.new( - 'CPU Saturation (Load1 per CPU)', - description='System load average over the last minute. A measurement of how many processes are waiting for CPU cycles. The value is as a percent compared to the number of CPU cores for the node.', - datasource='$datasource', - span=6, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local memoryUtilisation = - graphPanel.new( - 'Memory Utilisation', - description='Total memory utilisation in percent.', - datasource='$datasource', - span=6, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local memorySaturation = - graphPanel.new( - 'Memory Saturation (Major Page Faults)', - description='Rate of major memory page faults.', - datasource='$datasource', - span=6, - format='rds', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local networkUtilisation = - graphPanel.new( - 'Network Utilisation (Bytes Receive/Transmit)', - description='Network Utilisation (Bytes Receive/Transmit)', - datasource='$datasource', - span=6, - format='Bps', - stack=true, - fill=10, - legend_show=false, - ) - .addSeriesOverride({ alias: '/Receive/', stack: 'A' }) - .addSeriesOverride({ alias: '/Transmit/', stack: 'B', transform: 'negative-Y' }) - { tooltip+: { sort: 2 } }; - -local networkSaturation = - graphPanel.new( - 'Network Saturation (Drops Receive/Transmit)', - description='Network Saturation (Drops Receive/Transmit)', - datasource='$datasource', - span=6, - format='Bps', - stack=true, - fill=10, - legend_show=false, - ) - .addSeriesOverride({ alias: '/ Receive/', stack: 'A' }) - .addSeriesOverride({ alias: '/ Transmit/', stack: 'B', transform: 'negative-Y' }) - { tooltip+: { sort: 2 } }; - -local diskIOUtilisation = - graphPanel.new( - 'Disk IO Utilisation', - description='Disk total IO seconds.', - datasource='$datasource', - span=6, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local diskIOSaturation = - graphPanel.new( - 'Disk IO Saturation', - description='Disk saturation (weighted seconds spent, 1 second rate)', - datasource='$datasource', - span=6, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -local diskSpaceUtilisation = - graphPanel.new( - 'Disk Space Utilisation', - description='Total disk utilisation percent', - datasource='$datasource', - span=12, - format='percentunit', - stack=true, - fill=10, - legend_show=false, - ) { tooltip+: { sort: 2 } }; - -{ - _clusterTemplate:: template.new( - name='cluster', - datasource='$datasource', - query='label_values(node_time_seconds, %s)' % $._config.clusterLabel, - current='', - hide=if $._config.showMultiCluster then '' else '2', - refresh=2, - includeAll=false, - sort=1 - ), - - grafanaDashboards+:: { - 'node-rsrc-use.json': - - dashboard.new( - '%sUSE Method / Node' % $._config.dashboardNamePrefix, - time_from=$._config.dashboardInterval, - tags=($._config.dashboardTags), - timezone=$._config.dashboardTimezone, - refresh=$._config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=$._config.grafanaDashboardIDs['node-rsrc-use.json'], - ) - .addTemplate(datasourceTemplate) - .addTemplate($._clusterTemplate) - .addTemplate( - template.new( - 'instance', - '$datasource', - 'label_values(node_exporter_build_info{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"}, instance)' % $._config, - refresh='time', - sort=1 - ) - ) - .addRow( - row.new('CPU') - .addPanel(CPUUtilisation.addTarget(prometheus.target('instance:node_cpu_utilisation:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Utilisation'))) - .addPanel(CPUSaturation.addTarget(prometheus.target('instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Saturation'))) - ) - .addRow( - row.new('Memory') - .addPanel(memoryUtilisation.addTarget(prometheus.target('instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Utilisation'))) - .addPanel(memorySaturation.addTarget(prometheus.target('instance:node_vmstat_pgmajfault:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Major page Faults'))) - ) - .addRow( - row.new('Network') - .addPanel( - networkUtilisation - .addTarget(prometheus.target('instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Receive')) - .addTarget(prometheus.target('instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Transmit')) - ) - .addPanel( - networkSaturation - .addTarget(prometheus.target('instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Receive')) - .addTarget(prometheus.target('instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='Transmit')) - ) - ) - .addRow( - row.new('Disk IO') - .addPanel(diskIOUtilisation.addTarget(prometheus.target('instance_device:node_disk_io_time_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{device}}'))) - .addPanel(diskIOSaturation.addTarget(prometheus.target('instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, instance="$instance", %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{device}}'))) - ) - .addRow( - row.new('Disk Space') - .addPanel( - diskSpaceUtilisation.addTarget(prometheus.target( - ||| - sort_desc(1 - - ( - max without (mountpoint, fstype) (node_filesystem_avail_bytes{%(nodeExporterSelector)s, fstype!="", instance="$instance", %(clusterLabel)s="$cluster"}) - / - max without (mountpoint, fstype) (node_filesystem_size_bytes{%(nodeExporterSelector)s, fstype!="", instance="$instance", %(clusterLabel)s="$cluster"}) - ) != 0 - ) - ||| % $._config, legendFormat='{{device}}' - )) - ) - ), - - 'node-cluster-rsrc-use.json': - dashboard.new( - '%sUSE Method / Cluster' % $._config.dashboardNamePrefix, - time_from=$._config.dashboardInterval, - tags=($._config.dashboardTags), - timezone=$._config.dashboardTimezone, - refresh=$._config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=$._config.grafanaDashboardIDs['node-cluster-rsrc-use.json'], - ) - .addTemplate(datasourceTemplate) - .addTemplate($._clusterTemplate) - .addRow( - row.new('CPU') - .addPanel( - CPUUtilisation - .addTarget(prometheus.target( - ||| - (( - instance:node_cpu_utilisation:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - * - instance:node_num_cpu:sum{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - ) != 0 ) - / scalar(sum(instance:node_num_cpu:sum{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"})) - ||| % $._config, legendFormat='{{ instance }}' - )) - ) - .addPanel( - CPUSaturation - .addTarget(prometheus.target( - ||| - ( - instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - / scalar(count(instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"})) - ) != 0 - ||| % $._config, legendFormat='{{instance}}' - )) - ) - ) - .addRow( - row.new('Memory') - .addPanel( - memoryUtilisation - .addTarget(prometheus.target( - ||| - ( - instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - / scalar(count(instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"})) - ) != 0 - ||| % $._config, legendFormat='{{instance}}', - )) - ) - .addPanel(memorySaturation.addTarget(prometheus.target('instance:node_vmstat_pgmajfault:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"}' % $._config, legendFormat='{{instance}}'))) - ) - .addRow( - row.new('Network') - .addPanel( - networkUtilisation - .addTarget(prometheus.target('instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{instance}} Receive')) - .addTarget(prometheus.target('instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{instance}} Transmit')) - ) - .addPanel( - networkSaturation - .addTarget(prometheus.target('instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{instance}} Receive')) - .addTarget(prometheus.target('instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} != 0' % $._config, legendFormat='{{instance}} Transmit')) - ) - ) - .addRow( - row.new('Disk IO') - .addPanel( - diskIOUtilisation - .addTarget(prometheus.target( - ||| - ( - instance_device:node_disk_io_time_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - / scalar(count(instance_device:node_disk_io_time_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"})) - ) != 0 - ||| % $._config, legendFormat='{{instance}} {{device}}' - )) - ) - .addPanel( - diskIOSaturation - .addTarget(prometheus.target( - ||| - ( - instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"} - / scalar(count(instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s, %(clusterLabel)s="$cluster"})) - ) != 0 - ||| % $._config, legendFormat='{{instance}} {{device}}' - )) - ) - ) - .addRow( - row.new('Disk Space') - .addPanel( - diskSpaceUtilisation - .addTarget(prometheus.target( - ||| - sum without (device) ( - max without (fstype, mountpoint) (( - node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s, %(clusterLabel)s="$cluster"} - - - node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s, %(clusterLabel)s="$cluster"} - ) != 0) - ) - / scalar(sum(max without (fstype, mountpoint) (node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s, %(clusterLabel)s="$cluster"}))) - ||| % $._config, legendFormat='{{instance}}' - )) - ) - ), - } + - if $._config.showMultiCluster then { - 'node-multicluster-rsrc-use.json': - dashboard.new( - '%sUSE Method / Multi-cluster' % $._config.dashboardNamePrefix, - time_from=$._config.dashboardInterval, - tags=($._config.dashboardTags), - timezone=$._config.dashboardTimezone, - refresh=$._config.dashboardRefresh, - graphTooltip='shared_crosshair', - uid=$._config.grafanaDashboardIDs['node-multicluster-rsrc-use.json'], - ) - .addTemplate(datasourceTemplate) - .addRow( - row.new('CPU') - .addPanel( - CPUUtilisation - .addTarget(prometheus.target( - ||| - sum( - (( - instance:node_cpu_utilisation:rate%(rateInterval)s{%(nodeExporterSelector)s} - * - instance:node_num_cpu:sum{%(nodeExporterSelector)s} - ) != 0) - / scalar(sum(instance:node_num_cpu:sum{%(nodeExporterSelector)s})) - ) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}}' % $._config - )) - ) - .addPanel( - CPUSaturation - .addTarget(prometheus.target( - ||| - sum(( - instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s} - / scalar(count(instance:node_load1_per_cpu:ratio{%(nodeExporterSelector)s})) - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}}' % $._config - )) - ) - ) - .addRow( - row.new('Memory') - .addPanel( - memoryUtilisation - .addTarget(prometheus.target( - ||| - sum(( - instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s} - / scalar(count(instance:node_memory_utilisation:ratio{%(nodeExporterSelector)s})) - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}}' % $._config - )) - ) - .addPanel( - memorySaturation - .addTarget(prometheus.target( - ||| - sum(( - instance:node_vmstat_pgmajfault:rate%(rateInterval)s{%(nodeExporterSelector)s} - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}}' % $._config - )) - ) - ) - .addRow( - row.new('Network') - .addPanel( - networkUtilisation - .addTarget(prometheus.target( - ||| - sum(( - instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s} - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} Receive' % $._config - )) - .addTarget(prometheus.target( - ||| - sum(( - instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s} - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} Transmit' % $._config - )) - ) - .addPanel( - networkSaturation - .addTarget(prometheus.target( - ||| - sum(( - instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s} - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} Receive' % $._config - )) - .addTarget(prometheus.target( - ||| - sum(( - instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s{%(nodeExporterSelector)s} - ) != 0) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} Transmit' % $._config - )) - ) - ) - .addRow( - row.new('Disk IO') - .addPanel( - diskIOUtilisation - .addTarget(prometheus.target( - ||| - sum(( - instance_device:node_disk_io_time_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s} - / scalar(count(instance_device:node_disk_io_time_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s})) - ) != 0) by (%(clusterLabel)s, device) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} {{device}}' % $._config - )) - ) - .addPanel( - diskIOSaturation - .addTarget(prometheus.target( - ||| - sum(( - instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s} - / scalar(count(instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s{%(nodeExporterSelector)s})) - ) != 0) by (%(clusterLabel)s, device) - ||| % $._config, legendFormat='{{%(clusterLabel)s}} {{device}}' % $._config - )) - ) - ) - .addRow( - row.new('Disk Space') - .addPanel( - diskSpaceUtilisation - .addTarget(prometheus.target( - ||| - sum ( - sum without (device) ( - max without (fstype, mountpoint, instance, pod) (( - node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s} - node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s} - ) != 0) - ) - / scalar(sum(max without (fstype, mountpoint) (node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}))) - ) by (%(clusterLabel)s) - ||| % $._config, legendFormat='{{%(clusterLabel)s}}' % $._config - )) - ) - ), - } else {}, -} diff --git a/docs/node-mixin/jsonnetfile.json b/docs/node-mixin/jsonnetfile.json index 721d4833a0..7459652bfa 100644 --- a/docs/node-mixin/jsonnetfile.json +++ b/docs/node-mixin/jsonnetfile.json @@ -4,8 +4,17 @@ { "source": { "git": { - "remote": "https://github.com/grafana/grafonnet-lib.git", - "subdir": "grafonnet" + "remote": "https://github.com/grafana/grafonnet.git", + "subdir": "gen/grafonnet-v11.0.0" + } + }, + "version": "main" + }, + { + "source": { + "git": { + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "common-lib" } }, "version": "master" @@ -13,12 +22,12 @@ { "source": { "git": { - "remote": "https://github.com/grafana/grafonnet-lib.git", - "subdir": "grafonnet-7.0" + "remote": "https://github.com/grafana/jsonnet-libs.git", + "subdir": "logs-lib" } }, "version": "master" } ], - "legacyImports": false -} + "legacyImports": true +} \ No newline at end of file diff --git a/docs/node-mixin/lib/common.libsonnet b/docs/node-mixin/lib/common.libsonnet deleted file mode 100644 index f9ff9f9b22..0000000000 --- a/docs/node-mixin/lib/common.libsonnet +++ /dev/null @@ -1,707 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local dashboard = grafana.dashboard; -local row = grafana.row; -local prometheus = grafana.prometheus; -local template = grafana.template; -local nodePanels = import '../lib/panels/panels.libsonnet'; -local commonPanels = import '../lib/panels/common/panels.libsonnet'; -local nodeTimeseries = nodePanels.timeseries; -{ - - new(config=null, platform=null):: { - - local c = self, - - local labelsToRegexSelector(labels) = - std.join(',', ['%s=~"$%s"' % [label, label] for label in labels]), - local labelsToLegend(labels) = - std.join('/', ['{{%s}}' % [label] for label in labels]), - - local labelsToURLvars(labels, prefix) = - std.join('&', ['var-%s=${%s%s}' % [label, prefix, label] for label in labels]), - // export - labelsToLegend:: labelsToLegend, - labelsToURLvars:: labelsToURLvars, - // add to all queries but not templates - local nodeQuerySelector = labelsToRegexSelector(std.split(config.groupLabels + ',' + config.instanceLabels, ',')), - nodeQuerySelector:: nodeQuerySelector, - - // common templates - local prometheusDatasourceTemplate = { - current: { - text: 'default', - value: 'default', - }, - hide: 0, - label: 'Data Source', - name: 'datasource', - options: [], - query: 'prometheus', - refresh: 1, - regex: '', - type: 'datasource', - }, - - local chainLabelsfold(prev, label) = { - chain: - if std.length(prev) > 0 - then - [[label] + prev.chain[0]] + prev.chain - else - [[label]], - }, - - local chainLabels(labels) = - [ - { - label: l[0:1][0], - chainSelector: labelsToRegexSelector(std.reverse(l[1:])), - } - for l in std.reverse(std.foldl(chainLabelsfold, labels, init={}).chain) - ], - - local groupTemplates = - [ - template.new( - name=label.label, - label=label.label, - datasource='$datasource', - query='', - current='', - refresh=2, - includeAll=true, - // do not use .*, will get series without such label at all when ALL is selected, ignoring nodeExporterSelector results - allValues=null, - multi=true, - sort=1 - ) - { - query: if platform == 'Darwin' then 'label_values(node_uname_info{sysname="Darwin", %(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: label.chainSelector } - else 'label_values(node_uname_info{sysname!="Darwin", %(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: label.chainSelector }, - } - for label in chainLabels(std.split(config.groupLabels, ',')) - ], - - local instanceTemplates = - [ - template.new( - label.label, - '$datasource', - 'label_values(node_uname_info{%(nodeExporterSelector)s, %(chainSelector)s}, %(label)s)' % config { label: label.label, chainSelector: labelsToRegexSelector(std.split(config.groupLabels, ',')) + ',' + label.chainSelector }, - sort=1, - refresh='time', - label=label.label, - ) - for label in chainLabels(std.split(config.instanceLabels, ',')) - ], - - // return common templates - templates: [prometheusDatasourceTemplate] + groupTemplates + instanceTemplates, - // return templates where instance select is not required - groupDashboardTemplates: [prometheusDatasourceTemplate] + groupTemplates, - - local rebootAnnotation = { - datasource: { - type: 'prometheus', - uid: '$datasource', - }, - enable: true, - hide: true, - expr: 'node_boot_time_seconds{%(nodeQuerySelector)s}*1000 > $__from < $__to' % config { nodeQuerySelector: nodeQuerySelector }, - name: 'Reboot', - iconColor: 'light-orange', - tagKeys: config.instanceLabels, - textFormat: '', - titleFormat: 'Reboot', - useValueForTime: 'on', - }, - local memoryOOMkillerAnnotation = { - datasource: { - type: 'prometheus', - uid: '$datasource', - }, - enable: true, - hide: true, - expr: 'increase(node_vmstat_oom_kill{%(nodeQuerySelector)s}[$__interval:] offset -$__interval)' % config { nodeQuerySelector: nodeQuerySelector }, - name: 'OOMkill', - iconColor: 'light-purple', - tagKeys: config.instanceLabels, - textFormat: '', - titleFormat: 'OOMkill', - }, - local newKernelAnnotation = { - datasource: { - type: 'prometheus', - uid: '$datasource', - }, - enable: true, - hide: true, - expr: ||| - changes( - sum by (%(instanceLabels)s) ( - group by (%(instanceLabels)s,release) (node_uname_info{%(nodeQuerySelector)s}) - ) - [$__interval:1m] offset -$__interval) > 1 - ||| % config { nodeQuerySelector: nodeQuerySelector }, - name: 'Kernel update', - iconColor: 'light-blue', - tagKeys: config.instanceLabels, - textFormat: '', - titleFormat: 'Kernel update', - step: '5m', // must be larger than possible scrape periods - }, - // return common annotations - annotations: [rebootAnnotation, memoryOOMkillerAnnotation, newKernelAnnotation], - - // return common prometheus target (with project defaults) - commonPromTarget( - expr=null, - intervalFactor=1, - datasource='$datasource', - legendFormat=null, - format='timeseries', - instant=null, - hide=null, - interval=null, - ):: - prometheus.target( - expr=expr, - intervalFactor=intervalFactor, - datasource=datasource, - legendFormat=legendFormat, - format=format, - instant=instant, - hide=hide, - interval=interval - ), - // link to fleet panel - links:: { - fleetDash:: grafana.link.dashboards( - asDropdown=false, - title='Back to Node Fleet Overview', - tags=[], - includeVars=false, - keepTime=true, - url='d/' + config.grafanaDashboardIDs['nodes-fleet.json'] - ) { type: 'link', icon: 'dashboard' }, - nodeDash:: grafana.link.dashboards( - asDropdown=false, - title='Back to Node Overview', - tags=[], - includeVars=true, - keepTime=true, - url='d/' + config.grafanaDashboardIDs['nodes.json'] - ) { type: 'link', icon: 'dashboard' }, - otherDashes:: grafana.link.dashboards( - asDropdown=true, - title='Other Node Dashboards', - includeVars=true, - keepTime=true, - tags=(config.dashboardTags), - ), - // used in fleet table - instanceDataLinkForTable:: { - title: 'Drill down to instance ${__data.fields.%s}' % std.split(config.instanceLabels, ',')[0], - url: 'd/' + config.grafanaDashboardIDs['nodes.json'] + '?' + labelsToURLvars(std.split(config.instanceLabels, ','), prefix='__data.fields.') + '&${__url_time_range}&var-datasource=${datasource}', - }, - // used in ts panels - instanceDataLink:: { - title: 'Drill down to instance ${__field.labels.%s}' % std.split(config.instanceLabels, ',')[0], - url: 'd/' + config.grafanaDashboardIDs['nodes.json'] + '?' + labelsToURLvars(std.split(config.instanceLabels, ','), prefix='__field.labels.') + '&${__url_time_range}&var-datasource=${datasource}', - }, - }, - // return common queries that could be used in multiple dashboards - queries:: { - systemLoad1:: 'avg by (%(instanceLabels)s) (node_load1{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, - systemLoad5:: 'avg by (%(instanceLabels)s) (node_load5{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, - systemLoad15:: 'avg by (%(instanceLabels)s) (node_load15{%(nodeQuerySelector)s})' % config { nodeQuerySelector: nodeQuerySelector }, - uptime:: 'time() - node_boot_time_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - cpuCount:: 'count by (%(instanceLabels)s) (node_cpu_seconds_total{%(nodeQuerySelector)s, mode="idle"})' % config { nodeQuerySelector: nodeQuerySelector }, - cpuUsage:: - ||| - (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(nodeQuerySelector)s}) by (cpu, %(instanceLabels)s))) - - - avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(nodeQuerySelector)s}[$__rate_interval])))) * 100) - / - count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(nodeQuerySelector)s}) by (cpu, %(instanceLabels)s)) - ||| % config { nodeQuerySelector: nodeQuerySelector }, - cpuUsageModes:: - ||| - sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(nodeQuerySelector)s}[$__rate_interval])) - / on(%(instanceLabels)s) - group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(nodeQuerySelector)s}[$__rate_interval]))) * 100 - ||| % config { nodeQuerySelector: nodeQuerySelector }, - cpuUsagePerCore:: - ||| - ( - (1 - sum without (mode) (rate(node_cpu_seconds_total{%(nodeQuerySelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) - / ignoring(cpu) group_left - count without (cpu, mode) (node_cpu_seconds_total{%(nodeQuerySelector)s, mode="idle"}) - ) * 100 - ||| % config { nodeQuerySelector: nodeQuerySelector }, - memoryTotal:: 'node_memory_MemTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - memorySwapTotal:: 'node_memory_SwapTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - memoryUsage:: - ||| - 100 - - ( - avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(nodeQuerySelector)s}) / - avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(nodeQuerySelector)s}) - * 100 - ) - ||| % config { nodeQuerySelector: nodeQuerySelector }, - - process_max_fds:: 'process_max_fds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - process_open_fds:: 'process_open_fds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - - fsSizeTotalRoot:: 'node_filesystem_size_bytes{%(nodeQuerySelector)s, mountpoint="/",fstype!="rootfs"}' % config { nodeQuerySelector: nodeQuerySelector }, - osInfo:: 'node_os_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - nodeInfo:: 'node_uname_info{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_disk_reads_completed_total:: 'irate(node_disk_reads_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - node_disk_writes_completed_total:: 'irate(node_disk_writes_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - diskReadTime:: 'rate(node_disk_read_bytes_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - diskWriteTime:: 'rate(node_disk_written_bytes_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - diskIoTime:: 'rate(node_disk_io_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - diskWaitReadTime:: - ||| - irate(node_disk_read_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_reads_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % config { nodeQuerySelector: nodeQuerySelector }, - diskWaitWriteTime:: - ||| - irate(node_disk_write_time_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_writes_completed_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % config { nodeQuerySelector: nodeQuerySelector }, - diskAvgQueueSize:: 'irate(node_disk_io_time_weighted_seconds_total{%(nodeQuerySelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - diskSpaceUsage:: - ||| - sort_desc(1 - - ( - max by (job, %(instanceLabels)s, fstype, device, mountpoint) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) - / - max by (job, %(instanceLabels)s, fstype, device, mountpoint) (node_filesystem_size_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) - ) != 0 - ) - ||| % config { nodeQuerySelector: nodeQuerySelector }, - node_filesystem_avail_bytes:: 'node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_filesystem_files_free:: 'node_filesystem_files_free{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_filesystem_files:: 'node_filesystem_files{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_filesystem_readonly:: 'node_filesystem_readonly{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_filesystem_device_error:: 'node_filesystem_device_error{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - networkReceiveBitsPerSec:: 'irate(node_network_receive_bytes_total{%(nodeQuerySelector)s}[$__rate_interval])*8' % config { nodeQuerySelector: nodeQuerySelector }, - networkTransmitBitsPerSec:: 'irate(node_network_transmit_bytes_total{%(nodeQuerySelector)s}[$__rate_interval])*8' % config { nodeQuerySelector: nodeQuerySelector }, - networkReceiveErrorsPerSec:: 'irate(node_network_receive_errs_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - networkTransmitErrorsPerSec:: 'irate(node_network_transmit_errs_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - networkReceiveDropsPerSec:: 'irate(node_network_receive_drop_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - networkTransmitDropsPerSec:: 'irate(node_network_transmit_drop_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - - systemContextSwitches:: 'irate(node_context_switches_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - systemInterrupts:: 'irate(node_intr_total{%(nodeQuerySelector)s}[$__rate_interval])' % config { nodeQuerySelector: nodeQuerySelector }, - - //time - node_timex_estimated_error_seconds:: 'node_timex_estimated_error_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_timex_offset_seconds:: 'node_timex_offset_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_timex_maxerror_seconds:: 'node_timex_maxerror_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - - node_timex_sync_status:: 'node_timex_sync_status{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_time_zone_offset_seconds:: 'node_time_zone_offset_seconds{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - node_systemd_units:: 'node_systemd_units{%(nodeQuerySelector)s}' % config { nodeQuerySelector: nodeQuerySelector }, - - - }, - // share across dashboards - panelsWithTargets:: { - // cpu - idleCPU:: - nodePanels.timeseries.new( - 'CPU Usage', - description='Total CPU utilisation percent.' - ) - .withUnits('percent') - .withStacking('normal') - .withMin(0) - .withMax(100) - .addTarget(c.commonPromTarget( - expr=c.queries.cpuUsagePerCore, - legendFormat='cpu {{cpu}}', - )), - - systemLoad:: - nodePanels.timeseries.new( - 'Load Average', - description='System load average over the previous 1, 5, and 15 minute ranges. A measurement of how many processes are waiting for CPU cycles. The maximum number is the number of CPU cores for the node.', - ) - .withUnits('short') - .withMin(0) - .withFillOpacity(0) - .addTarget(c.commonPromTarget(c.queries.systemLoad1, legendFormat='1m load average')) - .addTarget(c.commonPromTarget(c.queries.systemLoad5, legendFormat='5m load average')) - .addTarget(c.commonPromTarget(c.queries.systemLoad15, legendFormat='15m load average')) - .addTarget(c.commonPromTarget(c.queries.cpuCount, legendFormat='logical cores')) - .addOverride( - matcher={ - id: 'byName', - options: 'logical cores', - }, - properties=[ - { - id: 'custom.lineStyle', - value: { - fill: 'dash', - dash: [ - 10, - 10, - ], - }, - }, - ] - ), - cpuStatPanel:: - commonPanels.percentUsageStat.new( - 'CPU Usage', - description='Total CPU utilisation percent.' - ) - .addTarget(c.commonPromTarget( - expr=c.queries.cpuUsage - )), - systemContextSwitches:: - nodePanels.timeseries.new( - 'Context Switches / Interrupts', - description=||| - Context switches occur when the operating system switches from running one process to another. - Interrupts are signals sent to the CPU by external devices to request its attention. - - A high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes. - ||| - ) - .addTarget(c.commonPromTarget(c.queries.systemContextSwitches, legendFormat='Context Switches')) - .addTarget(c.commonPromTarget(c.queries.systemInterrupts, legendFormat='Interrupts')), - - diskSpaceUsage:: - nodePanels.table.new( - title='Disk Space Usage', - description='Disk utilisation in percent, by mountpoint. Some duplication can occur if the same filesystem is mounted in multiple locations.', - ) - .setFieldConfig(unit='decbytes') - //.addThresholdStep(color='light-green', value=null) - .addThresholdStep(color='light-blue', value=null) - .addThresholdStep(color='light-yellow', value=0.8) - .addThresholdStep(color='light-red', value=0.9) - .addTarget(c.commonPromTarget( - ||| - max by (mountpoint) (node_filesystem_size_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='', - instant=true, - format='table' - )) - .addTarget(c.commonPromTarget( - ||| - max by (mountpoint) (node_filesystem_avail_bytes{%(nodeQuerySelector)s, %(fsSelector)s, %(fsMountpointSelector)s}) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='', - instant=true, - format='table', - )) - .addOverride( - matcher={ - id: 'byName', - options: 'Mounted on', - }, - properties=[ - { - id: 'custom.width', - value: 260, - }, - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Size', - }, - properties=[ - - { - id: 'custom.width', - value: 93, - }, - - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Used', - }, - properties=[ - { - id: 'custom.width', - value: 72, - }, - ], - ) - .addOverride( - matcher={ - id: 'byName', - options: 'Available', - }, - properties=[ - { - id: 'custom.width', - value: 88, - }, - ], - ) - - .addOverride( - matcher={ - id: 'byName', - options: 'Used, %', - }, - properties=[ - { - id: 'unit', - value: 'percentunit', - }, - { - id: 'custom.displayMode', - value: 'basic', - }, - { - id: 'max', - value: 1, - }, - { - id: 'min', - value: 0, - }, - ] - ) - .sortBy('Mounted on') - + { - transformations+: [ - { - id: 'groupBy', - options: { - fields: { - 'Value #A': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - 'Value #B': { - aggregations: [ - 'lastNotNull', - ], - operation: 'aggregate', - }, - mountpoint: { - aggregations: [], - operation: 'groupby', - }, - }, - }, - }, - { - id: 'merge', - options: {}, - }, - { - id: 'calculateField', - options: { - alias: 'Used', - binary: { - left: 'Value #A (lastNotNull)', - operator: '-', - reducer: 'sum', - right: 'Value #B (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'calculateField', - options: { - alias: 'Used, %', - binary: { - left: 'Used', - operator: '/', - reducer: 'sum', - right: 'Value #A (lastNotNull)', - }, - mode: 'binary', - reduce: { - reducer: 'sum', - }, - }, - }, - { - id: 'organize', - options: { - excludeByName: {}, - indexByName: {}, - renameByName: { - 'Value #A (lastNotNull)': 'Size', - 'Value #B (lastNotNull)': 'Available', - mountpoint: 'Mounted on', - }, - }, - }, - ], - }, - memoryGraphPanelPrototype:: - nodePanels.timeseries.new( - 'Memory Usage', - description='Memory usage by category, measured in bytes.', - ) - .withMin(0) - .withUnits('bytes'), - memoryGraph:: - if platform == 'Linux' then - self.memoryGraphPanelPrototype - { - description: ||| - Used: The amount of physical memory currently in use by the system. - Cached: The amount of physical memory used for caching data from disk. The Linux kernel uses available memory to cache data that is read from or written to disk. This helps speed up disk access times. - Free: The amount of physical memory that is currently not in use. - Buffers: The amount of physical memory used for temporary storage of data being transferred between devices or applications. - Available: The amount of physical memory that is available for use by applications. This takes into account memory that is currently being used for caching but can be freed up if needed. - |||, - } - { stack: true } - .addTarget(c.commonPromTarget( - ||| - ( - node_memory_MemTotal_bytes{%(nodeQuerySelector)s} - - - node_memory_MemFree_bytes{%(nodeQuerySelector)s} - - - node_memory_Buffers_bytes{%(nodeQuerySelector)s} - - - node_memory_Cached_bytes{%(nodeQuerySelector)s} - ) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, - legendFormat='Memory used' - )) - .addTarget(c.commonPromTarget('node_memory_Buffers_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory buffers')) - .addTarget(c.commonPromTarget('node_memory_Cached_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory cached')) - .addTarget(c.commonPromTarget('node_memory_MemFree_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory free')) - .addTarget(c.commonPromTarget('node_memory_MemAvailable_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory available')) - .addTarget(c.commonPromTarget('node_memory_MemTotal_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory total')) - else if platform == 'Darwin' then - // not useful to stack - self.memoryGraphPanelPrototype { stack: false } - .addTarget(c.commonPromTarget('node_memory_total_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Physical Memory')) - .addTarget(c.commonPromTarget( - ||| - ( - node_memory_internal_bytes{%(nodeQuerySelector)s} - - node_memory_purgeable_bytes{%(nodeQuerySelector)s} + - node_memory_wired_bytes{%(nodeQuerySelector)s} + - node_memory_compressed_bytes{%(nodeQuerySelector)s} - ) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Memory Used' - )) - .addTarget(c.commonPromTarget( - ||| - ( - node_memory_internal_bytes{%(nodeQuerySelector)s} - - node_memory_purgeable_bytes{%(nodeQuerySelector)s} - ) - ||| % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='App Memory' - )) - .addTarget(c.commonPromTarget('node_memory_wired_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Wired Memory')) - .addTarget(c.commonPromTarget('node_memory_compressed_bytes{%(nodeQuerySelector)s}' % config { nodeQuerySelector: c.nodeQuerySelector }, legendFormat='Compressed')), - - // NOTE: avg() is used to circumvent a label change caused by a node_exporter rollout. - memoryGaugePanelPrototype:: - commonPanels.percentUsageStat.new( - 'Memory Usage', - description='Total memory utilisation.', - ), - - memoryGauge:: - if platform == 'Linux' then - self.memoryGaugePanelPrototype - - .addTarget(c.commonPromTarget(c.queries.memoryUsage)) - - else if platform == 'Darwin' then - self.memoryGaugePanelPrototype - .addTarget(c.commonPromTarget( - ||| - ( - ( - avg(node_memory_internal_bytes{%(nodeQuerySelector)s}) - - avg(node_memory_purgeable_bytes{%(nodeQuerySelector)s}) + - avg(node_memory_wired_bytes{%(nodeQuerySelector)s}) + - avg(node_memory_compressed_bytes{%(nodeQuerySelector)s}) - ) / - avg(node_memory_total_bytes{%(nodeQuerySelector)s}) - ) - * - 100 - ||| % config { nodeQuerySelector: c.nodeQuerySelector } - )), - diskIO:: - nodePanels.timeseries.new( - 'Disk I/O', - description='Disk read/writes in bytes, and total IO seconds.' - ) - .withFillOpacity(0) - .withMin(0) - .addTarget(c.commonPromTarget( - c.queries.diskReadTime, - legendFormat='{{device}} read', - )) - .addTarget(c.commonPromTarget( - c.queries.diskWriteTime, - legendFormat='{{device}} written', - )) - .addTarget(c.commonPromTarget( - c.queries.diskIoTime, - legendFormat='{{device}} io time', - )) - .addOverride( - matcher={ - id: 'byRegexp', - options: '/ read| written/', - }, - properties=[ - { - id: 'unit', - value: 'bps', - }, - ] - ) - .addOverride( - matcher={ - id: 'byRegexp', - options: '/ io time/', - }, - properties=[ - { - id: 'unit', - value: 'percentunit', - }, - { - id: 'custom.axisSoftMax', - value: 1, - }, - { - id: 'custom.drawStyle', - value: 'points', - }, - ] - ), - }, - }, - -} diff --git a/docs/node-observ-lib/g.libsonnet b/docs/node-mixin/lib/g.libsonnet similarity index 100% rename from docs/node-observ-lib/g.libsonnet rename to docs/node-mixin/lib/g.libsonnet diff --git a/docs/node-observ-lib/linux/README.md b/docs/node-mixin/lib/linux/README.md similarity index 91% rename from docs/node-observ-lib/linux/README.md rename to docs/node-mixin/lib/linux/README.md index 3582c0cbb9..07e0c4628c 100644 --- a/docs/node-observ-lib/linux/README.md +++ b/docs/node-mixin/lib/linux/README.md @@ -6,7 +6,7 @@ This jsonnet observability lib can be used to generate observability package for ```sh jb init -jb install https://github.com/grafana/node_exporter/docs/node-observ-lib +jb install https://github.com/prometheus/node_exporter/docs/node-mixin/lib/linux ``` ## Examples @@ -17,7 +17,7 @@ You can use observ-lib to fill in monitoring-mixin structure: ```jsonnet // mixin.libsonnet file -local nodelib = import 'node-observ-lib/linux/main.libsonnet'; +local nodelib = import 'linux/main.libsonnet'; local linux = nodelib.new() @@ -45,7 +45,7 @@ local linux = ```jsonnet // mixin.libsonnet file -local nodelib = import 'node-observ-lib/linux/main.libsonnet'; +local nodelib = import 'linux/main.libsonnet'; local linux = nodelib.new() @@ -82,7 +82,7 @@ local linux = // mixin.libsonnet file local configOverride = import './overrides.libsonnet'; -local nodelib = import 'node-observ-lib/linux/main.libsonnet'; +local nodelib = import 'linux/main.libsonnet'; local linux = nodelib.new() @@ -101,7 +101,7 @@ local linux = ```jsonnet local g = import './g.libsonnet'; // mixin.libsonnet file -local nodelib = import 'node-observ-lib/linux/main.libsonnet'; +local nodelib = import 'linux/main.libsonnet'; local linux = nodelib.new() diff --git a/docs/node-observ-lib/linux/alerts.libsonnet b/docs/node-mixin/lib/linux/alerts/alerts.libsonnet similarity index 99% rename from docs/node-observ-lib/linux/alerts.libsonnet rename to docs/node-mixin/lib/linux/alerts/alerts.libsonnet index 8cc89d8fdf..8a307dff9f 100644 --- a/docs/node-observ-lib/linux/alerts.libsonnet +++ b/docs/node-mixin/lib/linux/alerts/alerts.libsonnet @@ -10,7 +10,7 @@ ( node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} / node_filesystem_size_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} * 100 < %(fsSpaceFillingUpWarningThreshold)d and - predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[6h], 24*60*60) < 0 + predict_linear(node_filesystem_avail_bytes{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s}[%(fsSpaceFillingUpPredictionWindow)s], 24*60*60) < 0 and node_filesystem_readonly{%(filteringSelector)s,%(fsSelector)s,%(fsMountpointSelector)s} == 0 ) diff --git a/docs/node-observ-lib/linux/annotations.libsonnet b/docs/node-mixin/lib/linux/annotations.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/annotations.libsonnet rename to docs/node-mixin/lib/linux/annotations.libsonnet diff --git a/docs/node-observ-lib/linux/config.libsonnet b/docs/node-mixin/lib/linux/config.libsonnet similarity index 89% rename from docs/node-observ-lib/linux/config.libsonnet rename to docs/node-mixin/lib/linux/config.libsonnet index 77a1bd10c5..5ce5548269 100644 --- a/docs/node-observ-lib/linux/config.libsonnet +++ b/docs/node-mixin/lib/linux/config.libsonnet @@ -6,14 +6,12 @@ // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. // 'uid' - UID to prefix all dashboards original uids - filteringSelector: std.get(self, 'nodeExporterSelector', default='job="node"'), groupLabels: ['job'], instanceLabels: ['instance'], dashboardNamePrefix: 'Node exporter / ', uid: 'node', - - dashboardTags: [self.uid], + dashboardTags: ['node-exporter-mixin'], // Select the fstype for filesystem-related queries. If left // empty, all filesystems are selected. If you have unusual @@ -59,13 +57,19 @@ // 'NodeFilesystemSpaceFillingUp' alerts. These alerts fire if the disk // usage grows in a way that it is predicted to run out in 4h or 1d // and if the provided thresholds have been reached right now. - // In some cases you'll want to adjust these, e.g. by default Kubernetes + // In some cases you'll want to adjust these, e.g., by default, Kubernetes // runs the image garbage collection when the disk usage reaches 85% // of its available space. In that case, you'll want to reduce the // critical threshold below to something like 14 or 15, otherwise // the alert could fire under normal node usage. + // Additionally, the prediction window for the alert can be configured + // to account for environments where disk usage can fluctuate within + // a short time frame. By extending the prediction window, you can + // reduce false positives caused by temporary spikes, providing a + // more accurate prediction of disk space issues. fsSpaceFillingUpWarningThreshold: 40, fsSpaceFillingUpCriticalThreshold: 20, + fsSpaceFillingUpPredictionWindow: '6h', // Available disk space (%) thresholds on which to trigger the // 'NodeFilesystemAlmostOutOfSpace' alerts. @@ -91,7 +95,7 @@ rateInterval: '5m', - dashboardPeriod: 'now-1h', + dashboardInterval: 'now-1h', dashboardTimezone: 'default', dashboardRefresh: '1m', @@ -100,7 +104,7 @@ //used in USE dashboards only. For others, add cluster label to groupLabels var. clusterLabel: 'cluster', - // logs lib related + // loki logs related related enableLokiLogs: false, extraLogLabels: ['transport', 'unit', 'level'], logsVolumeGroupBy: 'level', @@ -111,4 +115,5 @@ | label_format timestamp="{{__timestamp__}}" | line_format `{{ if eq "[[instance]]" ".*" }}{{alignLeft 25 .instance}}|{{alignLeft 25 .unit}}|{{else}}{{alignLeft 25 .unit}}|{{end}} {{__line__}}` |||, + } diff --git a/docs/node-observ-lib/linux/dashboards.libsonnet b/docs/node-mixin/lib/linux/dashboards.libsonnet similarity index 96% rename from docs/node-observ-lib/linux/dashboards.libsonnet rename to docs/node-mixin/lib/linux/dashboards.libsonnet index 5b442cd969..18f4810ad7 100644 --- a/docs/node-observ-lib/linux/dashboards.libsonnet +++ b/docs/node-mixin/lib/linux/dashboards.libsonnet @@ -10,7 +10,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso local vars = this.grafana.variables.main; local annotations = this.grafana.annotations; local refresh = this.config.dashboardRefresh; - local period = this.config.dashboardPeriod; + local period = this.config.dashboardInterval; local timezone = this.config.dashboardTimezone; local panels = this.grafana.panels; local rows = this.grafana.rows; @@ -170,8 +170,8 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso 'logs.json': logslib.new( prefix + 'logs', - datasourceName=this.grafana.variables.datasources.loki.name, - datasourceRegex=this.grafana.variables.datasources.loki.regex, + datasourceName=vars.datasources.loki.name, + datasourceRegex=vars.datasources.loki.regex, filterSelector=this.config.logsFilteringSelector, labels=this.config.groupLabels + this.config.instanceLabels + this.config.extraLogLabels, formatParser=null, @@ -197,7 +197,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso variables+: { // add prometheus datasource for annotations processing toArray+: [ - this.grafana.variables.datasources.prometheus { hide: 2 }, + vars.datasources.prometheus { hide: 2 }, ], }, }.dashboards.logs, diff --git a/docs/node-observ-lib/linux/links.libsonnet b/docs/node-mixin/lib/linux/links.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/links.libsonnet rename to docs/node-mixin/lib/linux/links.libsonnet diff --git a/docs/node-observ-lib/linux/main.libsonnet b/docs/node-mixin/lib/linux/main.libsonnet similarity index 55% rename from docs/node-observ-lib/linux/main.libsonnet rename to docs/node-mixin/lib/linux/main.libsonnet index d8bf92b532..f6db00f81c 100644 --- a/docs/node-observ-lib/linux/main.libsonnet +++ b/docs/node-mixin/lib/linux/main.libsonnet @@ -1,4 +1,4 @@ -local alerts = import './alerts.libsonnet'; +local alerts = import './alerts/alerts.libsonnet'; local annotations = import './annotations.libsonnet'; local config = import './config.libsonnet'; local dashboards = import './dashboards.libsonnet'; @@ -7,16 +7,12 @@ local g = import './g.libsonnet'; local links = import './links.libsonnet'; local panels = import './panels/main.libsonnet'; local rows = import './rows/main.libsonnet'; -local rules = import './rules.libsonnet'; +local rules = import './rules/rules.libsonnet'; local targets = import './targets/main.libsonnet'; local variables = import './variables.libsonnet'; local commonlib = import 'common-lib/common/main.libsonnet'; { - withConfigMixin(config): { - config+: config, - }, - new(): { local this = self, @@ -37,5 +33,26 @@ local commonlib = import 'common-lib/common/main.libsonnet'; recordingRules: rules.new(this), }, + + }, + withConfigMixin(config): { + //backward compatible: handle both formats string and array for instanceLabels, groupLabels + local _patch = + ( + if std.objectHasAll(config, 'instanceLabels') + then + { instanceLabels: if std.isString(config.instanceLabels) then std.split(',', config.instanceLabels) else config.instanceLabels } + else {} + ) + + ( + if std.objectHasAll(config, 'groupLabels') + then + { + groupLabels: if std.isString(config.groupLabels) then std.split(',', config.groupLabels) else config.groupLabels, + } + else {} + ), + local groupLabels = if std.isString(config.groupLabels) then std.split(',', config.groupLabels) else config.groupLabels, + config+: config + _patch, }, } diff --git a/docs/node-observ-lib/linux/panels/cpu.libsonnet b/docs/node-mixin/lib/linux/panels/cpu.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/cpu.libsonnet rename to docs/node-mixin/lib/linux/panels/cpu.libsonnet diff --git a/docs/node-observ-lib/linux/panels/disk.libsonnet b/docs/node-mixin/lib/linux/panels/disk.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/disk.libsonnet rename to docs/node-mixin/lib/linux/panels/disk.libsonnet diff --git a/docs/node-observ-lib/linux/panels/fleet.libsonnet b/docs/node-mixin/lib/linux/panels/fleet.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/fleet.libsonnet rename to docs/node-mixin/lib/linux/panels/fleet.libsonnet diff --git a/docs/node-observ-lib/linux/panels/hardware.libsonnet b/docs/node-mixin/lib/linux/panels/hardware.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/hardware.libsonnet rename to docs/node-mixin/lib/linux/panels/hardware.libsonnet diff --git a/docs/node-observ-lib/linux/panels/main.libsonnet b/docs/node-mixin/lib/linux/panels/main.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/main.libsonnet rename to docs/node-mixin/lib/linux/panels/main.libsonnet diff --git a/docs/node-observ-lib/linux/panels/memory.libsonnet b/docs/node-mixin/lib/linux/panels/memory.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/memory.libsonnet rename to docs/node-mixin/lib/linux/panels/memory.libsonnet diff --git a/docs/node-observ-lib/linux/panels/network.libsonnet b/docs/node-mixin/lib/linux/panels/network.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/network.libsonnet rename to docs/node-mixin/lib/linux/panels/network.libsonnet diff --git a/docs/node-observ-lib/linux/panels/system.libsonnet b/docs/node-mixin/lib/linux/panels/system.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/system.libsonnet rename to docs/node-mixin/lib/linux/panels/system.libsonnet diff --git a/docs/node-observ-lib/linux/panels/use.libsonnet b/docs/node-mixin/lib/linux/panels/use.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/use.libsonnet rename to docs/node-mixin/lib/linux/panels/use.libsonnet diff --git a/docs/node-observ-lib/linux/panels/useCluster.libsonnet b/docs/node-mixin/lib/linux/panels/useCluster.libsonnet similarity index 84% rename from docs/node-observ-lib/linux/panels/useCluster.libsonnet rename to docs/node-mixin/lib/linux/panels/useCluster.libsonnet index cb06b8f18b..9ae1a79e75 100644 --- a/docs/node-observ-lib/linux/panels/useCluster.libsonnet +++ b/docs/node-mixin/lib/linux/panels/useCluster.libsonnet @@ -10,10 +10,12 @@ local utils = commonlib.utils; local instanceLabel = this.config.instanceLabels[0], local instancePanels = this.grafana.panels.use, //for USE - cpuUtilization: instancePanels.cpuUtilization - + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuUtilization]), - cpuSaturation: instancePanels.cpuSaturation - + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuSaturation]), + cpuUtilization: + instancePanels.cpuUtilization + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuUtilization]), + cpuSaturation: + instancePanels.cpuSaturation + + g.panel.timeSeries.queryOptions.withTargets([t.useCluster.cpuSaturation]), memoryUtilization: instancePanels.memoryUtilization diff --git a/docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet b/docs/node-mixin/lib/linux/panels/useClusterMulti.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/panels/useClusterMulti.libsonnet rename to docs/node-mixin/lib/linux/panels/useClusterMulti.libsonnet diff --git a/docs/node-observ-lib/linux/rows/linux.libsonnet b/docs/node-mixin/lib/linux/rows/linux.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/rows/linux.libsonnet rename to docs/node-mixin/lib/linux/rows/linux.libsonnet diff --git a/docs/node-observ-lib/linux/rows/main.libsonnet b/docs/node-mixin/lib/linux/rows/main.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/rows/main.libsonnet rename to docs/node-mixin/lib/linux/rows/main.libsonnet diff --git a/docs/node-observ-lib/linux/rows/use.libsonnet b/docs/node-mixin/lib/linux/rows/use.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/rows/use.libsonnet rename to docs/node-mixin/lib/linux/rows/use.libsonnet diff --git a/docs/node-observ-lib/linux/rules.libsonnet b/docs/node-mixin/lib/linux/rules/rules.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/rules.libsonnet rename to docs/node-mixin/lib/linux/rules/rules.libsonnet diff --git a/docs/node-observ-lib/linux/targets/alerts.libsonnet b/docs/node-mixin/lib/linux/targets/alerts.libsonnet similarity index 96% rename from docs/node-observ-lib/linux/targets/alerts.libsonnet rename to docs/node-mixin/lib/linux/targets/alerts.libsonnet index 77101c7b2d..de4a23d931 100644 --- a/docs/node-observ-lib/linux/targets/alerts.libsonnet +++ b/docs/node-mixin/lib/linux/targets/alerts.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/cpu.libsonnet b/docs/node-mixin/lib/linux/targets/cpu.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/cpu.libsonnet rename to docs/node-mixin/lib/linux/targets/cpu.libsonnet diff --git a/docs/node-observ-lib/linux/targets/disk.libsonnet b/docs/node-mixin/lib/linux/targets/disk.libsonnet similarity index 99% rename from docs/node-observ-lib/linux/targets/disk.libsonnet rename to docs/node-mixin/lib/linux/targets/disk.libsonnet index 4e91d619a4..036ecef63e 100644 --- a/docs/node-observ-lib/linux/targets/disk.libsonnet +++ b/docs/node-mixin/lib/linux/targets/disk.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/events.libsonnet b/docs/node-mixin/lib/linux/targets/events.libsonnet similarity index 98% rename from docs/node-observ-lib/linux/targets/events.libsonnet rename to docs/node-mixin/lib/linux/targets/events.libsonnet index 3cf73aa39e..3e95d4a57c 100644 --- a/docs/node-observ-lib/linux/targets/events.libsonnet +++ b/docs/node-mixin/lib/linux/targets/events.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/hardware.libsonnet b/docs/node-mixin/lib/linux/targets/hardware.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/hardware.libsonnet rename to docs/node-mixin/lib/linux/targets/hardware.libsonnet diff --git a/docs/node-observ-lib/linux/targets/main.libsonnet b/docs/node-mixin/lib/linux/targets/main.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/main.libsonnet rename to docs/node-mixin/lib/linux/targets/main.libsonnet diff --git a/docs/node-observ-lib/linux/targets/memory.libsonnet b/docs/node-mixin/lib/linux/targets/memory.libsonnet similarity index 99% rename from docs/node-observ-lib/linux/targets/memory.libsonnet rename to docs/node-mixin/lib/linux/targets/memory.libsonnet index b566b73b98..7f06662a23 100644 --- a/docs/node-observ-lib/linux/targets/memory.libsonnet +++ b/docs/node-mixin/lib/linux/targets/memory.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/network.libsonnet b/docs/node-mixin/lib/linux/targets/network.libsonnet similarity index 99% rename from docs/node-observ-lib/linux/targets/network.libsonnet rename to docs/node-mixin/lib/linux/targets/network.libsonnet index c5bdec6059..715bd8552c 100644 --- a/docs/node-observ-lib/linux/targets/network.libsonnet +++ b/docs/node-mixin/lib/linux/targets/network.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/system.libsonnet b/docs/node-mixin/lib/linux/targets/system.libsonnet similarity index 98% rename from docs/node-observ-lib/linux/targets/system.libsonnet rename to docs/node-mixin/lib/linux/targets/system.libsonnet index ac89ebaa31..04f6104857 100644 --- a/docs/node-observ-lib/linux/targets/system.libsonnet +++ b/docs/node-mixin/lib/linux/targets/system.libsonnet @@ -1,4 +1,4 @@ -local g = import '../g.libsonnet'; +local g = import '../../g.libsonnet'; local prometheusQuery = g.query.prometheus; local lokiQuery = g.query.loki; diff --git a/docs/node-observ-lib/linux/targets/use.libsonnet b/docs/node-mixin/lib/linux/targets/use.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/use.libsonnet rename to docs/node-mixin/lib/linux/targets/use.libsonnet diff --git a/docs/node-observ-lib/linux/targets/useCluster.libsonnet b/docs/node-mixin/lib/linux/targets/useCluster.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/useCluster.libsonnet rename to docs/node-mixin/lib/linux/targets/useCluster.libsonnet diff --git a/docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet b/docs/node-mixin/lib/linux/targets/useClusterMulti.libsonnet similarity index 100% rename from docs/node-observ-lib/linux/targets/useClusterMulti.libsonnet rename to docs/node-mixin/lib/linux/targets/useClusterMulti.libsonnet diff --git a/docs/node-observ-lib/linux/variables.libsonnet b/docs/node-mixin/lib/linux/variables.libsonnet similarity index 89% rename from docs/node-observ-lib/linux/variables.libsonnet rename to docs/node-mixin/lib/linux/variables.libsonnet index 7eec70a84c..a30cf74f8b 100644 --- a/docs/node-observ-lib/linux/variables.libsonnet +++ b/docs/node-mixin/lib/linux/variables.libsonnet @@ -16,6 +16,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; instanceLabels=this.config.instanceLabels, varMetric='node_uname_info', customAllValue='.+', + enableLokiLogs=this.config.enableLokiLogs, ), // used in USE cluster dashboard use: @@ -26,6 +27,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; instanceLabels=this.config.instanceLabels, varMetric='instance:node_cpu_utilisation:rate5m', customAllValue='.+', + enableLokiLogs=this.config.enableLokiLogs, ), useCluster: commonlib.variables.new( @@ -34,6 +36,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; instanceLabels=[], varMetric='instance:node_cpu_utilisation:rate5m', customAllValue='.+', + enableLokiLogs=this.config.enableLokiLogs, ), }, diff --git a/docs/node-observ-lib/macos/README.md b/docs/node-mixin/lib/macos/README.md similarity index 91% rename from docs/node-observ-lib/macos/README.md rename to docs/node-mixin/lib/macos/README.md index 815903ffc1..e0ce700729 100644 --- a/docs/node-observ-lib/macos/README.md +++ b/docs/node-mixin/lib/macos/README.md @@ -6,7 +6,7 @@ This jsonnet observability lib can be used to generate observability package for ```sh jb init -jb install https://github.com/grafana/node_exporter/docs/node-observ-lib +jb install https://github.com/prometheus/node_exporter/docs/node-mixin/lib/macos ``` ## Examples @@ -17,7 +17,7 @@ You can use observ-lib to fill in monitoring-mixin structure: ```jsonnet // mixin.libsonnet file -local macoslib = import 'node-observ-lib/macos/main.libsonnet'; +local macoslib = import 'macos/main.libsonnet'; local mac = macoslib.new() @@ -39,7 +39,7 @@ local mac = } ``` -For more examples see [node-observ-lib/linux](../linux). +For more examples see [node-mixin/lib/linux](../linux). ## Collectors used: diff --git a/docs/node-observ-lib/macos/alerts.libsonnet b/docs/node-mixin/lib/macos/alerts.libsonnet similarity index 100% rename from docs/node-observ-lib/macos/alerts.libsonnet rename to docs/node-mixin/lib/macos/alerts.libsonnet diff --git a/docs/node-mixin/lib/macos/config.libsonnet b/docs/node-mixin/lib/macos/config.libsonnet new file mode 100644 index 0000000000..e931a24f9d --- /dev/null +++ b/docs/node-mixin/lib/macos/config.libsonnet @@ -0,0 +1,28 @@ +{ + // Rest of the config is imported from linux + filteringSelector: 'job="integrations/macos-node"', + dashboardNamePrefix: 'MacOS / ', + uid: 'darwin', + + dashboardTags: [self.uid], + + + // Alerts to keep from node-observ-lib: + alertsMacKeep: [ + 'NodeFilesystemAlmostOutOfSpace', + 'NodeNetworkReceiveErrs', + 'NodeNetworkTransmitErrs', + 'NodeTextFileCollectorScrapeError', + 'NodeFilesystemFilesFillingUp', + 'NodeFilesystemAlmostOutOfFiles', + ], + // logs lib related + enableLokiLogs: false, + extraLogLabels: ['filename', 'sender'], + logsVolumeGroupBy: 'sender', + showLogsVolume: true, + logsFilteringSelector: self.filteringSelector, + logsExtraFilters: '', + + +} diff --git a/docs/node-observ-lib/macos/main.libsonnet b/docs/node-mixin/lib/macos/main.libsonnet similarity index 98% rename from docs/node-observ-lib/macos/main.libsonnet rename to docs/node-mixin/lib/macos/main.libsonnet index 94605e9928..18a418f221 100644 --- a/docs/node-observ-lib/macos/main.libsonnet +++ b/docs/node-mixin/lib/macos/main.libsonnet @@ -45,6 +45,7 @@ nodelib { 'logs.json': parentGrafana.dashboards['logs.json'], } + else {} ), }, prometheus+: { diff --git a/docs/node-observ-lib/macos/panels.libsonnet b/docs/node-mixin/lib/macos/panels.libsonnet similarity index 100% rename from docs/node-observ-lib/macos/panels.libsonnet rename to docs/node-mixin/lib/macos/panels.libsonnet diff --git a/docs/node-observ-lib/macos/targets.libsonnet b/docs/node-mixin/lib/macos/targets.libsonnet similarity index 98% rename from docs/node-observ-lib/macos/targets.libsonnet rename to docs/node-mixin/lib/macos/targets.libsonnet index 0392a4c17f..7433b3974d 100644 --- a/docs/node-observ-lib/macos/targets.libsonnet +++ b/docs/node-mixin/lib/macos/targets.libsonnet @@ -4,7 +4,7 @@ local lokiQuery = g.query.loki; { new(this): { - local variables = this.grafana.variables, + local variables = this.grafana.variables.main, local config = this.config, local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', local lokiDatasource = '${' + variables.datasources.loki.name + '}', diff --git a/docs/node-mixin/lib/panels/common/info.libsonnet b/docs/node-mixin/lib/panels/common/info.libsonnet deleted file mode 100644 index 3b54d39382..0000000000 --- a/docs/node-mixin/lib/panels/common/info.libsonnet +++ /dev/null @@ -1,30 +0,0 @@ -// Info panel text (number or text) -local statPanel = import '../stat.libsonnet'; -statPanel { - new( - title=null, - description=null, - datasource=null, - ):: - super.new( - title, - description, - datasource, - ) - + self.withColor(color='text') - + self.withTextSize(value=20) - + self.withGraphMode('none') - + - { - options+: { - reduceOptions: { - values: false, - calcs: [ - 'lastNotNull', - ], - fields: '', - }, - graphMode: 'none', - }, - }, -} diff --git a/docs/node-mixin/lib/panels/common/networktraffic.libsonnet b/docs/node-mixin/lib/panels/common/networktraffic.libsonnet deleted file mode 100644 index 09f3370f67..0000000000 --- a/docs/node-mixin/lib/panels/common/networktraffic.libsonnet +++ /dev/null @@ -1,18 +0,0 @@ -// Panels to graph network traffic in and out -local timeseries = import '../timeseries.libsonnet'; -timeseries { - new( - title=null, - description=null, - datasource=null, - ):: - super.new( - title, - description, - datasource, - ) - + self.withDecimals(1) - + self.withUnits('bps') - + self.withNegativeYByRegex('transmit|tx|out') - + self.withAxisLabel('out(-) | in(+)'), -} diff --git a/docs/node-mixin/lib/panels/common/panels.libsonnet b/docs/node-mixin/lib/panels/common/panels.libsonnet deleted file mode 100644 index 88fea17a6e..0000000000 --- a/docs/node-mixin/lib/panels/common/panels.libsonnet +++ /dev/null @@ -1,6 +0,0 @@ -{ - uptimeStat:: import 'uptime.libsonnet', - infoStat:: import 'info.libsonnet', - percentUsageStat:: import 'percentusage.libsonnet', - networkTrafficGraph:: import 'networktraffic.libsonnet', -} diff --git a/docs/node-mixin/lib/panels/common/percentusage.libsonnet b/docs/node-mixin/lib/panels/common/percentusage.libsonnet deleted file mode 100644 index 884878f673..0000000000 --- a/docs/node-mixin/lib/panels/common/percentusage.libsonnet +++ /dev/null @@ -1,30 +0,0 @@ -// Panels to display metrics that can go from 0 to 100%. (cpu utilization, memory utilization etc). Full utilization is considered an issue. -local statPanel = import '../stat.libsonnet'; -statPanel { - new( - title=null, - description=null, - datasource=null, - ):: - super.new( - title, - description, - datasource, - ) - + self.withDecimals(1) - + self.withUnits('percent') - + self.withMax(100) - + self.withMin(0) - + self.withColor(mode='continuous-BlYlRd') - { - options+: { - reduceOptions: { - values: false, - calcs: [ - 'lastNotNull', - ], - fields: '', - }, - }, - }, -} diff --git a/docs/node-mixin/lib/panels/common/uptime.libsonnet b/docs/node-mixin/lib/panels/common/uptime.libsonnet deleted file mode 100644 index a64a179faa..0000000000 --- a/docs/node-mixin/lib/panels/common/uptime.libsonnet +++ /dev/null @@ -1,43 +0,0 @@ -local statPanel = import '../stat.libsonnet'; -statPanel { - new( - title='Uptime', - description=null, - datasource=null, - ):: - super.new( - title, - description, - datasource, - ) - + self.withDecimals(1) - + self.withGraphMode('none') - + self.withTextSize(value=20) - + self.withUnits('dtdurations') - + self.withThresholds( - mode='absolute', - steps=[ - { - color: 'orange', - value: null, - }, - { - color: 'text', - value: 300, - }, - ] - ) - + self.withColor(mode='thresholds') - + - { - options+: { - reduceOptions: { - values: false, - calcs: [ - 'lastNotNull', - ], - fields: '', - }, - }, - }, -} diff --git a/docs/node-mixin/lib/panels/panel.libsonnet b/docs/node-mixin/lib/panels/panel.libsonnet deleted file mode 100644 index 8ede6ffe87..0000000000 --- a/docs/node-mixin/lib/panels/panel.libsonnet +++ /dev/null @@ -1,129 +0,0 @@ -// generic grafana dashboard -{ - //feed grafonnet panel - new():: {}, - - withUnits(unit):: self { - - fieldConfig+: { - defaults+: { - unit: unit, - }, - }, - }, - - withLegend(show=true, mode='table', placement='bottom', calcs=['min', 'mean', 'max', 'lastNotNull']):: self { - options+: { - legend: { - showLegend: show, - displayMode: mode, - placement: placement, - calcs: calcs, - }, - }, - }, - withDecimals(decimals):: self { - - fieldConfig+: { - defaults+: { - decimals: decimals, - }, - }, - }, - - withThresholds(mode='absolute', steps=null):: self { - - fieldConfig+: { - defaults+: { - thresholds: { - mode: mode, - steps: steps, - }, - }, - }, - }, - withMin(value):: self { - fieldConfig+: { - defaults+: { - min: value, - }, - }, - }, - withMax(value):: self { - fieldConfig+: { - defaults+: { - max: value, - }, - }, - }, - withColor(color=null, mode='fixed'):: self { - fieldConfig+: { - defaults+: { - color: { - mode: mode, - fixedColor: if mode == 'fixed' then color else null, - }, - }, - }, - }, - withMaxDataPoints(value):: self { - maxDataPoints: value, - }, - withTransform():: self { - - merge():: self - { - transformations+: [ - { - id: 'merge', - options: {}, - }, - ], - }, - filterFieldsByName(pattern=null):: self - { - transformations+: [ - { - id: 'filterFieldsByName', - options: { - include: { - pattern: pattern, - }, - }, - }, - ], - }, - joinByField( - mode='outer', - field=null - ):: self { - transformations+: [ - { - id: 'joinByField', - options: { - byField: field, - mode: mode, - }, - }, - ], - }, - organize( - excludeByName={}, - indexByName={}, - renameByName={}, - - ):: self - { - transformations+: [ - { - id: 'organize', - options: { - excludeByName: excludeByName, - indexByName: indexByName, - renameByName: renameByName, - }, - }, - ], - }, - }, -} diff --git a/docs/node-mixin/lib/panels/panels.libsonnet b/docs/node-mixin/lib/panels/panels.libsonnet deleted file mode 100644 index 19c9a1d896..0000000000 --- a/docs/node-mixin/lib/panels/panels.libsonnet +++ /dev/null @@ -1,5 +0,0 @@ -{ - timeseries:: import 'timeseries.libsonnet', - stat:: import 'stat.libsonnet', - table:: import 'table.libsonnet', -} diff --git a/docs/node-mixin/lib/panels/stat.libsonnet b/docs/node-mixin/lib/panels/stat.libsonnet deleted file mode 100644 index e3fa4172f3..0000000000 --- a/docs/node-mixin/lib/panels/stat.libsonnet +++ /dev/null @@ -1,28 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local genericPanel = import 'panel.libsonnet'; -genericPanel { - new( - title=null, - description=null, - datasource=null, - ):: self + - grafana.statPanel.new( - title=title, - description=description, - datasource=datasource, - ), - withGraphMode(mode='none'):: self { - options+: - { - graphMode: mode, - }, - }, - withTextSize(value='auto', title='auto'):: self { - options+: - { text: { - valueSize: value, - titleSize: title, - } }, - }, - -} diff --git a/docs/node-mixin/lib/panels/table.libsonnet b/docs/node-mixin/lib/panels/table.libsonnet deleted file mode 100644 index 4a9c36cc66..0000000000 --- a/docs/node-mixin/lib/panels/table.libsonnet +++ /dev/null @@ -1,37 +0,0 @@ -local grafana70 = import 'github.com/grafana/grafonnet-lib/grafonnet-7.0/grafana.libsonnet'; -local genericPanel = import 'panel.libsonnet'; -local table = grafana70.panel.table; -genericPanel -{ - new( - title=null, - description=null, - datasource=null, - ):: self + - table.new( - title=title, - description=description, - datasource=datasource, - ), - sortBy(field, desc=false):: self { - options+: { - sortBy: [ - { - displayName: field, - desc: desc, - }, - ], - }, - }, - withFooter(reducer=['mean'], fields=[]):: self { - - options+: { - footer: { - show: true, - reducer: reducer, - fields: fields, - }, - }, - }, - -} diff --git a/docs/node-mixin/lib/panels/timeseries.libsonnet b/docs/node-mixin/lib/panels/timeseries.libsonnet deleted file mode 100644 index 816ec49ad0..0000000000 --- a/docs/node-mixin/lib/panels/timeseries.libsonnet +++ /dev/null @@ -1,145 +0,0 @@ -local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; -local genericPanel = import 'panel.libsonnet'; -genericPanel -{ - new( - title=null, - description=null, - datasource=null, - ):: self + - grafana.graphPanel.new( - title=title, - description=description, - datasource=datasource, - ) - + - { - type: 'timeseries', - } - + self.withFillOpacity(10) - + self.withGradientMode('opacity') - + self.withLineInterpolation('smooth') - + self.withShowPoints('never') - + self.withTooltip(mode='multi', sort='desc') - + self.withLegend(mode='list', calcs=[]), - withDrawStyle(style):: self { - fieldConfig+: { - defaults+: { - custom+: { - drawStyle: style, - }, - }, - }, - }, - withPointsSize(size):: self { - fieldConfig+: { - defaults+: { - custom+: { - pointSize: size, - }, - }, - }, - }, - withTooltip(mode=null, sort='none'):: self { - options+: { - tooltip: { - mode: 'multi', - sort: sort, - }, - }, - }, - withLineInterpolation(value):: self { - fieldConfig+: { - defaults+: { - custom+: { - lineInterpolation: value, - }, - }, - }, - }, - withShowPoints(value):: self { - fieldConfig+: { - defaults+: { - custom+: { - showPoints: value, - }, - }, - }, - }, - withStacking(stack='normal'):: self { - fieldConfig+: { - defaults+: { - custom+: { - stacking: { - mode: stack, - group: 'A', - }, - }, - }, - }, - }, - withGradientMode(mode):: self { - fieldConfig+: { - defaults+: { - custom+: { - gradientMode: mode, - }, - }, - }, - }, - addDataLink(title, url):: self { - - fieldConfig+: { - defaults+: { - links: [ - { - title: title, - url: url, - }, - ], - }, - }, - }, - withFillOpacity(opacity):: self { - fieldConfig+: { - defaults+: { - custom+: { - fillOpacity: opacity, - }, - }, - }, - - }, - - withAxisLabel(label):: self { - fieldConfig+: { - defaults+: { - custom+: { - axisLabel: label, - }, - }, - }, - }, - - withNegativeYByRegex(regex):: self { - fieldConfig+: { - overrides+: [ - { - matcher: { - id: 'byRegexp', - options: '/' + regex + '/', - }, - properties: [ - { - id: 'custom.transform', - value: 'negative-Y', - }, - ], - }, - - ], - }, - - - }, -} diff --git a/docs/node-mixin/mixin-mac.libsonnet b/docs/node-mixin/mixin-mac.libsonnet new file mode 100644 index 0000000000..66f2ec8bbf --- /dev/null +++ b/docs/node-mixin/mixin-mac.libsonnet @@ -0,0 +1,10 @@ +local macoslib = import './lib/macos/main.libsonnet'; +{ + _config:: {}, + _macosLib:: + macoslib.new() + + macoslib.withConfigMixin(self._config), + grafanaDashboards+:: self._macosLib.grafana.dashboards, + prometheusAlerts+:: self._macosLib.prometheus.alerts, + prometheusRules+:: self._macosLib.prometheus.recordingRules, +} diff --git a/docs/node-mixin/mixin.libsonnet b/docs/node-mixin/mixin.libsonnet index b9831f9380..1659faf9d3 100644 --- a/docs/node-mixin/mixin.libsonnet +++ b/docs/node-mixin/mixin.libsonnet @@ -1,4 +1,11 @@ -(import 'config.libsonnet') + -(import 'alerts/alerts.libsonnet') + -(import 'dashboards/dashboards.libsonnet') + -(import 'rules/rules.libsonnet') +local nodelib = import './lib/linux/main.libsonnet'; + +{ + _config:: {}, + _linuxLib:: + nodelib.new() + + nodelib.withConfigMixin(self._config), + grafanaDashboards+:: self._linuxLib.grafana.dashboards, + prometheusAlerts+:: self._linuxLib.prometheus.alerts, + prometheusRules+:: self._linuxLib.prometheus.recordingRules, +} diff --git a/docs/node-mixin/rules.jsonnet b/docs/node-mixin/rules.jsonnet deleted file mode 100644 index dbe13f417b..0000000000 --- a/docs/node-mixin/rules.jsonnet +++ /dev/null @@ -1 +0,0 @@ -std.manifestYamlDoc((import 'mixin.libsonnet').prometheusRules) diff --git a/docs/node-mixin/rules/rules.libsonnet b/docs/node-mixin/rules/rules.libsonnet deleted file mode 100644 index 9c8eb90dd1..0000000000 --- a/docs/node-mixin/rules/rules.libsonnet +++ /dev/null @@ -1,119 +0,0 @@ -{ - prometheusRules+:: { - groups+: [ - { - name: 'node-exporter.rules', - rules: [ - { - // This rule gives the number of CPUs per node. - record: 'instance:node_num_cpu:sum', - expr: ||| - count without (cpu, mode) ( - node_cpu_seconds_total{%(nodeExporterSelector)s,mode="idle"} - ) - ||| % $._config, - }, - { - // CPU utilisation is % CPU without {idle,iowait,steal}. - record: 'instance:node_cpu_utilisation:rate%(rateInterval)s' % $._config, - expr: ||| - 1 - avg without (cpu) ( - sum without (mode) (rate(node_cpu_seconds_total{%(nodeExporterSelector)s, mode=~"idle|iowait|steal"}[%(rateInterval)s])) - ) - ||| % $._config, - }, - { - // This is CPU saturation: 1min avg run queue length / number of CPUs. - // Can go over 1. - // TODO: There are situation where a run queue >1/core is just normal and fine. - // We need to clarify how to read this metric and if its usage is helpful at all. - record: 'instance:node_load1_per_cpu:ratio', - expr: ||| - ( - node_load1{%(nodeExporterSelector)s} - / - instance:node_num_cpu:sum{%(nodeExporterSelector)s} - ) - ||| % $._config, - }, - { - // Memory utilisation (ratio of used memory per instance). - record: 'instance:node_memory_utilisation:ratio', - expr: ||| - 1 - ( - ( - node_memory_MemAvailable_bytes{%(nodeExporterSelector)s} - or - ( - node_memory_Buffers_bytes{%(nodeExporterSelector)s} - + - node_memory_Cached_bytes{%(nodeExporterSelector)s} - + - node_memory_MemFree_bytes{%(nodeExporterSelector)s} - + - node_memory_Slab_bytes{%(nodeExporterSelector)s} - ) - ) - / - node_memory_MemTotal_bytes{%(nodeExporterSelector)s} - ) - ||| % $._config, - }, - { - record: 'instance:node_vmstat_pgmajfault:rate%(rateInterval)s' % $._config, - expr: ||| - rate(node_vmstat_pgmajfault{%(nodeExporterSelector)s}[%(rateInterval)s]) - ||| % $._config, - }, - { - // Disk utilisation (seconds spent, 1 second rate). - record: 'instance_device:node_disk_io_time_seconds:rate%(rateInterval)s' % $._config, - expr: ||| - rate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) - ||| % $._config, - }, - { - // Disk saturation (weighted seconds spent, 1 second rate). - record: 'instance_device:node_disk_io_time_weighted_seconds:rate%(rateInterval)s' % $._config, - expr: ||| - rate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[%(rateInterval)s]) - ||| % $._config, - }, - { - record: 'instance:node_network_receive_bytes_excluding_lo:rate%(rateInterval)s' % $._config, - expr: ||| - sum without (device) ( - rate(node_network_receive_bytes_total{%(nodeExporterSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % $._config, - }, - { - record: 'instance:node_network_transmit_bytes_excluding_lo:rate%(rateInterval)s' % $._config, - expr: ||| - sum without (device) ( - rate(node_network_transmit_bytes_total{%(nodeExporterSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % $._config, - }, - // TODO: Find out if those drops ever happen on modern switched networks. - { - record: 'instance:node_network_receive_drop_excluding_lo:rate%(rateInterval)s' % $._config, - expr: ||| - sum without (device) ( - rate(node_network_receive_drop_total{%(nodeExporterSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % $._config, - }, - { - record: 'instance:node_network_transmit_drop_excluding_lo:rate%(rateInterval)s' % $._config, - expr: ||| - sum without (device) ( - rate(node_network_transmit_drop_total{%(nodeExporterSelector)s, device!="lo"}[%(rateInterval)s]) - ) - ||| % $._config, - }, - ], - }, - ], - }, -} diff --git a/docs/node-observ-lib/.gitignore b/docs/node-observ-lib/.gitignore deleted file mode 100644 index f9bf6ba815..0000000000 --- a/docs/node-observ-lib/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -jsonnetfile.lock.json -vendor diff --git a/docs/node-observ-lib/jsonnetfile.json b/docs/node-observ-lib/jsonnetfile.json deleted file mode 100644 index b12b5dc0af..0000000000 --- a/docs/node-observ-lib/jsonnetfile.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "version": 1, - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" - } - }, - "version": "main" - }, - { - "source": { - "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", - "subdir": "common-lib" - } - }, - "version": "master" - }, - { - "source": { - "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", - "subdir": "logs-lib" - } - }, - "version": "master" - } - ], - "legacyImports": true -} \ No newline at end of file diff --git a/docs/node-observ-lib/jsonnetfile.lock.json b/docs/node-observ-lib/jsonnetfile.lock.json deleted file mode 100644 index c10dd413b5..0000000000 --- a/docs/node-observ-lib/jsonnetfile.lock.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "version": 1, - "dependencies": [ - { - "source": { - "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v10.0.0" - } - }, - "version": "1ce5aec95ce32336fe47c8881361847c475b5254", - "sum": "xdcrJPJlpkq4+5LpGwN4tPAuheNNLXZjE6tDcyvFjr0=" - }, - { - "source": { - "git": { - "remote": "https://github.com/grafana/grafonnet.git", - "subdir": "gen/grafonnet-v11.0.0" - } - }, - "version": "1ce5aec95ce32336fe47c8881361847c475b5254", - "sum": "0BvzR0i4bS4hc2O3xDv6i9m52z7mPrjvqxtcPrGhynA=" - }, - { - "source": { - "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", - "subdir": "common-lib" - } - }, - "version": "2c38760394b41de9b7477e8ab26e9a24ed85b589", - "sum": "b/FOCPjMla8HXFMJNsjP+2/0UpWade7PDBzNARihj1U=" - }, - { - "source": { - "git": { - "remote": "https://github.com/grafana/jsonnet-libs.git", - "subdir": "logs-lib" - } - }, - "version": "2c38760394b41de9b7477e8ab26e9a24ed85b589", - "sum": "05RYR0TOrWza0n8lgF9K7naGY7kM6OTBePsoiJw2TUE=" - }, - { - "source": { - "git": { - "remote": "https://github.com/jsonnet-libs/docsonnet.git", - "subdir": "doc-util" - } - }, - "version": "6ac6c69685b8c29c54515448eaca583da2d88150", - "sum": "BrAL/k23jq+xy9oA7TWIhUx07dsA/QLm3g7ktCwe//U=" - }, - { - "source": { - "git": { - "remote": "https://github.com/jsonnet-libs/xtd.git", - "subdir": "" - } - }, - "version": "63d430b69a95741061c2f7fc9d84b1a778511d9c", - "sum": "qiZi3axUSXCVzKUF83zSAxklwrnitMmrDK4XAfjPMdE=" - }, - { - "source": { - "git": { - "remote": "https://github.com/yugui/jsonnetunit.git", - "subdir": "jsonnetunit" - } - }, - "version": "6927c58cae7624a00f368b977ccc477d4f74071f", - "sum": "9FFqqln65hooRF0l6rjICDtnTxUlmDj34+sKMh4sjPI=" - } - ], - "legacyImports": false -} diff --git a/docs/node-observ-lib/linux/targets.libsonnet b/docs/node-observ-lib/linux/targets.libsonnet deleted file mode 100644 index a12ad388a8..0000000000 --- a/docs/node-observ-lib/linux/targets.libsonnet +++ /dev/null @@ -1,1147 +0,0 @@ -local g = import '../g.libsonnet'; -local prometheusQuery = g.query.prometheus; -local lokiQuery = g.query.loki; - -{ - new(this): { - local variables = this.grafana.variables, - local config = this.config, - local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', - local lokiDatasource = '${' + variables.datasources.loki.name + '}', - uptimeQuery:: 'node_boot_time_seconds', - - reboot: - prometheusQuery.new( - prometheusDatasource, - self.uptimeQuery + '{%(queriesSelector)s}*1000 > $__from < $__to' % variables, - ), - - serviceFailed: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="init.scope"} |= "code=exited, status=1/FAILURE"' % variables - ), - // those events should be rare, so can be shown as annotations - criticalEvents: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, transport="kernel", level="emerg"}' % variables - ), - memoryOOMkiller: - prometheusQuery.new( - prometheusDatasource, - 'increase(node_vmstat_oom_kill{%(queriesSelector)s}[$__interval:] offset -$__interval)' % variables, - ) - + prometheusQuery.withLegendFormat('OOM killer invocations'), - - kernelUpdate: - prometheusQuery.new( - prometheusDatasource, - expr=||| - changes( - sum by (%(instanceLabels)s) ( - group by (%(instanceLabels)s,release) (node_uname_info{%(queriesSelector)s}) - ) - [$__interval:1m] offset -$__interval) > 1 - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - - // new interactive session in logs: - sessionOpened: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="systemd-logind.service"}|= "New session"' % variables - ), - sessionClosed: - lokiQuery.new( - lokiDatasource, - '{%(queriesSelector)s, unit="systemd-logind.service"} |= "logged out"' % variables - ), - - alertsCritical: - prometheusQuery.new( - prometheusDatasource, - 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="critical"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - alertsWarning: - prometheusQuery.new( - prometheusDatasource, - 'count by (%(instanceLabels)s) (max_over_time(ALERTS{%(queriesSelector)s, alertstate="firing", severity="warning"}[1m])) * group by (%(instanceLabels)s) (node_uname_info{%(queriesSelector)s})' % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - - uptime: - prometheusQuery.new( - prometheusDatasource, - 'time() - ' + self.uptimeQuery + '{%(queriesSelector)s}' % variables - ), - cpuCount: - prometheusQuery.new( - prometheusDatasource, - 'count without (cpu) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"})' % variables - ) - + prometheusQuery.withLegendFormat('Cores'), - cpuUsage: - prometheusQuery.new( - prometheusDatasource, - ||| - (((count by (%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s))) - - - avg by (%(instanceLabels)s) (sum by (%(instanceLabels)s, mode)(irate(node_cpu_seconds_total{mode='idle',%(queriesSelector)s}[$__rate_interval])))) * 100) - / - count by(%(instanceLabels)s) (count(node_cpu_seconds_total{%(queriesSelector)s}) by (cpu, %(instanceLabels)s)) - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ) - + prometheusQuery.withLegendFormat('CPU usage'), - cpuUsagePerCore: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - (1 - sum without (mode) (rate(node_cpu_seconds_total{%(queriesSelector)s, mode=~"idle|iowait|steal"}[$__rate_interval]))) - / ignoring(cpu) group_left - count without (cpu, mode) (node_cpu_seconds_total{%(queriesSelector)s, mode="idle"}) - ) * 100 - ||| % variables, - ) - + prometheusQuery.withLegendFormat('CPU {{cpu}}'), - cpuUsageByMode: - prometheusQuery.new( - prometheusDatasource, - ||| - sum by(%(instanceLabels)s, mode) (irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval])) - / on(%(instanceLabels)s) - group_left sum by (%(instanceLabels)s)((irate(node_cpu_seconds_total{%(queriesSelector)s}[$__rate_interval]))) * 100 - ||| % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ) - + prometheusQuery.withLegendFormat('{{ mode }}'), - memoryTotalBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemTotal_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory total'), - memoryFreeBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemFree_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory free'), - memoryAvailableBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_MemAvailable_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory available'), - memoryCachedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Cached_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory cached'), - memoryBuffersBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Buffers_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory buffers'), - memoryUsedBytes: - prometheusQuery.new( - prometheusDatasource, - ||| - ( - node_memory_MemTotal_bytes{%(queriesSelector)s} - - - node_memory_MemFree_bytes{%(queriesSelector)s} - - - node_memory_Buffers_bytes{%(queriesSelector)s} - - - node_memory_Cached_bytes{%(queriesSelector)s} - ) - ||| % variables - ) - + prometheusQuery.withLegendFormat('Memory used'), - memoryUsagePercent: - prometheusQuery.new( - prometheusDatasource, - ||| - 100 - - ( - avg by (%(instanceLabels)s) (node_memory_MemAvailable_bytes{%(queriesSelector)s}) / - avg by (%(instanceLabels)s) (node_memory_MemTotal_bytes{%(queriesSelector)s}) - * 100 - ) - ||| - % variables { instanceLabels: std.join(',', this.config.instanceLabels) }, - ), - memorySwapTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SwapTotal_bytes{%(queriesSelector)s}' % variables - ), - memoryPagesIn: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgpgin{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Page-In'), - memoryPagesOut: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgpgout{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Page-Out'), - - memoryPagesSwapIn: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pswpin{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Pages swapped in'), - memoryPagesSwapOut: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pswpout{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Pages swapped out'), - - memoryPageMajorFaults: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Major page fault operations'), - memoryPageMinorFaults: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_vmstat_pgfault{%(queriesSelector)s}[$__rate_interval]) - - - irate(node_vmstat_pgmajfault{%(queriesSelector)s}[$__rate_interval]) - ||| % variables, - ) - + prometheusQuery.withLegendFormat('Minor page fault operations'), - - memoryInactiveBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive'), - memoryActiveBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active'), - - memoryInactiveFile: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_file_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive_file'), - - memoryInactiveAnon: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Inactive_anon_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Inactive_anon'), - - memoryActiveFile: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_file_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active_file'), - - memoryActiveAnon: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Active_anon_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Active_anon'), - - memoryCommitedAs: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Committed_AS_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Commited_AS'), - memoryCommitedLimit: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_CommitLimit_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('CommitLimit'), - - memoryMappedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Mapped_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Mapped'), - memoryShmemBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Shmem_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Shmem'), - memoryShmemHugePagesBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_ShmemHugePages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('ShmemHugePages'), - memoryShmemPmdMappedBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_ShmemPmdMapped_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('ShmemPmdMapped'), - memoryWriteback: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Writeback_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Writeback'), - memoryWritebackTmp: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_WritebackTmp_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('WritebackTmp'), - memoryDirty: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Dirty_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Dirty'), - - memoryVmallocChunk: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocChunk_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocChunk'), - memoryVmallocTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocTotal_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocTotal'), - memoryVmallocUsed: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_VmallocUsed_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('VmallocUsed'), - memorySlabSUnreclaim: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SUnreclaim_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('SUnreclaim'), - memorySlabSReclaimable: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_SReclaimable_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('SReclaimable'), - - memoryAnonHugePages: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_AnonHugePages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('AnonHugePages'), - memoryAnonPages: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_AnonPages_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('AnonPages'), - - memoryHugePages_Free: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Free{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Free'), - memoryHugePages_Rsvd: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Rsvd{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Rsvd'), - memoryHugePages_Surp: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Surp{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('HugePages_Surp'), - memoryHugePagesTotalSize: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_HugePages_Total{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Huge pages total size'), - memoryHugePagesSize: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Hugepagesize_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Huge page size'), - memoryDirectMap1G: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap1G_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap1G'), - memoryDirectMap2M: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap2M_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap2M'), - memoryDirectMap4k: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_DirectMap4k_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('DirectMap4k'), - memoryBounce: - prometheusQuery.new( - prometheusDatasource, - 'node_memory_Bounce_bytes{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Bounce'), - - diskTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ), - diskTotalRoot: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_size_bytes{%(queriesSelector)s, mountpoint="/", fstype!="rootfs"}' % variables, - ), - diskUsageRoot: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_avail_bytes{%(queriesSelector)s, mountpoint="/",fstype!="rootfs"}' % variables - ), - diskUsageRootPercent: - prometheusQuery.new( - prometheusDatasource, - '100 - node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}/node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", %(queriesSelector)s}*100' % variables - ), - diskFree: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} free'), - diskUsagePercent: - prometheusQuery.new( - prometheusDatasource, - '100 - node_filesystem_avail_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}/node_filesystem_size_bytes{%(fsSelector)s, %(fsMountpointSelector)s, %(queriesSelector)s}*100' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} used, %'), - - diskInodesFree: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_files_free{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector }, - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes free'), - diskInodesTotal: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_files{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) + prometheusQuery.withLegendFormat('{{ mountpoint }} inodes total'), - diskReadOnly: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_readonly{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} read-only'), - diskDeviceError: - prometheusQuery.new( - prometheusDatasource, - 'node_filesystem_device_error{%(queriesSelector)s, %(fsSelector)s, %(fsMountpointSelector)s}' % variables { fsMountpointSelector: config.fsMountpointSelector, fsSelector: config.fsSelector } - ) - + prometheusQuery.withLegendFormat('{{ mountpoint }} device error'), - // descriptors - processMaxFds: - prometheusQuery.new( - prometheusDatasource, - 'process_max_fds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Maximum open file descriptors'), - processOpenFds: - prometheusQuery.new( - prometheusDatasource, - 'process_open_fds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Open file descriptors'), - - // disk(device) - diskIOreadBytesPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_read_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} read'), - diskIOwriteBytesPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_written_bytes_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} written'), - diskIOutilization: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_io_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} io util'), - diskAvgQueueSize: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_disk_io_time_weighted_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval])' % variables { diskDeviceSelector: config.diskDeviceSelector }, - ) - + prometheusQuery.withLegendFormat('{{ device }} avg queue'), - - diskIOWaitWriteTime: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_write_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} avg write time'), - diskIOWaitReadTime: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_read_time_seconds_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - / - irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} avg read time'), - diskIOReads: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_reads_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} reads'), - diskIOWrites: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_disk_writes_completed_total{%(queriesSelector)s, %(diskDeviceSelector)s}[$__rate_interval]) - ||| % variables { diskDeviceSelector: config.diskDeviceSelector } - ) - + prometheusQuery.withLegendFormat('{{ device }} writes'), - - unameInfo: - prometheusQuery.new( - prometheusDatasource, - 'node_uname_info{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withFormat('table'), - osInfo: - prometheusQuery.new( - prometheusDatasource, - ||| - node_os_info{%(queriesSelector)s} - ||| % variables, - ) - + prometheusQuery.withFormat('table'), - osInfoCombined: - prometheusQuery.new( - prometheusDatasource, - ||| - node_uname_info{%(queriesSelector)s} - * on (%(groupLabels)s,%(instanceLabels)s) - group_left(pretty_name) - node_os_info{%(queriesSelector)s} - ||| % variables { - instanceLabels: std.join(',', this.config.instanceLabels), - groupLabels: std.join(',', this.config.groupLabels), - }, - ) - + prometheusQuery.withFormat('table'), - - osTimezone: //timezone label - prometheusQuery.new( - prometheusDatasource, - 'node_time_zone_offset_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withFormat('table'), - - systemLoad1: - prometheusQuery.new( - prometheusDatasource, - 'node_load1{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('1m'), - systemLoad5: - prometheusQuery.new( - prometheusDatasource, - 'node_load5{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('5m'), - systemLoad15: - prometheusQuery.new( - prometheusDatasource, - 'node_load15{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('15m'), - - systemContextSwitches: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_context_switches_total{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Context switches'), - - systemInterrupts: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_intr_total{%(queriesSelector)s}[$__rate_interval])' % variables, - ) - + prometheusQuery.withLegendFormat('Interrupts'), - - timeNtpStatus: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_sync_status{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('NTP status'), - - timeOffset: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_offset_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Time offset'), - - timeEstimatedError: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_estimated_error_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Estimated error in seconds'), - timeMaxError: - prometheusQuery.new( - prometheusDatasource, - 'node_timex_maxerror_seconds{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('Maximum error in seconds'), - - networkUp: - prometheusQuery.new( - prometheusDatasource, - 'node_network_up{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('{{device}}'), - networkCarrier: - prometheusQuery.new( - prometheusDatasource, - 'node_network_carrier{%(queriesSelector)s}' % variables, - ) - + prometheusQuery.withLegendFormat('{{device}}'), - networkArpEntries: - prometheusQuery.new( - prometheusDatasource, - 'node_arp_entries{%(queriesSelector)s}' % variables, - ), - networkMtuBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_network_mtu_bytes{%(queriesSelector)s}' % variables, - ), - networkSpeedBitsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'node_network_speed_bytes{%(queriesSelector)s} * 8' % variables, - ), - networkTransmitQueueLength: - prometheusQuery.new( - prometheusDatasource, - 'node_network_transmit_queue_length{%(queriesSelector)s}' % variables, - ), - networkInfo: - prometheusQuery.new( - prometheusDatasource, - 'node_network_info{%(queriesSelector)s}' % variables, - ), - - networkOutBitPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - networkInBitPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutBitPerSecFiltered: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_network_transmit_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 - # only show interfaces that had traffic change at least once during selected dashboard interval: - and - increase( - node_network_transmit_bytes_total{%(queriesSelector)s}[$__range] - ) > 0 - ||| % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - networkInBitPerSecFiltered: - prometheusQuery.new( - prometheusDatasource, - ||| - irate(node_network_receive_bytes_total{%(queriesSelector)s}[$__rate_interval])*8 - # only show interfaces that had traffic change at least once during selected dashboard interval: - and - increase( - node_network_receive_bytes_total{%(queriesSelector)s}[$__range] - ) > 0 - ||| % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - - - networkOutErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} errors transmitted'), - networkInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_errs_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} errors received'), - networkOutDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted dropped'), - networkInDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_drop_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received dropped'), - - networkInPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_packets_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkInMulticastPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkOutMulticastPacketsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_multicast_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - networkFifoInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkFifoOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_fifo_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkCompressedInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_receive_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} received'), - networkCompressedOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_network_transmit_compressed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('{{ device }} transmitted'), - - networkNFConntrackEntries: - prometheusQuery.new( - prometheusDatasource, - 'node_nf_conntrack_entries{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('NF conntrack entries'), - networkNFConntrackLimits: - prometheusQuery.new( - prometheusDatasource, - 'node_nf_conntrack_entries_limit{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('NF conntrack limits'), - - networkSoftnetProcessedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_processed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} processed'), - networkSoftnetDroppedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_dropped_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} dropped'), - networkSoftnetSqueezedPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_softnet_times_squeezed_total{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('CPU {{ cpu }} out of quota'), - - networkSocketsUsed: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_sockets_used{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 sockets in use'), - networkSocketsTCPAllocated: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_alloc{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Allocated'), - networkSocketsTCPIPv6: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 in use'), - networkSocketsTCPIPv4: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 in use'), - networkSocketsTCPOrphans: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_orphan{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Orphan sockets'), - networkSocketsTCPTimeWait: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_tw{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Time wait'), - - networkSocketsUDPLiteInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDPLITE_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 UDPLITE in use'), - networkSocketsUDPInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 UDP in use'), - networkSocketsUDPLiteIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDPLITE6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 UDPLITE in use'), - networkSocketsUDPIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 UDP in use'), - - networkSocketsFragInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_FRAG_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 Frag sockets in use'), - networkSocketsFragIPv6InUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_FRAG6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 Frag sockets in use'), - networkSocketsRawInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_RAW_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv4 Raw sockets in use'), - networkSocketsIPv6RawInUse: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_RAW6_inuse{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('IPv6 Raw sockets in use'), - - networkSocketsTCPMemoryPages: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_mem{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory pages allocated for TCP sockets'), - networkSocketsUDPMemoryPages: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_mem{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory pages allocated for UDP sockets'), - - networkSocketsTCPMemoryBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_TCP_mem_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory bytes allocated for TCP sockets'), - networkSocketsUDPMemoryBytes: - prometheusQuery.new( - prometheusDatasource, - 'node_sockstat_UDP_mem_bytes{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('Memory bytes allocated for UDP sockets'), - - networkNetstatIPInOctetsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_IpExt_InOctets{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('Octets received'), - networkNetstatIPOutOctetsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_IpExt_OutOctets{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('Octets transmitted'), - - networkNetstatTCPInSegmentsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_InSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP received'), - networkNetstatTCPOutSegmentsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_OutSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP transmitted'), - - networkNetstatTCPOverflowPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_ListenOverflows{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP overflow'), - - networkNetstatTCPListenDropsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_ListenDrops{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP ListenDrops - SYNs to LISTEN sockets ignored'), - - networkNetstatTCPRetransPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_TcpExt_TCPSynRetrans{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP SYN rentransmits'), - - networkNetstatTCPRetransSegPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_RetransSegs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP retransmitted segments, containing one or more previously transmitted octets'), - networkNetstatTCPInWithErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_InErrs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP received with errors'), - - networkNetstatTCPOutWithRstPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Tcp_OutRsts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('TCP segments sent with RST flag'), - - networkNetstatIPInUDPPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP received'), - - networkNetstatIPOutUDPPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP transmitted'), - - networkNetstatIPInUDP6PerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_InDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 received'), - - networkNetstatIPOutUDP6PerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_OutDatagrams{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 transmitted'), - - //UDP errors - networkNetstatUDPLiteInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_UdpLite_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDPLite InErrors'), - - networkNetstatUDPInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP InErrors'), - networkNetstatUDP6InErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 InErrors'), - networkNetstatUDPNoPortsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP NoPorts'), - networkNetstatUDP6NoPortsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_NoPorts{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 NoPorts'), - networkNetstatUDPRcvBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP receive buffer errors'), - networkNetstatUDP6RcvBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_RcvbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 receive buffer errors'), - networkNetstatUDPSndBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP transmit buffer errors'), - networkNetstatUDP6SndBufErrsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Udp6_SndbufErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('UDP6 transmit buffer errors'), - - //ICMP - networkNetstatICMPInPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP received'), - networkNetstatICMPOutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP transmitted'), - networkNetstatICMP6InPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_InMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 received'), - networkNetstatICMP6OutPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_OutMsgs{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 transmitted'), - - networkNetstatICMPInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 errors'), - networkNetstatICM6PInErrorsPerSec: - prometheusQuery.new( - prometheusDatasource, - 'irate(node_netstat_Icmp6_InErrors{%(queriesSelector)s}[$__rate_interval])' % variables - ) - + prometheusQuery.withLegendFormat('ICMP6 errors'), - - hardwareTemperature: - prometheusQuery.new( - prometheusDatasource, - 'node_hwmon_temp_celsius{%(queriesSelector)s}' % variables - ) - + prometheusQuery.withLegendFormat('{{chip}}/{{sensor}}'), - - }, -} diff --git a/docs/node-observ-lib/macos/config.libsonnet b/docs/node-observ-lib/macos/config.libsonnet deleted file mode 100644 index 49ea6ecc4a..0000000000 --- a/docs/node-observ-lib/macos/config.libsonnet +++ /dev/null @@ -1,59 +0,0 @@ -{ - - // any modular observability library should inlcude as inputs: - // 'dashboardNamePrefix' - Use as prefix for all Dashboards and (optional) rule groups - // 'filteringSelector' - Static selector to apply to ALL dashboard variables of type query, panel queries, alerts and recording rules. - // 'groupLabels' - one or more labels that can be used to identify 'group' of instances. In simple cases, can be 'job' or 'cluster'. - // 'instanceLabels' - one or more labels that can be used to identify single entity of instances. In simple cases, can be 'instance' or 'pod'. - // 'uid' - UID to prefix all dashboards original uids - - filteringSelector: 'job="integrations/macos-node"', - groupLabels: ['job'], - instanceLabels: ['instance'], - dashboardNamePrefix: 'MacOS / ', - uid: 'darwin', - - dashboardTags: [self.uid], - - // Select the fstype for filesystem-related queries. If left - // empty, all filesystems are selected. If you have unusual - // filesystem you don't want to include in dashboards and - // alerting, you can exclude them here, e.g. 'fstype!="tmpfs"'. - fsSelector: 'fstype!=""', - - // Select the mountpoint for filesystem-related queries. If left - // empty, all mountpoints are selected. For example if you have a - // special purpose tmpfs instance that has a fixed size and will - // always be 100% full, but you still want alerts and dashboards for - // other tmpfs instances, you can exclude those by mountpoint prefix - // like so: 'mountpoint!~"/var/lib/foo.*"'. - fsMountpointSelector: 'mountpoint!=""', - - // Select the device for disk-related queries. If left empty, all - // devices are selected. If you have unusual devices you don't - // want to include in dashboards and alerting, you can exclude - // them here, e.g. 'device!="tmpfs"'. - diskDeviceSelector: 'device!=""', - dashboardPeriod: 'now-1h', - dashboardTimezone: 'default', - dashboardRefresh: '1m', - - // Alerts to keep from node-observ-lib: - alertsMacKeep: [ - 'NodeFilesystemAlmostOutOfSpace', - 'NodeNetworkReceiveErrs', - 'NodeNetworkTransmitErrs', - 'NodeTextFileCollectorScrapeError', - 'NodeFilesystemFilesFillingUp', - 'NodeFilesystemAlmostOutOfFiles', - ], - // logs lib related - enableLokiLogs: true, - extraLogLabels: ['filename', 'sender'], - logsVolumeGroupBy: 'sender', - showLogsVolume: true, - logsFilteringSelector: self.filteringSelector, - logsExtraFilters: '', - - -} diff --git a/docs/node-observ-lib/mixin-mac.libsonnet b/docs/node-observ-lib/mixin-mac.libsonnet deleted file mode 100644 index d0b56adf12..0000000000 --- a/docs/node-observ-lib/mixin-mac.libsonnet +++ /dev/null @@ -1,8 +0,0 @@ -local macoslib = import './macos/main.libsonnet'; -local macos = macoslib.new(); - -{ - grafanaDashboards+:: macos.grafana.dashboards, - prometheusAlerts+:: macos.prometheus.alerts, - prometheusRules+:: macos.prometheus.recordingRules, -} diff --git a/docs/node-observ-lib/mixin.libsonnet b/docs/node-observ-lib/mixin.libsonnet deleted file mode 100644 index 284f307dd4..0000000000 --- a/docs/node-observ-lib/mixin.libsonnet +++ /dev/null @@ -1,16 +0,0 @@ -local nodelib = import './linux/main.libsonnet'; -local linux = - nodelib.new() - + nodelib.withConfigMixin({ - filteringSelector: 'job=~".*node.*"', - groupLabels: ['job'], - instanceLabels: ['instance'], - dashboardNamePrefix: 'Node exporter / ', - dashboardTags: ['node-exporter-mixin'], - uid: 'node', - }); -{ - grafanaDashboards+:: linux.grafana.dashboards, - prometheusAlerts+:: linux.prometheus.alerts, - prometheusRules+:: linux.prometheus.recordingRules, -} From 1981575707223d54bd210d5dd7988089a46dabab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:07:31 +0100 Subject: [PATCH 025/151] build(deps): bump github.com/alecthomas/kingpin/v2 from 2.3.2 to 2.4.0 (#2865) Bumps [github.com/alecthomas/kingpin/v2](https://github.com/alecthomas/kingpin) from 2.3.2 to 2.4.0. - [Release notes](https://github.com/alecthomas/kingpin/releases) - [Commits](https://github.com/alecthomas/kingpin/compare/v2.3.2...v2.4.0) --- updated-dependencies: - dependency-name: github.com/alecthomas/kingpin/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b89cfbb448..68aed77a93 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/prometheus/node_exporter go 1.20 require ( - github.com/alecthomas/kingpin/v2 v2.3.2 + github.com/alecthomas/kingpin/v2 v2.4.0 github.com/beevik/ntp v1.3.0 github.com/coreos/go-systemd/v22 v22.5.0 github.com/dennwc/btrfs v0.0.0-20230312211831-a1f570bd01a1 diff --git a/go.sum b/go.sum index 8d337abc77..1186b77ed6 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/alecthomas/kingpin/v2 v2.3.2 h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWrKI6ocU= -github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= +github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/beevik/ntp v1.3.0 h1:/w5VhpW5BGKS37vFm1p9oVk/t4HnnkKZAZIubHM6F7Q= From bad138c3ffdca257b296c01f89a247ea9723eac6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:08:09 +0100 Subject: [PATCH 026/151] build(deps): bump howett.net/plist from 1.0.0 to 1.0.1 (#2862) Bumps [howett.net/plist](https://github.com/DHowett/go-plist) from 1.0.0 to 1.0.1. - [Commits](https://github.com/DHowett/go-plist/compare/v1.0.0...v1.0.1) --- updated-dependencies: - dependency-name: howett.net/plist dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 68aed77a93..f018ddaa7e 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/sys v0.13.0 - howett.net/plist v1.0.0 + howett.net/plist v1.0.1 ) require ( diff --git a/go.sum b/go.sum index 1186b77ed6..fe90d30044 100644 --- a/go.sum +++ b/go.sum @@ -179,5 +179,5 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM= -howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= +howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= +howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= From 661f735fa1c31da6c2596865f0c8d9b8e31a19ac Mon Sep 17 00:00:00 2001 From: Gavin Lam Date: Sun, 3 Dec 2023 11:10:59 -0500 Subject: [PATCH 027/151] Add new collector and metrics for XFRM (#2544) (#2866) Signed-off-by: Gavin Lam Signed-off-by: Vitaly Zhuravlev --- README.md | 1 + collector/fixtures/e2e-64k-page-output.txt | 85 ++++++++ collector/fixtures/e2e-output.txt | 85 ++++++++ collector/fixtures/proc/net/xfrm_stat | 28 +++ collector/xfrm.go | 228 +++++++++++++++++++++ collector/xfrm_test.go | 151 ++++++++++++++ end-to-end-test.sh | 1 + 7 files changed, 579 insertions(+) create mode 100644 collector/fixtures/proc/net/xfrm_stat create mode 100644 collector/xfrm.go create mode 100644 collector/xfrm_test.go diff --git a/README.md b/README.md index b656be4738..87b4e4ba01 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,7 @@ sysctl | Expose sysctl values from `/proc/sys`. Use `--collector.sysctl.include( systemd | Exposes service and system status from [systemd](http://www.freedesktop.org/wiki/Software/systemd/). | Linux tcpstat | Exposes TCP connection status information from `/proc/net/tcp` and `/proc/net/tcp6`. (Warning: the current version has potential performance issues in high load situations.) | Linux wifi | Exposes WiFi device and station statistics. | Linux +xfrm | Exposes statistics from `/proc/net/xfrm_stat` | Linux zoneinfo | Exposes NUMA memory zone metrics. | Linux ### Deprecated diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 866db45f6f..fb6c4b5048 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2944,6 +2944,7 @@ node_scrape_collector_success{collector="time"} 1 node_scrape_collector_success{collector="udp_queues"} 1 node_scrape_collector_success{collector="vmstat"} 1 node_scrape_collector_success{collector="wifi"} 1 +node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 node_scrape_collector_success{collector="zfs"} 1 node_scrape_collector_success{collector="zoneinfo"} 1 @@ -3265,6 +3266,90 @@ node_wifi_station_transmit_failed_total{device="wlan0",mac_address="aa:bb:cc:dd: # TYPE node_wifi_station_transmit_retries_total counter node_wifi_station_transmit_retries_total{device="wlan0",mac_address="01:02:03:04:05:06"} 20 node_wifi_station_transmit_retries_total{device="wlan0",mac_address="aa:bb:cc:dd:ee:ff"} 10 +# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use +# TYPE node_xfrm_acquire_error_packets_total counter +node_xfrm_acquire_error_packets_total 24532 +# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed +# TYPE node_xfrm_fwd_hdr_error_packets_total counter +node_xfrm_fwd_hdr_error_packets_total 6654 +# HELP node_xfrm_in_buffer_error_packets_total No buffer is left +# TYPE node_xfrm_in_buffer_error_packets_total counter +node_xfrm_in_buffer_error_packets_total 2 +# HELP node_xfrm_in_error_packets_total All errors not matched by other +# TYPE node_xfrm_in_error_packets_total counter +node_xfrm_in_error_packets_total 1 +# HELP node_xfrm_in_hdr_error_packets_total Header error +# TYPE node_xfrm_in_hdr_error_packets_total counter +node_xfrm_in_hdr_error_packets_total 4 +# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found +# TYPE node_xfrm_in_no_pols_packets_total counter +node_xfrm_in_no_pols_packets_total 65432 +# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong +# TYPE node_xfrm_in_no_states_packets_total counter +node_xfrm_in_no_states_packets_total 3 +# HELP node_xfrm_in_pol_block_packets_total Policy discards +# TYPE node_xfrm_in_pol_block_packets_total counter +node_xfrm_in_pol_block_packets_total 100 +# HELP node_xfrm_in_pol_error_packets_total Policy error +# TYPE node_xfrm_in_pol_error_packets_total counter +node_xfrm_in_pol_error_packets_total 10000 +# HELP node_xfrm_in_state_expired_packets_total State is expired +# TYPE node_xfrm_in_state_expired_packets_total counter +node_xfrm_in_state_expired_packets_total 7 +# HELP node_xfrm_in_state_invalid_packets_total State is invalid +# TYPE node_xfrm_in_state_invalid_packets_total counter +node_xfrm_in_state_invalid_packets_total 55555 +# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch +# TYPE node_xfrm_in_state_mismatch_packets_total counter +node_xfrm_in_state_mismatch_packets_total 23451 +# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error +# TYPE node_xfrm_in_state_mode_error_packets_total counter +node_xfrm_in_state_mode_error_packets_total 100 +# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong +# TYPE node_xfrm_in_state_proto_error_packets_total counter +node_xfrm_in_state_proto_error_packets_total 40 +# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window +# TYPE node_xfrm_in_state_seq_error_packets_total counter +node_xfrm_in_state_seq_error_packets_total 6000 +# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong +# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter +node_xfrm_in_tmpl_mismatch_packets_total 51 +# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error +# TYPE node_xfrm_out_bundle_check_error_packets_total counter +node_xfrm_out_bundle_check_error_packets_total 555 +# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error +# TYPE node_xfrm_out_bundle_gen_error_packets_total counter +node_xfrm_out_bundle_gen_error_packets_total 43321 +# HELP node_xfrm_out_error_packets_total All errors which is not matched others +# TYPE node_xfrm_out_error_packets_total counter +node_xfrm_out_error_packets_total 1e+06 +# HELP node_xfrm_out_no_states_packets_total No state is found +# TYPE node_xfrm_out_no_states_packets_total counter +node_xfrm_out_no_states_packets_total 869 +# HELP node_xfrm_out_pol_block_packets_total Policy discards +# TYPE node_xfrm_out_pol_block_packets_total counter +node_xfrm_out_pol_block_packets_total 43456 +# HELP node_xfrm_out_pol_dead_packets_total Policy is dead +# TYPE node_xfrm_out_pol_dead_packets_total counter +node_xfrm_out_pol_dead_packets_total 7656 +# HELP node_xfrm_out_pol_error_packets_total Policy error +# TYPE node_xfrm_out_pol_error_packets_total counter +node_xfrm_out_pol_error_packets_total 1454 +# HELP node_xfrm_out_state_expired_packets_total State is expired +# TYPE node_xfrm_out_state_expired_packets_total counter +node_xfrm_out_state_expired_packets_total 565 +# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired +# TYPE node_xfrm_out_state_invalid_packets_total counter +node_xfrm_out_state_invalid_packets_total 28765 +# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error +# TYPE node_xfrm_out_state_mode_error_packets_total counter +node_xfrm_out_state_mode_error_packets_total 8 +# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error +# TYPE node_xfrm_out_state_proto_error_packets_total counter +node_xfrm_out_state_proto_error_packets_total 4542 +# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow +# TYPE node_xfrm_out_state_seq_error_packets_total counter +node_xfrm_out_state_seq_error_packets_total 543 # HELP node_xfs_allocation_btree_compares_total Number of allocation B-tree compares for a filesystem. # TYPE node_xfs_allocation_btree_compares_total counter node_xfs_allocation_btree_compares_total{device="sda1"} 0 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 0c5356d4fb..8add1b8fff 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2966,6 +2966,7 @@ node_scrape_collector_success{collector="time"} 1 node_scrape_collector_success{collector="udp_queues"} 1 node_scrape_collector_success{collector="vmstat"} 1 node_scrape_collector_success{collector="wifi"} 1 +node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 node_scrape_collector_success{collector="zfs"} 1 node_scrape_collector_success{collector="zoneinfo"} 1 @@ -3287,6 +3288,90 @@ node_wifi_station_transmit_failed_total{device="wlan0",mac_address="aa:bb:cc:dd: # TYPE node_wifi_station_transmit_retries_total counter node_wifi_station_transmit_retries_total{device="wlan0",mac_address="01:02:03:04:05:06"} 20 node_wifi_station_transmit_retries_total{device="wlan0",mac_address="aa:bb:cc:dd:ee:ff"} 10 +# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use +# TYPE node_xfrm_acquire_error_packets_total counter +node_xfrm_acquire_error_packets_total 24532 +# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed +# TYPE node_xfrm_fwd_hdr_error_packets_total counter +node_xfrm_fwd_hdr_error_packets_total 6654 +# HELP node_xfrm_in_buffer_error_packets_total No buffer is left +# TYPE node_xfrm_in_buffer_error_packets_total counter +node_xfrm_in_buffer_error_packets_total 2 +# HELP node_xfrm_in_error_packets_total All errors not matched by other +# TYPE node_xfrm_in_error_packets_total counter +node_xfrm_in_error_packets_total 1 +# HELP node_xfrm_in_hdr_error_packets_total Header error +# TYPE node_xfrm_in_hdr_error_packets_total counter +node_xfrm_in_hdr_error_packets_total 4 +# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found +# TYPE node_xfrm_in_no_pols_packets_total counter +node_xfrm_in_no_pols_packets_total 65432 +# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong +# TYPE node_xfrm_in_no_states_packets_total counter +node_xfrm_in_no_states_packets_total 3 +# HELP node_xfrm_in_pol_block_packets_total Policy discards +# TYPE node_xfrm_in_pol_block_packets_total counter +node_xfrm_in_pol_block_packets_total 100 +# HELP node_xfrm_in_pol_error_packets_total Policy error +# TYPE node_xfrm_in_pol_error_packets_total counter +node_xfrm_in_pol_error_packets_total 10000 +# HELP node_xfrm_in_state_expired_packets_total State is expired +# TYPE node_xfrm_in_state_expired_packets_total counter +node_xfrm_in_state_expired_packets_total 7 +# HELP node_xfrm_in_state_invalid_packets_total State is invalid +# TYPE node_xfrm_in_state_invalid_packets_total counter +node_xfrm_in_state_invalid_packets_total 55555 +# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch +# TYPE node_xfrm_in_state_mismatch_packets_total counter +node_xfrm_in_state_mismatch_packets_total 23451 +# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error +# TYPE node_xfrm_in_state_mode_error_packets_total counter +node_xfrm_in_state_mode_error_packets_total 100 +# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong +# TYPE node_xfrm_in_state_proto_error_packets_total counter +node_xfrm_in_state_proto_error_packets_total 40 +# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window +# TYPE node_xfrm_in_state_seq_error_packets_total counter +node_xfrm_in_state_seq_error_packets_total 6000 +# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong +# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter +node_xfrm_in_tmpl_mismatch_packets_total 51 +# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error +# TYPE node_xfrm_out_bundle_check_error_packets_total counter +node_xfrm_out_bundle_check_error_packets_total 555 +# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error +# TYPE node_xfrm_out_bundle_gen_error_packets_total counter +node_xfrm_out_bundle_gen_error_packets_total 43321 +# HELP node_xfrm_out_error_packets_total All errors which is not matched others +# TYPE node_xfrm_out_error_packets_total counter +node_xfrm_out_error_packets_total 1e+06 +# HELP node_xfrm_out_no_states_packets_total No state is found +# TYPE node_xfrm_out_no_states_packets_total counter +node_xfrm_out_no_states_packets_total 869 +# HELP node_xfrm_out_pol_block_packets_total Policy discards +# TYPE node_xfrm_out_pol_block_packets_total counter +node_xfrm_out_pol_block_packets_total 43456 +# HELP node_xfrm_out_pol_dead_packets_total Policy is dead +# TYPE node_xfrm_out_pol_dead_packets_total counter +node_xfrm_out_pol_dead_packets_total 7656 +# HELP node_xfrm_out_pol_error_packets_total Policy error +# TYPE node_xfrm_out_pol_error_packets_total counter +node_xfrm_out_pol_error_packets_total 1454 +# HELP node_xfrm_out_state_expired_packets_total State is expired +# TYPE node_xfrm_out_state_expired_packets_total counter +node_xfrm_out_state_expired_packets_total 565 +# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired +# TYPE node_xfrm_out_state_invalid_packets_total counter +node_xfrm_out_state_invalid_packets_total 28765 +# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error +# TYPE node_xfrm_out_state_mode_error_packets_total counter +node_xfrm_out_state_mode_error_packets_total 8 +# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error +# TYPE node_xfrm_out_state_proto_error_packets_total counter +node_xfrm_out_state_proto_error_packets_total 4542 +# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow +# TYPE node_xfrm_out_state_seq_error_packets_total counter +node_xfrm_out_state_seq_error_packets_total 543 # HELP node_xfs_allocation_btree_compares_total Number of allocation B-tree compares for a filesystem. # TYPE node_xfs_allocation_btree_compares_total counter node_xfs_allocation_btree_compares_total{device="sda1"} 0 diff --git a/collector/fixtures/proc/net/xfrm_stat b/collector/fixtures/proc/net/xfrm_stat new file mode 100644 index 0000000000..970c3e4ded --- /dev/null +++ b/collector/fixtures/proc/net/xfrm_stat @@ -0,0 +1,28 @@ +XfrmInError 1 +XfrmInBufferError 2 +XfrmInHdrError 4 +XfrmInNoStates 3 +XfrmInStateProtoError 40 +XfrmInStateModeError 100 +XfrmInStateSeqError 6000 +XfrmInStateExpired 7 +XfrmInStateMismatch 23451 +XfrmInStateInvalid 55555 +XfrmInTmplMismatch 51 +XfrmInNoPols 65432 +XfrmInPolBlock 100 +XfrmInPolError 10000 +XfrmOutError 1000000 +XfrmOutBundleGenError 43321 +XfrmOutBundleCheckError 555 +XfrmOutNoStates 869 +XfrmOutStateProtoError 4542 +XfrmOutStateModeError 8 +XfrmOutStateSeqError 543 +XfrmOutStateExpired 565 +XfrmOutPolBlock 43456 +XfrmOutPolDead 7656 +XfrmOutPolError 1454 +XfrmFwdHdrError 6654 +XfrmOutStateInvalid 28765 +XfrmAcquireError 24532 \ No newline at end of file diff --git a/collector/xfrm.go b/collector/xfrm.go new file mode 100644 index 0000000000..cbdcc97f1f --- /dev/null +++ b/collector/xfrm.go @@ -0,0 +1,228 @@ +// Copyright 2023 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !noxfrm +// +build !noxfrm + +package collector + +import ( + "fmt" + + "github.com/go-kit/log" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/procfs" +) + +type xfrmCollector struct { + fs procfs.FS + logger log.Logger +} + +func init() { + registerCollector("xfrm", defaultDisabled, NewXfrmCollector) +} + +// NewXfrmCollector returns a new Collector exposing XFRM stats. +func NewXfrmCollector(logger log.Logger) (Collector, error) { + fs, err := procfs.NewFS(*procPath) + if err != nil { + return nil, fmt.Errorf("failed to open procfs: %w", err) + } + + return &xfrmCollector{ + fs: fs, + logger: logger, + }, nil +} + +var ( + xfrmInErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_error_packets_total"), + "All errors not matched by other", + nil, nil, + ) + xfrmInBufferErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_buffer_error_packets_total"), + "No buffer is left", + nil, nil, + ) + xfrmInHdrErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_hdr_error_packets_total"), + "Header error", + nil, nil, + ) + xfrmInNoStatesDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_no_states_packets_total"), + "No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong", + nil, nil, + ) + xfrmInStateProtoErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_proto_error_packets_total"), + "Transformation protocol specific error e.g. SA key is wrong", + nil, nil, + ) + xfrmInStateModeErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_mode_error_packets_total"), + "Transformation mode specific error", + nil, nil, + ) + xfrmInStateSeqErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_seq_error_packets_total"), + "Sequence error i.e. Sequence number is out of window", + nil, nil, + ) + xfrmInStateExpiredDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_expired_packets_total"), + "State is expired", + nil, nil, + ) + xfrmInStateMismatchDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_mismatch_packets_total"), + "State has mismatch option e.g. UDP encapsulation type is mismatch", + nil, nil, + ) + xfrmInStateInvalidDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_state_invalid_packets_total"), + "State is invalid", + nil, nil, + ) + xfrmInTmplMismatchDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_tmpl_mismatch_packets_total"), + "No matching template for states e.g. Inbound SAs are correct but SP rule is wrong", + nil, nil, + ) + xfrmInNoPolsDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_no_pols_packets_total"), + "No policy is found for states e.g. Inbound SAs are correct but no SP is found", + nil, nil, + ) + xfrmInPolBlockDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_pol_block_packets_total"), + "Policy discards", + nil, nil, + ) + xfrmInPolErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "in_pol_error_packets_total"), + "Policy error", + nil, nil, + ) + xfrmOutErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_error_packets_total"), + "All errors which is not matched others", + nil, nil, + ) + xfrmOutBundleGenErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_bundle_gen_error_packets_total"), + "Bundle generation error", + nil, nil, + ) + xfrmOutBundleCheckErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_bundle_check_error_packets_total"), + "Bundle check error", + nil, nil, + ) + xfrmOutNoStatesDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_no_states_packets_total"), + "No state is found", + nil, nil, + ) + xfrmOutStateProtoErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_state_proto_error_packets_total"), + "Transformation protocol specific error", + nil, nil, + ) + xfrmOutStateModeErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_state_mode_error_packets_total"), + "Transformation mode specific error", + nil, nil, + ) + xfrmOutStateSeqErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_state_seq_error_packets_total"), + "Sequence error i.e. Sequence number overflow", + nil, nil, + ) + xfrmOutStateExpiredDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_state_expired_packets_total"), + "State is expired", + nil, nil, + ) + xfrmOutPolBlockDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_pol_block_packets_total"), + "Policy discards", + nil, nil, + ) + xfrmOutPolDeadDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_pol_dead_packets_total"), + "Policy is dead", + nil, nil, + ) + xfrmOutPolErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_pol_error_packets_total"), + "Policy error", + nil, nil, + ) + xfrmFwdHdrErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "fwd_hdr_error_packets_total"), + "Forward routing of a packet is not allowed", + nil, nil, + ) + xfrmOutStateInvalidDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "out_state_invalid_packets_total"), + "State is invalid, perhaps expired", + nil, nil, + ) + xfrmAcquireErrorDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "xfrm", "acquire_error_packets_total"), + "State hasn’t been fully acquired before use", + nil, nil, + ) +) + +func (c *xfrmCollector) Update(ch chan<- prometheus.Metric) error { + stat, err := c.fs.NewXfrmStat() + if err != nil { + return err + } + + ch <- prometheus.MustNewConstMetric(xfrmInErrorDesc, prometheus.CounterValue, float64(stat.XfrmInError)) + ch <- prometheus.MustNewConstMetric(xfrmInBufferErrorDesc, prometheus.CounterValue, float64(stat.XfrmInBufferError)) + ch <- prometheus.MustNewConstMetric(xfrmInHdrErrorDesc, prometheus.CounterValue, float64(stat.XfrmInHdrError)) + ch <- prometheus.MustNewConstMetric(xfrmInNoStatesDesc, prometheus.CounterValue, float64(stat.XfrmInNoStates)) + ch <- prometheus.MustNewConstMetric(xfrmInStateProtoErrorDesc, prometheus.CounterValue, float64(stat.XfrmInStateProtoError)) + ch <- prometheus.MustNewConstMetric(xfrmInStateModeErrorDesc, prometheus.CounterValue, float64(stat.XfrmInStateModeError)) + ch <- prometheus.MustNewConstMetric(xfrmInStateSeqErrorDesc, prometheus.CounterValue, float64(stat.XfrmInStateSeqError)) + ch <- prometheus.MustNewConstMetric(xfrmInStateExpiredDesc, prometheus.CounterValue, float64(stat.XfrmInStateExpired)) + ch <- prometheus.MustNewConstMetric(xfrmInStateMismatchDesc, prometheus.CounterValue, float64(stat.XfrmInStateMismatch)) + ch <- prometheus.MustNewConstMetric(xfrmInStateInvalidDesc, prometheus.CounterValue, float64(stat.XfrmInStateInvalid)) + ch <- prometheus.MustNewConstMetric(xfrmInTmplMismatchDesc, prometheus.CounterValue, float64(stat.XfrmInTmplMismatch)) + ch <- prometheus.MustNewConstMetric(xfrmInNoPolsDesc, prometheus.CounterValue, float64(stat.XfrmInNoPols)) + ch <- prometheus.MustNewConstMetric(xfrmInPolBlockDesc, prometheus.CounterValue, float64(stat.XfrmInPolBlock)) + ch <- prometheus.MustNewConstMetric(xfrmInPolErrorDesc, prometheus.CounterValue, float64(stat.XfrmInPolError)) + ch <- prometheus.MustNewConstMetric(xfrmOutErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutError)) + ch <- prometheus.MustNewConstMetric(xfrmOutBundleGenErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutBundleGenError)) + ch <- prometheus.MustNewConstMetric(xfrmOutBundleCheckErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutBundleCheckError)) + ch <- prometheus.MustNewConstMetric(xfrmOutNoStatesDesc, prometheus.CounterValue, float64(stat.XfrmOutNoStates)) + ch <- prometheus.MustNewConstMetric(xfrmOutStateProtoErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutStateProtoError)) + ch <- prometheus.MustNewConstMetric(xfrmOutStateModeErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutStateModeError)) + ch <- prometheus.MustNewConstMetric(xfrmOutStateSeqErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutStateSeqError)) + ch <- prometheus.MustNewConstMetric(xfrmOutStateExpiredDesc, prometheus.CounterValue, float64(stat.XfrmOutStateExpired)) + ch <- prometheus.MustNewConstMetric(xfrmOutPolBlockDesc, prometheus.CounterValue, float64(stat.XfrmOutPolBlock)) + ch <- prometheus.MustNewConstMetric(xfrmOutPolDeadDesc, prometheus.CounterValue, float64(stat.XfrmOutPolDead)) + ch <- prometheus.MustNewConstMetric(xfrmOutPolErrorDesc, prometheus.CounterValue, float64(stat.XfrmOutPolError)) + ch <- prometheus.MustNewConstMetric(xfrmFwdHdrErrorDesc, prometheus.CounterValue, float64(stat.XfrmFwdHdrError)) + ch <- prometheus.MustNewConstMetric(xfrmOutStateInvalidDesc, prometheus.CounterValue, float64(stat.XfrmOutStateInvalid)) + ch <- prometheus.MustNewConstMetric(xfrmAcquireErrorDesc, prometheus.CounterValue, float64(stat.XfrmAcquireError)) + + return err +} diff --git a/collector/xfrm_test.go b/collector/xfrm_test.go new file mode 100644 index 0000000000..2e1ac02899 --- /dev/null +++ b/collector/xfrm_test.go @@ -0,0 +1,151 @@ +// Copyright 2023 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !noxfrm +// +build !noxfrm + +package collector + +import ( + "fmt" + "os" + "strings" + "testing" + + "github.com/go-kit/log" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/testutil" +) + +type testXfrmCollector struct { + xc Collector +} + +func (c testXfrmCollector) Collect(ch chan<- prometheus.Metric) { + c.xc.Update(ch) +} + +func (c testXfrmCollector) Describe(ch chan<- *prometheus.Desc) { + prometheus.DescribeByCollect(c, ch) +} + +func TestXfrmStats(t *testing.T) { + testcase := `# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use + # TYPE node_xfrm_acquire_error_packets_total counter + node_xfrm_acquire_error_packets_total 24532 + # HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed + # TYPE node_xfrm_fwd_hdr_error_packets_total counter + node_xfrm_fwd_hdr_error_packets_total 6654 + # HELP node_xfrm_in_buffer_error_packets_total No buffer is left + # TYPE node_xfrm_in_buffer_error_packets_total counter + node_xfrm_in_buffer_error_packets_total 2 + # HELP node_xfrm_in_error_packets_total All errors not matched by other + # TYPE node_xfrm_in_error_packets_total counter + node_xfrm_in_error_packets_total 1 + # HELP node_xfrm_in_hdr_error_packets_total Header error + # TYPE node_xfrm_in_hdr_error_packets_total counter + node_xfrm_in_hdr_error_packets_total 4 + # HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found + # TYPE node_xfrm_in_no_pols_packets_total counter + node_xfrm_in_no_pols_packets_total 65432 + # HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong + # TYPE node_xfrm_in_no_states_packets_total counter + node_xfrm_in_no_states_packets_total 3 + # HELP node_xfrm_in_pol_block_packets_total Policy discards + # TYPE node_xfrm_in_pol_block_packets_total counter + node_xfrm_in_pol_block_packets_total 100 + # HELP node_xfrm_in_pol_error_packets_total Policy error + # TYPE node_xfrm_in_pol_error_packets_total counter + node_xfrm_in_pol_error_packets_total 10000 + # HELP node_xfrm_in_state_expired_packets_total State is expired + # TYPE node_xfrm_in_state_expired_packets_total counter + node_xfrm_in_state_expired_packets_total 7 + # HELP node_xfrm_in_state_invalid_packets_total State is invalid + # TYPE node_xfrm_in_state_invalid_packets_total counter + node_xfrm_in_state_invalid_packets_total 55555 + # HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch + # TYPE node_xfrm_in_state_mismatch_packets_total counter + node_xfrm_in_state_mismatch_packets_total 23451 + # HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error + # TYPE node_xfrm_in_state_mode_error_packets_total counter + node_xfrm_in_state_mode_error_packets_total 100 + # HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong + # TYPE node_xfrm_in_state_proto_error_packets_total counter + node_xfrm_in_state_proto_error_packets_total 40 + # HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window + # TYPE node_xfrm_in_state_seq_error_packets_total counter + node_xfrm_in_state_seq_error_packets_total 6000 + # HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong + # TYPE node_xfrm_in_tmpl_mismatch_packets_total counter + node_xfrm_in_tmpl_mismatch_packets_total 51 + # HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error + # TYPE node_xfrm_out_bundle_check_error_packets_total counter + node_xfrm_out_bundle_check_error_packets_total 555 + # HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error + # TYPE node_xfrm_out_bundle_gen_error_packets_total counter + node_xfrm_out_bundle_gen_error_packets_total 43321 + # HELP node_xfrm_out_error_packets_total All errors which is not matched others + # TYPE node_xfrm_out_error_packets_total counter + node_xfrm_out_error_packets_total 1e+06 + # HELP node_xfrm_out_no_states_packets_total No state is found + # TYPE node_xfrm_out_no_states_packets_total counter + node_xfrm_out_no_states_packets_total 869 + # HELP node_xfrm_out_pol_block_packets_total Policy discards + # TYPE node_xfrm_out_pol_block_packets_total counter + node_xfrm_out_pol_block_packets_total 43456 + # HELP node_xfrm_out_pol_dead_packets_total Policy is dead + # TYPE node_xfrm_out_pol_dead_packets_total counter + node_xfrm_out_pol_dead_packets_total 7656 + # HELP node_xfrm_out_pol_error_packets_total Policy error + # TYPE node_xfrm_out_pol_error_packets_total counter + node_xfrm_out_pol_error_packets_total 1454 + # HELP node_xfrm_out_state_expired_packets_total State is expired + # TYPE node_xfrm_out_state_expired_packets_total counter + node_xfrm_out_state_expired_packets_total 565 + # HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired + # TYPE node_xfrm_out_state_invalid_packets_total counter + node_xfrm_out_state_invalid_packets_total 28765 + # HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error + # TYPE node_xfrm_out_state_mode_error_packets_total counter + node_xfrm_out_state_mode_error_packets_total 8 + # HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error + # TYPE node_xfrm_out_state_proto_error_packets_total counter + node_xfrm_out_state_proto_error_packets_total 4542 + # HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow + # TYPE node_xfrm_out_state_seq_error_packets_total counter + node_xfrm_out_state_seq_error_packets_total 543 + ` + *procPath = "fixtures/proc" + + logger := log.NewLogfmtLogger(os.Stderr) + c, err := NewXfrmCollector(logger) + if err != nil { + t.Fatal(err) + } + reg := prometheus.NewRegistry() + reg.MustRegister(&testXfrmCollector{xc: c}) + + sink := make(chan prometheus.Metric) + go func() { + err = c.Update(sink) + if err != nil { + panic(fmt.Errorf("failed to update collector: %s", err)) + } + close(sink) + }() + + err = testutil.GatherAndCompare(reg, strings.NewReader(testcase)) + if err != nil { + t.Fatal(err) + } +} diff --git a/end-to-end-test.sh b/end-to-end-test.sh index c0b9d67af2..46d52603e7 100755 --- a/end-to-end-test.sh +++ b/end-to-end-test.sh @@ -51,6 +51,7 @@ enabled_collectors=$(cat << COLLECTORS udp_queues vmstat wifi + xfrm xfs zfs zoneinfo From 6578e7587cd1654b93f28f8b5bb30e25f1c6cb3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 23:05:51 +0100 Subject: [PATCH 028/151] build(deps): bump github.com/jsimonetti/rtnetlink from 1.3.5 to 1.4.0 (#2864) Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.3.5 to 1.4.0. - [Release notes](https://github.com/jsimonetti/rtnetlink/releases) - [Commits](https://github.com/jsimonetti/rtnetlink/compare/v1.3.5...v1.4.0) --- updated-dependencies: - dependency-name: github.com/jsimonetti/rtnetlink dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 6 +++--- go.sum | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index f018ddaa7e..fe708c82c2 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/hodgesds/perf-utils v0.7.0 github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 github.com/josharian/native v1.1.0 - github.com/jsimonetti/rtnetlink v1.3.5 + github.com/jsimonetti/rtnetlink v1.4.0 github.com/lufia/iostat v1.2.1 github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.1.0 @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.13.0 + golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c howett.net/plist v1.0.1 ) @@ -41,7 +41,7 @@ require ( github.com/dennwc/ioctl v1.0.0 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/kr/text v0.2.0 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect diff --git a/go.sum b/go.sum index fe90d30044..9dd133df11 100644 --- a/go.sum +++ b/go.sum @@ -8,7 +8,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y= +github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -33,8 +33,8 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/hashicorp/go-envparse v0.1.0 h1:bE++6bhIsNCPLvgDZkYqo3nA+/PFI51pkrHdmPSDFPY= github.com/hashicorp/go-envparse v0.1.0/go.mod h1:OHheN1GoygLlAkTlXLXvAdnXdZxy8JUweQ1rAXx1xnc= github.com/hodgesds/perf-utils v0.7.0 h1:7KlHGMuig4FRH5fNw68PV6xLmgTe7jKs9hgAcEAbioU= @@ -46,8 +46,8 @@ github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtL github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jsimonetti/rtnetlink v1.3.5 h1:hVlNQNRlLDGZz31gBPicsG7Q53rnlsz1l1Ix/9XlpVA= -github.com/jsimonetti/rtnetlink v1.3.5/go.mod h1:0LFedyiTkebnd43tE4YAkWGIq9jQphow4CcwxaT2Y00= +github.com/jsimonetti/rtnetlink v1.4.0 h1:Z1BF0fRgcETPEa0Kt0MRk3yV5+kF1FWTni6KUFKrq2I= +github.com/jsimonetti/rtnetlink v1.4.0/go.mod h1:5W1jDvWdnthFJ7fxYX1GMK07BUpI4oskfOqvPteYS6E= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -142,8 +142,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c h1:3kC/TjQ+xzIblQv39bCOyRk8fbEeJcDHwbyxPUU2BpA= +golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= From e5c00269bb1a5f5158ff79ca760387d4f4a29847 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 23:17:23 +0100 Subject: [PATCH 029/151] build(deps): bump golang.org/x/sys from 0.13.0 to 0.15.0 (#2863) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.13.0 to 0.15.0. - [Commits](https://github.com/golang/sys/compare/v0.13.0...v0.15.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fe708c82c2..4acceb1488 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c + golang.org/x/sys v0.15.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index 9dd133df11..d47ecb7624 100644 --- a/go.sum +++ b/go.sum @@ -142,8 +142,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c h1:3kC/TjQ+xzIblQv39bCOyRk8fbEeJcDHwbyxPUU2BpA= -golang.org/x/sys v0.14.1-0.20231108175955-e4099bfacb8c/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= From 549991cb79e480c3b890288940d2148fec408743 Mon Sep 17 00:00:00 2001 From: frigo Date: Fri, 8 Dec 2023 18:24:07 +0100 Subject: [PATCH 030/151] Add TCPOFOQueue to default netstat metrics (#2867) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a count for TCP packets received out of orders. This can be an indication that there is packet loss on the way packets travel towards this server. In that case, the sender will retransmit (and we can already monitor the Tcp_RetransSegs there), but we have no way to monitor the packet loss on the receiver side. When a packet is received and the receiver detects previous one missing, it will increase the TCPOFOQueue counter and reply with selective ACK to the sender, both possible indications of packet loss. Confirmation of packet loss can be achieved by taking packet captures, ignoring wireshark analysis, and carefully looking at data being retransmitted based on the TCP seq. Just like RetransSegs, TCPOFOQueue should be interesting for any deployment as a mean to detect packet loss, so here suggesting adding it to the default list. Signed-off-by: François Rigault Co-authored-by: François Rigault Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/e2e-64k-page-output.txt | 3 +++ collector/fixtures/e2e-output.txt | 3 +++ collector/fixtures/proc/net/netstat | 4 ++-- collector/netstat_linux.go | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index fb6c4b5048..a8440bdcb1 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2303,6 +2303,9 @@ node_netstat_TcpExt_SyncookiesRecv 0 # HELP node_netstat_TcpExt_SyncookiesSent Statistic TcpExtSyncookiesSent. # TYPE node_netstat_TcpExt_SyncookiesSent untyped node_netstat_TcpExt_SyncookiesSent 0 +# HELP node_netstat_TcpExt_TCPOFOQueue Statistic TcpExtTCPOFOQueue. +# TYPE node_netstat_TcpExt_TCPOFOQueue untyped +node_netstat_TcpExt_TCPOFOQueue 42 # HELP node_netstat_TcpExt_TCPTimeouts Statistic TcpExtTCPTimeouts. # TYPE node_netstat_TcpExt_TCPTimeouts untyped node_netstat_TcpExt_TCPTimeouts 115 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 8add1b8fff..1d2a2af08c 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2325,6 +2325,9 @@ node_netstat_TcpExt_SyncookiesRecv 0 # HELP node_netstat_TcpExt_SyncookiesSent Statistic TcpExtSyncookiesSent. # TYPE node_netstat_TcpExt_SyncookiesSent untyped node_netstat_TcpExt_SyncookiesSent 0 +# HELP node_netstat_TcpExt_TCPOFOQueue Statistic TcpExtTCPOFOQueue. +# TYPE node_netstat_TcpExt_TCPOFOQueue untyped +node_netstat_TcpExt_TCPOFOQueue 42 # HELP node_netstat_TcpExt_TCPTimeouts Statistic TcpExtTCPTimeouts. # TYPE node_netstat_TcpExt_TCPTimeouts untyped node_netstat_TcpExt_TCPTimeouts 115 diff --git a/collector/fixtures/proc/net/netstat b/collector/fixtures/proc/net/netstat index 811f623273..de88470bdd 100644 --- a/collector/fixtures/proc/net/netstat +++ b/collector/fixtures/proc/net/netstat @@ -1,4 +1,4 @@ -TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPChallengeACK TCPSYNChallenge -TcpExt: 0 0 2 0 0 0 0 0 0 0 388812 0 0 0 0 6 102471 17 9 0 0 80568 0 168808 0 4471289 26 1433940 3744565 0 1 0 0 0 0 0 0 0 0 48 0 0 0 1 0 1 0 1 115 0 0 0 0 9 0 5 0 41 4 0 0 0 0 0 0 0 1 0 0 0 0 2 5 0 0 0 0 0 0 0 2 2 +TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPChallengeACK TCPSYNChallenge TCPOFOQueue +TcpExt: 0 0 2 0 0 0 0 0 0 0 388812 0 0 0 0 6 102471 17 9 0 0 80568 0 168808 0 4471289 26 1433940 3744565 0 1 0 0 0 0 0 0 0 0 48 0 0 0 1 0 1 0 1 115 0 0 0 0 9 0 5 0 41 4 0 0 0 0 0 0 0 1 0 0 0 0 2 5 0 0 0 0 0 0 0 2 2 42 IpExt: InNoRoutes InTruncatedPkts InMcastPkts OutMcastPkts InBcastPkts OutBcastPkts InOctets OutOctets InMcastOctets OutMcastOctets InBcastOctets OutBcastOctets IpExt: 0 0 0 0 0 0 6286396970 2786264347 0 0 0 0 diff --git a/collector/netstat_linux.go b/collector/netstat_linux.go index 9115ef57b0..8e4c9f4de8 100644 --- a/collector/netstat_linux.go +++ b/collector/netstat_linux.go @@ -36,7 +36,7 @@ const ( ) var ( - netStatFields = kingpin.Flag("collector.netstat.fields", "Regexp of fields to return for netstat collector.").Default("^(.*_(InErrors|InErrs)|Ip_Forwarding|Ip(6|Ext)_(InOctets|OutOctets)|Icmp6?_(InMsgs|OutMsgs)|TcpExt_(Listen.*|Syncookies.*|TCPSynRetrans|TCPTimeouts)|Tcp_(ActiveOpens|InSegs|OutSegs|OutRsts|PassiveOpens|RetransSegs|CurrEstab)|Udp6?_(InDatagrams|OutDatagrams|NoPorts|RcvbufErrors|SndbufErrors))$").String() + netStatFields = kingpin.Flag("collector.netstat.fields", "Regexp of fields to return for netstat collector.").Default("^(.*_(InErrors|InErrs)|Ip_Forwarding|Ip(6|Ext)_(InOctets|OutOctets)|Icmp6?_(InMsgs|OutMsgs)|TcpExt_(Listen.*|Syncookies.*|TCPSynRetrans|TCPTimeouts|TCPOFOQueue)|Tcp_(ActiveOpens|InSegs|OutSegs|OutRsts|PassiveOpens|RetransSegs|CurrEstab)|Udp6?_(InDatagrams|OutDatagrams|NoPorts|RcvbufErrors|SndbufErrors))$").String() ) type netStatCollector struct { From 9406a8acc9bf97adb4e0fde156cd1885ea089f40 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Sun, 10 Dec 2023 15:17:40 +0100 Subject: [PATCH 031/151] Update common Prometheus files (#2870) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- Makefile.common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.common b/Makefile.common index 062a281856..bc2a07d728 100644 --- a/Makefile.common +++ b/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.54.2 +GOLANGCI_LINT_VERSION ?= v1.55.2 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) From 8e3e2a487ef926e5cba970b0847de0e21578f309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Lima?= Date: Thu, 14 Dec 2023 12:15:27 +0000 Subject: [PATCH 032/151] Add mitigation information to the linux vulnerabilities collector (#2806) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While the CPU vulnerabilities collector has been added in https://github.com/prometheus/node_exporter/pull/2721 , it's currently not including information regarding the mitigation strategy used for a given vulnerability. This information can be quite valuable, as often times different mitigation strategies come with a different performance impact. This commit adds a third label to the cpu_vulnerabilities_info metric, to include the "mitigation" used for a given vulnerability - if a given vulnerability is not affecting a node or the node is still vulnerable, the mitigation is expected to be empty. Signed-off-by: João Lima Signed-off-by: Vitaly Zhuravlev --- collector/cpu_vulnerabilities_linux.go | 3 ++- collector/fixtures/e2e-64k-page-output.txt | 10 +++++----- collector/fixtures/e2e-output.txt | 10 +++++----- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/collector/cpu_vulnerabilities_linux.go b/collector/cpu_vulnerabilities_linux.go index 1875488b73..69a2c587e3 100644 --- a/collector/cpu_vulnerabilities_linux.go +++ b/collector/cpu_vulnerabilities_linux.go @@ -29,7 +29,7 @@ var ( vulnerabilityDesc = prometheus.NewDesc( prometheus.BuildFQName(namespace, cpuVulerabilitiesCollector, "info"), "Details of each CPU vulnerability reported by sysfs. The value of the series is an int encoded state of the vulnerability. The same state is stored as a string in the label", - []string{"codename", "state"}, + []string{"codename", "state", "mitigation"}, nil, ) ) @@ -62,6 +62,7 @@ func (v *cpuVulnerabilitiesCollector) Update(ch chan<- prometheus.Metric) error 1.0, vulnerability.CodeName, sysfs.VulnerabilityHumanEncoding[vulnerability.State], + vulnerability.Mitigation, ) } return nil diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index a8440bdcb1..5b0ac8db46 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -404,11 +404,11 @@ node_cpu_seconds_total{cpu="7",mode="system"} 101.64 node_cpu_seconds_total{cpu="7",mode="user"} 290.98 # HELP node_cpu_vulnerabilities_info Details of each CPU vulnerability reported by sysfs. The value of the series is an int encoded state of the vulnerability. The same state is stored as a string in the label # TYPE node_cpu_vulnerabilities_info gauge -node_cpu_vulnerabilities_info{codename="itlb_multihit",state="not affected"} 1 -node_cpu_vulnerabilities_info{codename="mds",state="vulnerable"} 1 -node_cpu_vulnerabilities_info{codename="retbleed",state="mitigation"} 1 -node_cpu_vulnerabilities_info{codename="spectre_v1",state="mitigation"} 1 -node_cpu_vulnerabilities_info{codename="spectre_v2",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="itlb_multihit",mitigation="",state="not affected"} 1 +node_cpu_vulnerabilities_info{codename="mds",mitigation="",state="vulnerable"} 1 +node_cpu_vulnerabilities_info{codename="retbleed",mitigation="untrained return thunk; SMT enabled with STIBP protection",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="spectre_v1",mitigation="usercopy/swapgs barriers and __user pointer sanitization",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="spectre_v2",mitigation="Retpolines, IBPB: conditional, STIBP: always-on, RSB filling, PBRSB-eIBRS: Not affected",state="mitigation"} 1 # HELP node_disk_ata_rotation_rate_rpm ATA disk rotation rate in RPMs (0 for SSDs). # TYPE node_disk_ata_rotation_rate_rpm gauge node_disk_ata_rotation_rate_rpm{device="sda"} 7200 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 1d2a2af08c..8920e56203 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -426,11 +426,11 @@ node_cpu_seconds_total{cpu="7",mode="system"} 101.64 node_cpu_seconds_total{cpu="7",mode="user"} 290.98 # HELP node_cpu_vulnerabilities_info Details of each CPU vulnerability reported by sysfs. The value of the series is an int encoded state of the vulnerability. The same state is stored as a string in the label # TYPE node_cpu_vulnerabilities_info gauge -node_cpu_vulnerabilities_info{codename="itlb_multihit",state="not affected"} 1 -node_cpu_vulnerabilities_info{codename="mds",state="vulnerable"} 1 -node_cpu_vulnerabilities_info{codename="retbleed",state="mitigation"} 1 -node_cpu_vulnerabilities_info{codename="spectre_v1",state="mitigation"} 1 -node_cpu_vulnerabilities_info{codename="spectre_v2",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="itlb_multihit",mitigation="",state="not affected"} 1 +node_cpu_vulnerabilities_info{codename="mds",mitigation="",state="vulnerable"} 1 +node_cpu_vulnerabilities_info{codename="retbleed",mitigation="untrained return thunk; SMT enabled with STIBP protection",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="spectre_v1",mitigation="usercopy/swapgs barriers and __user pointer sanitization",state="mitigation"} 1 +node_cpu_vulnerabilities_info{codename="spectre_v2",mitigation="Retpolines, IBPB: conditional, STIBP: always-on, RSB filling, PBRSB-eIBRS: Not affected",state="mitigation"} 1 # HELP node_disk_ata_rotation_rate_rpm ATA disk rotation rate in RPMs (0 for SSDs). # TYPE node_disk_ata_rotation_rate_rpm gauge node_disk_ata_rotation_rate_rpm{device="sda"} 7200 From 5cb80618a3cadba802ab3d9a8062ba5ee3e75074 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Tue, 19 Dec 2023 10:08:17 +0100 Subject: [PATCH 033/151] Update common Prometheus files (#2872) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index ffa6b3090e..805c59fb7c 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -29,4 +29,4 @@ jobs: - name: Lint uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 with: - version: v1.54.2 + version: v1.55.2 From d1617e336b99d81dd154fd6b9b63705156ce7f84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 10:08:34 +0100 Subject: [PATCH 034/151] build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#2877) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0. - [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 4acceb1488..de35e082ca 100644 --- a/go.mod +++ b/go.mod @@ -52,11 +52,11 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.14.0 // indirect + golang.org/x/crypto v0.17.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.12.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index d47ecb7624..ab57921fc2 100644 --- a/go.sum +++ b/go.sum @@ -109,8 +109,8 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -156,8 +156,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= From d7b9925a1b262ce932bf506d187ab60a04084d47 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Tue, 19 Dec 2023 21:23:28 +0100 Subject: [PATCH 035/151] Update common Prometheus files (#2879) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 805c59fb7c..4b292229de 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -12,8 +12,14 @@ on: - ".golangci.yml" pull_request: +permissions: # added using https://github.com/step-security/secure-repo + contents: read + jobs: golangci: + permissions: + contents: read # for actions/checkout to fetch code + pull-requests: read # for golangci/golangci-lint-action to fetch pull requests name: lint runs-on: ubuntu-latest steps: From 2eeea5f92584d83cd5c9fb69851ecb3462453563 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 20:42:54 +0100 Subject: [PATCH 036/151] build(deps): bump github.com/prometheus/exporter-toolkit (#2885) Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.10.0 to 0.11.0. - [Release notes](https://github.com/prometheus/exporter-toolkit/releases) - [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md) - [Commits](https://github.com/prometheus/exporter-toolkit/compare/v0.10.0...v0.11.0) --- updated-dependencies: - dependency-name: github.com/prometheus/exporter-toolkit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 5 ++--- go.sum | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index de35e082ca..82e6cf2b99 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/prometheus/client_golang v1.17.0 github.com/prometheus/client_model v0.5.0 github.com/prometheus/common v0.45.0 - github.com/prometheus/exporter-toolkit v0.10.0 + github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 @@ -43,7 +43,6 @@ require ( github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect - github.com/kr/text v0.2.0 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/mdlayher/genetlink v1.3.2 // indirect github.com/mdlayher/socket v0.4.1 // indirect @@ -55,7 +54,7 @@ require ( golang.org/x/crypto v0.17.0 // indirect golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.12.0 // indirect - golang.org/x/sync v0.3.0 // indirect + golang.org/x/sync v0.5.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect diff --git a/go.sum b/go.sum index ab57921fc2..8c6c9d8a27 100644 --- a/go.sum +++ b/go.sum @@ -11,7 +11,6 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -50,7 +49,6 @@ github.com/jsimonetti/rtnetlink v1.4.0 h1:Z1BF0fRgcETPEa0Kt0MRk3yV5+kF1FWTni6KUF github.com/jsimonetti/rtnetlink v1.4.0/go.mod h1:5W1jDvWdnthFJ7fxYX1GMK07BUpI4oskfOqvPteYS6E= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= github.com/lufia/iostat v1.2.1/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg= github.com/mattn/go-xmlrpc v0.0.3 h1:Y6WEMLEsqs3RviBrAa1/7qmbGB7DVD3brZIbqMbQdGY= @@ -81,8 +79,8 @@ github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cY github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= -github.com/prometheus/exporter-toolkit v0.10.0 h1:yOAzZTi4M22ZzVxD+fhy1URTuNRj/36uQJJ5S8IPza8= -github.com/prometheus/exporter-toolkit v0.10.0/go.mod h1:+sVFzuvV5JDyw+Ih6p3zFxZNVnKQa3x5qPmDSiPu4ZY= +github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= +github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -129,8 +127,8 @@ golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= From 85a9acd6b23770fc56ec0fd8b7781ec169f16b22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 22:18:41 +0100 Subject: [PATCH 037/151] build(deps): bump github.com/beevik/ntp from 1.3.0 to 1.3.1 (#2886) Bumps [github.com/beevik/ntp](https://github.com/beevik/ntp) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/beevik/ntp/releases) - [Changelog](https://github.com/beevik/ntp/blob/main/RELEASE_NOTES.md) - [Commits](https://github.com/beevik/ntp/compare/v1.3.0...v1.3.1) --- updated-dependencies: - dependency-name: github.com/beevik/ntp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 51 ++++----------------------------------------------- 2 files changed, 6 insertions(+), 49 deletions(-) diff --git a/go.mod b/go.mod index 82e6cf2b99..cccf8cc7b3 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.20 require ( github.com/alecthomas/kingpin/v2 v2.4.0 - github.com/beevik/ntp v1.3.0 + github.com/beevik/ntp v1.3.1 github.com/coreos/go-systemd/v22 v22.5.0 github.com/dennwc/btrfs v0.0.0-20230312211831-a1f570bd01a1 github.com/ema/qdisc v1.0.0 @@ -52,7 +52,7 @@ require ( go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/net v0.19.0 // indirect golang.org/x/oauth2 v0.12.0 // indirect golang.org/x/sync v0.5.0 // indirect golang.org/x/text v0.14.0 // indirect diff --git a/go.sum b/go.sum index 8c6c9d8a27..4d09e08c35 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjH github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/beevik/ntp v1.3.0 h1:/w5VhpW5BGKS37vFm1p9oVk/t4HnnkKZAZIubHM6F7Q= -github.com/beevik/ntp v1.3.0/go.mod h1:vD6h1um4kzXpqmLTuu0cCLcC+NfvC0IC+ltmEDA8E78= +github.com/beevik/ntp v1.3.1 h1:Y/srlT8L1yQr58kyPWFPZIxRL8ttx2SRIpVYJqZIlAM= +github.com/beevik/ntp v1.3.1/go.mod h1:fT6PylBq86Tsq23ZMEe47b7QQrZfYBFPnpzt0a9kJxw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= @@ -89,78 +89,37 @@ github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6o github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:GfSdC6wKfTGcgCS7BtzF5694Amne1pGCSTY252WhlEY= github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= @@ -174,8 +133,6 @@ gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= From cd1502ad04f37e194c59f4f95d827a56d9035073 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 22:18:54 +0100 Subject: [PATCH 038/151] build(deps): bump github.com/prometheus/client_golang (#2887) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.17.0 to 1.18.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cccf8cc7b3..26619861ec 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/mdlayher/wifi v0.1.0 github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 - github.com/prometheus/client_golang v1.17.0 + github.com/prometheus/client_golang v1.18.0 github.com/prometheus/client_model v0.5.0 github.com/prometheus/common v0.45.0 github.com/prometheus/exporter-toolkit v0.11.0 diff --git a/go.sum b/go.sum index 4d09e08c35..6f6293f623 100644 --- a/go.sum +++ b/go.sum @@ -73,8 +73,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= -github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= -github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= From 54c4e25fab0b05b15cde380ba5e30bc53b7eead8 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Mon, 8 Jan 2024 19:20:34 +0100 Subject: [PATCH 039/151] Update common Prometheus files (#2897) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 4b292229de..8f25279111 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -26,7 +26,7 @@ jobs: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: install Go - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 with: go-version: 1.21.x - name: Install snmp_exporter/generator dependencies From 3876477d0eda10bc7b757b00f10f45db89272849 Mon Sep 17 00:00:00 2001 From: DBS-ST-VIT <142572752+DBS-ST-VIT@users.noreply.github.com> Date: Mon, 15 Jan 2024 09:32:58 +0100 Subject: [PATCH 040/151] diskstats: ignore zram devices on linux systems by default (#2898) Signed-off-by: DBS-ST-VIT Co-authored-by: DBS-ST-VIT Signed-off-by: Vitaly Zhuravlev --- collector/diskstats_linux.go | 2 +- collector/diskstats_linux_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/collector/diskstats_linux.go b/collector/diskstats_linux.go index ffda6ae421..ed5d044a61 100644 --- a/collector/diskstats_linux.go +++ b/collector/diskstats_linux.go @@ -36,7 +36,7 @@ const ( // See also https://www.kernel.org/doc/Documentation/block/stat.txt unixSectorSize = 512.0 - diskstatsDefaultIgnoredDevices = "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$" + diskstatsDefaultIgnoredDevices = "^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$" // See udevadm(8). udevDevicePropertyPrefix = "E:" diff --git a/collector/diskstats_linux_test.go b/collector/diskstats_linux_test.go index f0d7499be0..8e969c3e3a 100644 --- a/collector/diskstats_linux_test.go +++ b/collector/diskstats_linux_test.go @@ -53,7 +53,7 @@ func TestDiskStats(t *testing.T) { *sysPath = "fixtures/sys" *procPath = "fixtures/proc" *udevDataPath = "fixtures/udev/data" - *diskstatsDeviceExclude = "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$" + *diskstatsDeviceExclude = "^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$" testcase := `# HELP node_disk_ata_rotation_rate_rpm ATA disk rotation rate in RPMs (0 for SSDs). # TYPE node_disk_ata_rotation_rate_rpm gauge node_disk_ata_rotation_rate_rpm{device="sda"} 7200 From 6a007b7bc02994343896ccd619cf03fa3bbba935 Mon Sep 17 00:00:00 2001 From: Alper Polat <101826653+gitperr@users.noreply.github.com> Date: Sat, 27 Jan 2024 18:06:25 +0200 Subject: [PATCH 041/151] Bump golang-builder version (#2908) Signed-off-by: Alper Polat Signed-off-by: Vitaly Zhuravlev --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e40a0667ef..3715e300dc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -60,7 +60,7 @@ jobs: machine: image: ubuntu-2204:current environment: - DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.18-base + DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.21-base REPO_PATH: github.com/prometheus/node_exporter steps: - prometheus/setup_environment From 0b02a80f39e7351c350c19893c53756c9b080d3b Mon Sep 17 00:00:00 2001 From: David O'Rourke Date: Mon, 29 Jan 2024 04:08:53 -0800 Subject: [PATCH 042/151] exec_bsd: Fix labels for vm.stats.sys.v_syscall sysctl (#2895) Signed-off-by: David O'Rourke Signed-off-by: Vitaly Zhuravlev --- collector/exec_bsd.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/exec_bsd.go b/collector/exec_bsd.go index 7ae5e2ee32..9c123991f0 100644 --- a/collector/exec_bsd.go +++ b/collector/exec_bsd.go @@ -61,8 +61,8 @@ func NewExecCollector(logger log.Logger) (Collector, error) { name: "exec_system_calls_total", description: "System calls since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_syscall", + labels: nil, }, - labels: nil, { name: "exec_device_interrupts_total", description: "Device interrupts since system boot. Resets at architecture unsigned integer.", From 11c873660cf909cb1604d8c7363c569dcf9c0d7b Mon Sep 17 00:00:00 2001 From: tyltr Date: Mon, 29 Jan 2024 20:09:38 +0800 Subject: [PATCH 043/151] chore:remove constant from function (#2884) Signed-off-by: tyltr Signed-off-by: Vitaly Zhuravlev --- collector/timex.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/collector/timex.go b/collector/timex.go index c444d3ea14..69cbc1a1d0 100644 --- a/collector/timex.go +++ b/collector/timex.go @@ -38,6 +38,9 @@ const ( // 1 second in nanoSeconds = 1000000000 microSeconds = 1000000 + + // See NOTES in adjtimex(2). + ppm16frac = 1000000.0 * 65536.0 ) type timexCollector struct { @@ -183,8 +186,6 @@ func (c *timexCollector) Update(ch chan<- prometheus.Metric) error { } else { divisor = microSeconds } - // See NOTES in adjtimex(2). - const ppm16frac = 1000000.0 * 65536.0 ch <- c.syncStatus.mustNewConstMetric(syncStatus) ch <- c.offset.mustNewConstMetric(float64(timex.Offset) / divisor) From 698b93663ae7fed2cfdd3651c1e89bdb1bd616bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 17:59:31 +0100 Subject: [PATCH 044/151] build(deps): bump github.com/prometheus/common from 0.45.0 to 0.46.0 (#2910) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.45.0 to 0.46.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](https://github.com/prometheus/common/compare/v0.45.0...v0.46.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 13 ++++++------- go.sum | 26 ++++++++++++-------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index 26619861ec..019149eb6b 100644 --- a/go.mod +++ b/go.mod @@ -24,12 +24,12 @@ require ( github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.18.0 github.com/prometheus/client_model v0.5.0 - github.com/prometheus/common v0.45.0 + github.com/prometheus/common v0.46.0 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.15.0 + golang.org/x/sys v0.16.0 howett.net/plist v1.0.1 ) @@ -43,7 +43,6 @@ require ( github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect - github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/mdlayher/genetlink v1.3.2 // indirect github.com/mdlayher/socket v0.4.1 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect @@ -51,12 +50,12 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.19.0 // indirect - golang.org/x/oauth2 v0.12.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.5.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/protobuf v1.32.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 6f6293f623..1a584ea0bc 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,6 @@ github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= github.com/lufia/iostat v1.2.1/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg= github.com/mattn/go-xmlrpc v0.0.3 h1:Y6WEMLEsqs3RviBrAa1/7qmbGB7DVD3brZIbqMbQdGY= github.com/mattn/go-xmlrpc v0.0.3/go.mod h1:mqc2dz7tP5x5BKlCahN/n+hs7OSZKJkS9JsHNBRlrxA= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mdlayher/ethtool v0.1.0 h1:XAWHsmKhyPOo42qq/yTPb0eFBGUKKTR1rE0dVrWVQ0Y= github.com/mdlayher/ethtool v0.1.0/go.mod h1:fBMLn2UhfRGtcH5ZFjr+6GUiHEjZsItFD7fSn7jbZVQ= github.com/mdlayher/genetlink v1.3.2 h1:KdrNKe+CTu+IbZnm/GVUMXSqBBLqcGpRDa0xkQy56gw= @@ -77,8 +75,8 @@ github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+ github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= -github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/common v0.46.0 h1:doXzt5ybi1HBKpsZOL0sSkaNHJJqkyfEWZGGqqScV0Y= +github.com/prometheus/common v0.46.0/go.mod h1:Tp0qkxpb9Jsg54QMe+EAmqXkSV7Evdy1BTn+g2pa/hQ= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= @@ -99,22 +97,22 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= -golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= @@ -125,8 +123,8 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= From c422c5d03a759acb735e8bd7f537afcb63cdad16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:03:01 +0100 Subject: [PATCH 045/151] build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.0 to 1.4.1 (#2909) Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/jsimonetti/rtnetlink/releases) - [Commits](https://github.com/jsimonetti/rtnetlink/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: github.com/jsimonetti/rtnetlink dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 019149eb6b..7de9d10c1d 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/hodgesds/perf-utils v0.7.0 github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 github.com/josharian/native v1.1.0 - github.com/jsimonetti/rtnetlink v1.4.0 + github.com/jsimonetti/rtnetlink v1.4.1 github.com/lufia/iostat v1.2.1 github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.1.0 diff --git a/go.sum b/go.sum index 1a584ea0bc..111cecd41c 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtL github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jsimonetti/rtnetlink v1.4.0 h1:Z1BF0fRgcETPEa0Kt0MRk3yV5+kF1FWTni6KUFKrq2I= -github.com/jsimonetti/rtnetlink v1.4.0/go.mod h1:5W1jDvWdnthFJ7fxYX1GMK07BUpI4oskfOqvPteYS6E= +github.com/jsimonetti/rtnetlink v1.4.1 h1:JfD4jthWBqZMEffc5RjgmlzpYttAVw1sdnmiNaPO3hE= +github.com/jsimonetti/rtnetlink v1.4.1/go.mod h1:xJjT7t59UIZ62GLZbv6PLLo8VFrostJMPBAheR6OM8w= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= From b2e4cb195d6d5e1d12a6bb6b584fb63b8fd5a232 Mon Sep 17 00:00:00 2001 From: TaoGe <6657718+yowenter@users.noreply.github.com> Date: Sat, 3 Feb 2024 17:13:12 +0800 Subject: [PATCH 046/151] fix hwmon nil ptr (#2873) * fix hwmon nil ptr syslink maybe lost in some cases. --------- Signed-off-by: TaoGe <6657718+yowenter@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- collector/hwmon_linux.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index 3ad469a61a..476eed7b30 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -446,7 +446,10 @@ func (c *hwMonCollector) Update(ch chan<- prometheus.Metric) error { for _, hwDir := range hwmonFiles { hwmonXPathName := filepath.Join(hwmonPathName, hwDir.Name()) - fileInfo, _ := os.Lstat(hwmonXPathName) + fileInfo, err := os.Lstat(hwmonXPathName) + if err != nil { + continue + } if fileInfo.Mode()&os.ModeSymlink > 0 { fileInfo, err = os.Stat(hwmonXPathName) From 3c3735fe81b89d1e5bf63ce4e493a06c6682af0f Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Wed, 7 Feb 2024 15:06:24 +0100 Subject: [PATCH 047/151] Fix hwmon error capture (#2915) Fix golangci-lint "ineffectual assignment" by correctly capturing any errors within the hwmon gathering loop. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- collector/hwmon_linux.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index 476eed7b30..a8086d309e 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -444,6 +444,7 @@ func (c *hwMonCollector) Update(ch chan<- prometheus.Metric) error { return err } + var lastErr error for _, hwDir := range hwmonFiles { hwmonXPathName := filepath.Join(hwmonPathName, hwDir.Name()) fileInfo, err := os.Lstat(hwmonXPathName) @@ -462,10 +463,10 @@ func (c *hwMonCollector) Update(ch chan<- prometheus.Metric) error { continue } - if lastErr := c.updateHwmon(ch, hwmonXPathName); lastErr != nil { - err = lastErr + if err = c.updateHwmon(ch, hwmonXPathName); err != nil { + lastErr = err } } - return err + return lastErr } From 8586a8d85df3d99afef8fbc9b12bc657bac60a38 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Wed, 7 Feb 2024 22:57:18 +0100 Subject: [PATCH 048/151] Update common Prometheus files (#2917) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- Makefile.common | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.common b/Makefile.common index bc2a07d728..5fd1782371 100644 --- a/Makefile.common +++ b/Makefile.common @@ -62,10 +62,10 @@ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= GOLANGCI_LINT_VERSION ?= v1.55.2 -# golangci-lint only supports linux, darwin and windows platforms on i386/amd64. +# golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) - ifeq ($(GOHOSTARCH),$(filter $(GOHOSTARCH),amd64 i386)) + ifeq ($(GOHOSTARCH),$(filter $(GOHOSTARCH),amd64 i386 arm64)) # If we're in CI and there is an Actions file, that means the linter # is being run in Actions, so we don't need to run it here. ifneq (,$(SKIP_GOLANGCI_LINT)) From c9c01f7b836dfff508e5df78b366e272e4b09c6b Mon Sep 17 00:00:00 2001 From: Caleb Webber Date: Wed, 14 Feb 2024 03:13:18 -0500 Subject: [PATCH 049/151] Revert "Add ZFS freebsd per dataset stats (#2753)" (#2925) This reverts commit f34aaa61092fe7e3c6618fdb0b0d16a68a291ff7. Signed-off-by: Caleb Webber Signed-off-by: Vitaly Zhuravlev --- collector/exec_bsd.go | 6 ---- collector/memory_bsd.go | 12 ------- collector/netisr_freebsd.go | 6 ---- collector/sysctl_bsd.go | 3 -- collector/zfs_freebsd.go | 72 ------------------------------------- collector/zfs_linux.go | 4 +-- collector/zfs_linux_test.go | 2 +- 7 files changed, 3 insertions(+), 102 deletions(-) diff --git a/collector/exec_bsd.go b/collector/exec_bsd.go index 9c123991f0..87cb3ceeb4 100644 --- a/collector/exec_bsd.go +++ b/collector/exec_bsd.go @@ -49,37 +49,31 @@ func NewExecCollector(logger log.Logger) (Collector, error) { name: "exec_context_switches_total", description: "Context switches since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_swtch", - labels: nil, }, { name: "exec_traps_total", description: "Traps since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_trap", - labels: nil, }, { name: "exec_system_calls_total", description: "System calls since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_syscall", - labels: nil, }, { name: "exec_device_interrupts_total", description: "Device interrupts since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_intr", - labels: nil, }, { name: "exec_software_interrupts_total", description: "Software interrupts since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.sys.v_soft", - labels: nil, }, { name: "exec_forks_total", description: "Number of fork() calls since system boot. Resets at architecture unsigned integer.", mib: "vm.stats.vm.v_forks", - labels: nil, }, }, logger: logger, diff --git a/collector/memory_bsd.go b/collector/memory_bsd.go index 6f16ac896d..6af9d8aaa4 100644 --- a/collector/memory_bsd.go +++ b/collector/memory_bsd.go @@ -69,21 +69,18 @@ func NewMemoryCollector(logger log.Logger) (Collector, error) { description: "Recently used by userland", mib: "vm.stats.vm.v_active_count", conversion: fromPage, - labels: nil, }, { name: "inactive_bytes", description: "Not recently used by userland", mib: "vm.stats.vm.v_inactive_count", conversion: fromPage, - labels: nil, }, { name: "wired_bytes", description: "Locked in memory by kernel, mlock, etc", mib: "vm.stats.vm.v_wire_count", conversion: fromPage, - labels: nil, }, { name: "user_wired_bytes", @@ -91,49 +88,42 @@ func NewMemoryCollector(logger log.Logger) (Collector, error) { mib: "vm.stats.vm.v_user_wire_count", conversion: fromPage, dataType: bsdSysctlTypeCLong, - labels: nil, }, { name: "cache_bytes", description: "Almost free, backed by swap or files, available for re-allocation", mib: "vm.stats.vm.v_cache_count", conversion: fromPage, - labels: nil, }, { name: "buffer_bytes", description: "Disk IO Cache entries for non ZFS filesystems, only usable by kernel", mib: "vfs.bufspace", dataType: bsdSysctlTypeCLong, - labels: nil, }, { name: "free_bytes", description: "Unallocated, available for allocation", mib: "vm.stats.vm.v_free_count", conversion: fromPage, - labels: nil, }, { name: "laundry_bytes", description: "Dirty not recently used by userland", mib: "vm.stats.vm.v_laundry_count", conversion: fromPage, - labels: nil, }, { name: "size_bytes", description: "Total physical memory size", mib: "vm.stats.vm.v_page_count", conversion: fromPage, - labels: nil, }, { name: "swap_size_bytes", description: "Total swap memory size", mib: mibSwapTotal, dataType: bsdSysctlTypeUint64, - labels: nil, }, // Descriptions via: top(1) { @@ -142,7 +132,6 @@ func NewMemoryCollector(logger log.Logger) (Collector, error) { mib: "vm.stats.vm.v_swappgsin", valueType: prometheus.CounterValue, conversion: fromPage, - labels: nil, }, { name: "swap_out_bytes_total", @@ -150,7 +139,6 @@ func NewMemoryCollector(logger log.Logger) (Collector, error) { mib: "vm.stats.vm.v_swappgsout", valueType: prometheus.CounterValue, conversion: fromPage, - labels: nil, }, }, }, nil diff --git a/collector/netisr_freebsd.go b/collector/netisr_freebsd.go index 43991f3ab9..442bcdc6a7 100644 --- a/collector/netisr_freebsd.go +++ b/collector/netisr_freebsd.go @@ -45,7 +45,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.numthreads", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "maxprot", @@ -53,7 +52,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.maxprot", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "defaultqlimit", @@ -61,7 +59,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.defaultqlimit", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "maxqlimit", @@ -69,7 +66,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.maxqlimit", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "bindthreads", @@ -77,7 +73,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.bindthreads", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "maxthreads", @@ -85,7 +80,6 @@ func NewNetisrCollector(logger log.Logger) (Collector, error) { mib: "net.isr.maxthreads", dataType: bsdSysctlTypeUint32, valueType: prometheus.GaugeValue, - labels: nil, }, }, logger: logger, diff --git a/collector/sysctl_bsd.go b/collector/sysctl_bsd.go index df5c9f93f1..2ab248ed2e 100644 --- a/collector/sysctl_bsd.go +++ b/collector/sysctl_bsd.go @@ -59,9 +59,6 @@ type bsdSysctl struct { // Post-retrieval conversion hooks conversion func(float64) float64 - - // Prometheus labels - labels prometheus.Labels } func (b bsdSysctl) Value() (float64, error) { diff --git a/collector/zfs_freebsd.go b/collector/zfs_freebsd.go index 0e4d969275..bc4aa1c3f7 100644 --- a/collector/zfs_freebsd.go +++ b/collector/zfs_freebsd.go @@ -17,13 +17,9 @@ package collector import ( - "fmt" - "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" - - "golang.org/x/sys/unix" ) type zfsCollector struct { @@ -48,7 +44,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.linear_cnt", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "abdstats_linear_data_bytes", @@ -56,7 +51,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.linear_data_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "abdstats_scatter_chunk_waste_bytes", @@ -64,7 +58,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.scatter_chunk_waste", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "abdstats_scatter_count_total", @@ -72,7 +65,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.scatter_cnt", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "abdstats_scatter_data_bytes", @@ -80,7 +72,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.scatter_data_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "abdstats_struct_bytes", @@ -88,7 +79,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.abdstats.struct_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_anon_bytes", @@ -96,7 +86,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.anon_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_c_bytes", @@ -104,7 +93,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.c", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_c_max_bytes", @@ -112,7 +100,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.c_max", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_c_min_bytes", @@ -120,7 +107,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.c_min", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_data_bytes", @@ -128,7 +114,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.data_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_demand_data_hits_total", @@ -136,7 +121,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.demand_data_hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_demand_data_misses_total", @@ -144,7 +128,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.demand_data_misses", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_demand_metadata_hits_total", @@ -152,7 +135,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.demand_metadata_hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_demand_metadata_misses_total", @@ -160,7 +142,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.demand_metadata_misses", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_hdr_bytes", @@ -168,7 +149,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.hdr_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_hits_total", @@ -176,7 +156,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_misses_total", @@ -184,7 +163,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.misses", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_mfu_ghost_hits_total", @@ -192,7 +170,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mfu_ghost_hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_mfu_ghost_size", @@ -200,7 +177,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mfu_ghost_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_mfu_bytes", @@ -208,7 +184,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mfu_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_mru_ghost_hits_total", @@ -216,7 +191,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mru_ghost_hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "arcstats_mru_ghost_bytes", @@ -224,7 +198,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mru_ghost_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_mru_bytes", @@ -232,7 +205,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.mru_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_other_bytes", @@ -240,7 +212,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.other_size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, // when FreeBSD 14.0+, `meta/pm/pd` install of `p`. { @@ -249,7 +220,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.p", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "arcstats_meta_bytes", @@ -278,7 +248,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.arcstats.size", dataType: bsdSysctlTypeUint64, valueType: prometheus.GaugeValue, - labels: nil, }, { name: "zfetchstats_hits_total", @@ -286,7 +255,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.zfetchstats.hits", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, { name: "zfetchstats_misses_total", @@ -294,7 +262,6 @@ func NewZfsCollector(logger log.Logger) (Collector, error) { mib: "kstat.zfs.misc.zfetchstats.misses", dataType: bsdSysctlTypeUint64, valueType: prometheus.CounterValue, - labels: nil, }, }, logger: logger, @@ -320,42 +287,3 @@ func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { return nil } - -func (c *zfsCollector) parseFreeBSDPoolObjsetStats() error { - - sysCtlMetrics := []string{ - "nunlinked", "nunlinks", "nread", "reads", "nwritten", "writes", - } - zfsPoolMibPrefix := "kstat.zfs.pool.dataset" - zfsDatasetNames := []string{} - - zfsDatasets, err := unix.Sysctl(zfsPoolMibPrefix) - if err != nil { - return fmt.Errorf("couldn't get sysctl: %w", err) - } - - for dataset, _ := range zfsDatasets { - if strings.HasSuffix(dataset, ".dataset_name") { - zfsDatasetNames = append(zfsDatasetNames, strings.SplitAfter(dataset, ".")[3]) - } - } - - for zpoolDataset := range zfsDatasetsNames { - zfsDatasetLabels := map[string]string{ - "dataset": zpoolDataset, - "zpool": strings.SplitAfter(zpoolDataset, "/")[0], - } - for metric := range sysCtlMetrics { - c.sysctls = append(c.sysctls, bsdSysctl{ - name: fmt.SprintF("node_zfs_zpool_dataset_%s", metric), - description: fmt.SprintF("node_zfs_zpool_dataset_%s", metric), - mib: fmt.Sprintf("%s.%s.%s", zfsPoolMibPrefix, poolObj, metric), - dataType: bsdSysctlTypeUint64, - valueType: prometheus.CounterValue, - labels: zfsDatasetLabels, - }) - } - } - - return nil -} diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index e7be4a9836..ec195b3d62 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -104,7 +104,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { return errZFSNotAvailable } - err = c.parseLinuxPoolObjsetFile(file, zpoolPath, func(poolName string, datasetName string, s zfsSysctl, v uint64) { + err = c.parsePoolObjsetFile(file, zpoolPath, func(poolName string, datasetName string, s zfsSysctl, v uint64) { ch <- c.constPoolObjsetMetric(poolName, datasetName, s, v) }) file.Close() @@ -220,7 +220,7 @@ func (c *zfsCollector) parsePoolProcfsFile(reader io.Reader, zpoolPath string, h return scanner.Err() } -func (c *zfsCollector) parseLinuxPoolObjsetFile(reader io.Reader, zpoolPath string, handler func(string, string, zfsSysctl, uint64)) error { +func (c *zfsCollector) parsePoolObjsetFile(reader io.Reader, zpoolPath string, handler func(string, string, zfsSysctl, uint64)) error { scanner := bufio.NewScanner(reader) parseLine := false diff --git a/collector/zfs_linux_test.go b/collector/zfs_linux_test.go index f6ce8d9487..69e4ed8fc1 100644 --- a/collector/zfs_linux_test.go +++ b/collector/zfs_linux_test.go @@ -332,7 +332,7 @@ func TestZpoolObjsetParsing(t *testing.T) { t.Fatal(err) } - err = c.parseLinuxPoolObjsetFile(file, zpoolPath, func(poolName string, datasetName string, s zfsSysctl, v uint64) { + err = c.parsePoolObjsetFile(file, zpoolPath, func(poolName string, datasetName string, s zfsSysctl, v uint64) { if s != zfsSysctl("kstat.zfs.misc.objset.writes") { return } From 8cf91ed60f638f224f8d0356982c7d08264768b5 Mon Sep 17 00:00:00 2001 From: DongWei Date: Wed, 14 Feb 2024 22:36:16 +0800 Subject: [PATCH 050/151] filesystem: fix mountTimeout not working issue (#2903) Signed-off-by: DongWei Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_linux.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 6e7623e203..2251cc4b8f 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -122,16 +122,8 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta buf := new(unix.Statfs_t) err := unix.Statfs(rootfsFilePath(labels.mountPoint), buf) - stuckMountsMtx.Lock() close(success) - // If the mount has been marked as stuck, unmark it and log it's recovery. - if _, ok := stuckMounts[labels.mountPoint]; ok { - level.Debug(c.logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", labels.mountPoint) - delete(stuckMounts, labels.mountPoint) - } - stuckMountsMtx.Unlock() - if err != nil { level.Debug(c.logger).Log("msg", "Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err) return filesystemStats{ @@ -161,17 +153,29 @@ func stuckMountWatcher(mountPoint string, success chan struct{}, logger log.Logg select { case <-success: // Success + // If the mount has been marked as stuck, unmark it and log it's recovery. + stuckMountsMtx.Lock() + defer stuckMountsMtx.Unlock() + if _, ok := stuckMounts[mountPoint]; ok { + level.Debug(logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", mountPoint) + delete(stuckMounts, mountPoint) + } case <-mountCheckTimer.C: // Timed out, mark mount as stuck stuckMountsMtx.Lock() + defer stuckMountsMtx.Unlock() select { case <-success: // Success came in just after the timeout was reached, don't label the mount as stuck + // If the mount has been marked as stuck, unmark it and log it's recovery. + if _, ok := stuckMounts[mountPoint]; ok { + level.Debug(logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", mountPoint) + delete(stuckMounts, mountPoint) + } default: level.Debug(logger).Log("msg", "Mount point timed out, it is being labeled as stuck and will not be monitored", "mountpoint", mountPoint) stuckMounts[mountPoint] = struct{}{} } - stuckMountsMtx.Unlock() } } From f36b602ad301c55c3887bc65e9512a4e2bbec21a Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Fri, 16 Feb 2024 09:41:06 +0100 Subject: [PATCH 051/151] Enforce no subprocess policy (#2926) Add depguard to golangci-lint to enforce the no-os/exec policy. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- .golangci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 3f7e4589cb..472b3a5e13 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,5 +1,6 @@ linters: enable: + - depguard - misspell - revive disable: @@ -19,6 +20,14 @@ issues: - errcheck linters-settings: + depguard: + rules: + no_exec_policy: + files: + - "!$test" + deny: + - pkg: "os/exec" + desc: "Using os/exec to run sub processes it not allowed by policy" errcheck: exclude-functions: # Used in HTTP handlers, any error is handled by the server itself. From c636ae4bfb4263a8098a7daba4eae6a3750427dc Mon Sep 17 00:00:00 2001 From: Pamela Mei <126221706+PamelaMei-SAP@users.noreply.github.com> Date: Sun, 18 Feb 2024 19:04:30 +0800 Subject: [PATCH 052/151] filesystem: surface device errors (#2923) filesystem: surface filesystem device error Fixes: #2918 --------- Signed-off-by: Pamela Mei i540369 Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_common.go | 18 +++++++++--------- collector/filesystem_linux.go | 11 +++++++---- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index f5dde59ab7..f5d5135241 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -60,7 +60,7 @@ var ( "Regexp of filesystem types to ignore for filesystem collector.", ).Hidden().String() - filesystemLabelNames = []string{"device", "mountpoint", "fstype"} + filesystemLabelNames = []string{"device", "mountpoint", "fstype", "device_error"} ) type filesystemCollector struct { @@ -73,7 +73,7 @@ type filesystemCollector struct { } type filesystemLabels struct { - device, mountPoint, fsType, options string + device, mountPoint, fsType, options, deviceError string } type filesystemStats struct { @@ -184,11 +184,11 @@ func (c *filesystemCollector) Update(ch chan<- prometheus.Metric) error { ch <- prometheus.MustNewConstMetric( c.deviceErrorDesc, prometheus.GaugeValue, - s.deviceError, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.deviceError, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) ch <- prometheus.MustNewConstMetric( c.roDesc, prometheus.GaugeValue, - s.ro, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.ro, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) if s.deviceError > 0 { @@ -197,23 +197,23 @@ func (c *filesystemCollector) Update(ch chan<- prometheus.Metric) error { ch <- prometheus.MustNewConstMetric( c.sizeDesc, prometheus.GaugeValue, - s.size, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.size, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) ch <- prometheus.MustNewConstMetric( c.freeDesc, prometheus.GaugeValue, - s.free, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.free, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) ch <- prometheus.MustNewConstMetric( c.availDesc, prometheus.GaugeValue, - s.avail, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.avail, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) ch <- prometheus.MustNewConstMetric( c.filesDesc, prometheus.GaugeValue, - s.files, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.files, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) ch <- prometheus.MustNewConstMetric( c.filesFreeDesc, prometheus.GaugeValue, - s.filesFree, s.labels.device, s.labels.mountPoint, s.labels.fsType, + s.filesFree, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) } return nil diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 2251cc4b8f..23e5359d11 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -85,6 +85,7 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { stuckMountsMtx.Lock() if _, ok := stuckMounts[labels.mountPoint]; ok { + labels.deviceError = "mountpoint timeout" stats = append(stats, filesystemStats{ labels: labels, deviceError: 1, @@ -125,6 +126,7 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta close(success) if err != nil { + labels.deviceError = err.Error() level.Debug(c.logger).Log("msg", "Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err) return filesystemStats{ labels: labels, @@ -211,10 +213,11 @@ func parseFilesystemLabels(r io.Reader) ([]filesystemLabels, error) { parts[1] = strings.Replace(parts[1], "\\011", "\t", -1) filesystems = append(filesystems, filesystemLabels{ - device: parts[0], - mountPoint: rootfsStripPrefix(parts[1]), - fsType: parts[2], - options: parts[3], + device: parts[0], + mountPoint: rootfsStripPrefix(parts[1]), + fsType: parts[2], + options: parts[3], + deviceError: "", }) } From 9c34a01f45cfa91a6e45b3b7f89423ec41b135e9 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Tue, 20 Feb 2024 10:31:08 +0100 Subject: [PATCH 053/151] Revert "filesystem: fix mountTimeout not working issue (#2903)" (#2932) This reverts commit 9f1f791ac2e1377781c4f8807a23d86d92ad6499. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_linux.go | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 23e5359d11..1d0c8493b9 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -123,8 +123,16 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta buf := new(unix.Statfs_t) err := unix.Statfs(rootfsFilePath(labels.mountPoint), buf) + stuckMountsMtx.Lock() close(success) + // If the mount has been marked as stuck, unmark it and log it's recovery. + if _, ok := stuckMounts[labels.mountPoint]; ok { + level.Debug(c.logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", labels.mountPoint) + delete(stuckMounts, labels.mountPoint) + } + stuckMountsMtx.Unlock() + if err != nil { labels.deviceError = err.Error() level.Debug(c.logger).Log("msg", "Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err) @@ -155,29 +163,17 @@ func stuckMountWatcher(mountPoint string, success chan struct{}, logger log.Logg select { case <-success: // Success - // If the mount has been marked as stuck, unmark it and log it's recovery. - stuckMountsMtx.Lock() - defer stuckMountsMtx.Unlock() - if _, ok := stuckMounts[mountPoint]; ok { - level.Debug(logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", mountPoint) - delete(stuckMounts, mountPoint) - } case <-mountCheckTimer.C: // Timed out, mark mount as stuck stuckMountsMtx.Lock() - defer stuckMountsMtx.Unlock() select { case <-success: // Success came in just after the timeout was reached, don't label the mount as stuck - // If the mount has been marked as stuck, unmark it and log it's recovery. - if _, ok := stuckMounts[mountPoint]; ok { - level.Debug(logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", mountPoint) - delete(stuckMounts, mountPoint) - } default: level.Debug(logger).Log("msg", "Mount point timed out, it is being labeled as stuck and will not be monitored", "mountpoint", mountPoint) stuckMounts[mountPoint] = struct{}{} } + stuckMountsMtx.Unlock() } } From be2f8ff86a7a75266d9e27de8e56d773dd2b52f0 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Mon, 26 Feb 2024 19:30:39 +0100 Subject: [PATCH 054/151] Update common Prometheus files (#2939) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 8f25279111..0e8515722f 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -28,7 +28,7 @@ jobs: - name: install Go uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 with: - go-version: 1.21.x + go-version: 1.22.x - name: Install snmp_exporter/generator dependencies run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' From 20a951e888b2dccde46042c46f507bb72415e2cc Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Mon, 4 Mar 2024 18:55:14 +0100 Subject: [PATCH 055/151] Update common Prometheus files (#2946) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 0e8515722f..4dc7b830f6 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -33,6 +33,6 @@ jobs: run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' - name: Lint - uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 + uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0 with: version: v1.55.2 From cc45f508872dc370b526c11c4ae4141a4171687a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:57:44 +0100 Subject: [PATCH 056/151] build(deps): bump golang.org/x/sys from 0.16.0 to 0.17.0 (#2943) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.16.0 to 0.17.0. - [Commits](https://github.com/golang/sys/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7de9d10c1d..d47be68b81 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.16.0 + golang.org/x/sys v0.17.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index 111cecd41c..5dca6f365d 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,8 @@ golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From 3641d1c456297db29922c275cec4bd4a1d9d4ba6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:57:55 +0100 Subject: [PATCH 057/151] build(deps): bump github.com/prometheus/client_golang (#2942) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.18.0 to 1.19.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.19.0/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index d47be68b81..6a403bce86 100644 --- a/go.mod +++ b/go.mod @@ -22,9 +22,9 @@ require ( github.com/mdlayher/wifi v0.1.0 github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 - github.com/prometheus/client_golang v1.18.0 + github.com/prometheus/client_golang v1.19.0 github.com/prometheus/client_model v0.5.0 - github.com/prometheus/common v0.46.0 + github.com/prometheus/common v0.48.0 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 diff --git a/go.sum b/go.sum index 5dca6f365d..ededd93b3f 100644 --- a/go.sum +++ b/go.sum @@ -71,12 +71,12 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= -github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.46.0 h1:doXzt5ybi1HBKpsZOL0sSkaNHJJqkyfEWZGGqqScV0Y= -github.com/prometheus/common v0.46.0/go.mod h1:Tp0qkxpb9Jsg54QMe+EAmqXkSV7Evdy1BTn+g2pa/hQ= +github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= +github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= From 20ff6d48139f8da75269ff5f21769b91ce801c14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:06:12 +0100 Subject: [PATCH 058/151] build(deps): bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 (#2944) Bumps [github.com/prometheus/client_model](https://github.com/prometheus/client_model) from 0.5.0 to 0.6.0. - [Release notes](https://github.com/prometheus/client_model/releases) - [Commits](https://github.com/prometheus/client_model/compare/v0.5.0...v0.6.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_model dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6a403bce86..398f34adf9 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.19.0 - github.com/prometheus/client_model v0.5.0 + github.com/prometheus/client_model v0.6.0 github.com/prometheus/common v0.48.0 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.12.0 diff --git a/go.sum b/go.sum index ededd93b3f..1a2a15df6f 100644 --- a/go.sum +++ b/go.sum @@ -73,8 +73,8 @@ github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPr github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= From 900559bdacaa086b6449d7ff09a06d1616d4dcca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 11:16:50 +0100 Subject: [PATCH 059/151] build(deps): bump golang.org/x/sys from 0.17.0 to 0.18.0 (#2948) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.17.0 to 0.18.0. - [Commits](https://github.com/golang/sys/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 398f34adf9..0a6a104711 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.12.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.17.0 + golang.org/x/sys v0.18.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index 1a2a15df6f..d96c0b9e8b 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,8 @@ golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From 736e9ebed4f3ef8d4c00779f3b285a2a830d5b21 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Fri, 8 Mar 2024 09:49:22 +0100 Subject: [PATCH 060/151] Update common Prometheus files (#2949) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- Makefile.common | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile.common b/Makefile.common index 5fd1782371..92558151e3 100644 --- a/Makefile.common +++ b/Makefile.common @@ -169,12 +169,16 @@ common-vet: common-lint: $(GOLANGCI_LINT) ifdef GOLANGCI_LINT @echo ">> running golangci-lint" -# 'go list' needs to be executed before staticcheck to prepopulate the modules cache. -# Otherwise staticcheck might fail randomly for some reason not yet explained. - $(GO) list -e -compiled -test=true -export=false -deps=true -find=false -tags= -- ./... > /dev/null $(GOLANGCI_LINT) run $(GOLANGCI_LINT_OPTS) $(pkgs) endif +.PHONY: common-lint-fix +common-lint-fix: $(GOLANGCI_LINT) +ifdef GOLANGCI_LINT + @echo ">> running golangci-lint fix" + $(GOLANGCI_LINT) run --fix $(GOLANGCI_LINT_OPTS) $(pkgs) +endif + .PHONY: common-yamllint common-yamllint: @echo ">> running yamllint on all YAML files in the repository" From 77b80847ed2b13941e761cb097b2a518941bdf2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 10:01:54 +0100 Subject: [PATCH 061/151] build(deps): bump github.com/prometheus/procfs from 0.12.0 to 0.13.0 (#2952) Bumps [github.com/prometheus/procfs](https://github.com/prometheus/procfs) from 0.12.0 to 0.13.0. - [Release notes](https://github.com/prometheus/procfs/releases) - [Commits](https://github.com/prometheus/procfs/compare/v0.12.0...v0.13.0) --- updated-dependencies: - dependency-name: github.com/prometheus/procfs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 0a6a104711..098d25fbf6 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/prometheus/client_model v0.6.0 github.com/prometheus/common v0.48.0 github.com/prometheus/exporter-toolkit v0.11.0 - github.com/prometheus/procfs v0.12.0 + github.com/prometheus/procfs v0.13.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/sys v0.18.0 @@ -53,7 +53,7 @@ require ( golang.org/x/crypto v0.18.0 // indirect golang.org/x/net v0.20.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.5.0 // indirect + golang.org/x/sync v0.6.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.32.0 // indirect diff --git a/go.sum b/go.sum index d96c0b9e8b..3439fcded6 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,8 @@ github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSz github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= @@ -106,8 +106,8 @@ golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= From e4bfd19c920ead378afe667f4befacc1b5828e4f Mon Sep 17 00:00:00 2001 From: linuxgcc Date: Fri, 8 Mar 2024 22:06:03 +0800 Subject: [PATCH 062/151] disable selinux,fix end-to-end-test.sh error(#2934) (#2937) Signed-off-by: heyitao Co-authored-by: heyitao Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/e2e-64k-page-output.txt | 4 ---- collector/fixtures/e2e-output.txt | 4 ---- end-to-end-test.sh | 2 +- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 5b0ac8db46..c670fd9560 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2933,7 +2933,6 @@ node_scrape_collector_success{collector="processes"} 1 node_scrape_collector_success{collector="qdisc"} 1 node_scrape_collector_success{collector="rapl"} 1 node_scrape_collector_success{collector="schedstat"} 1 -node_scrape_collector_success{collector="selinux"} 1 node_scrape_collector_success{collector="slabinfo"} 1 node_scrape_collector_success{collector="sockstat"} 1 node_scrape_collector_success{collector="softirqs"} 1 @@ -2951,9 +2950,6 @@ node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 node_scrape_collector_success{collector="zfs"} 1 node_scrape_collector_success{collector="zoneinfo"} 1 -# HELP node_selinux_enabled SELinux is enabled, 1 is true, 0 is false -# TYPE node_selinux_enabled gauge -node_selinux_enabled 0 # HELP node_slabinfo_active_objects The number of objects that are currently active (i.e., in use). # TYPE node_slabinfo_active_objects gauge node_slabinfo_active_objects{slab="dmaengine-unmap-128"} 1206 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 8920e56203..2caceedbb4 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2955,7 +2955,6 @@ node_scrape_collector_success{collector="processes"} 1 node_scrape_collector_success{collector="qdisc"} 1 node_scrape_collector_success{collector="rapl"} 1 node_scrape_collector_success{collector="schedstat"} 1 -node_scrape_collector_success{collector="selinux"} 1 node_scrape_collector_success{collector="slabinfo"} 1 node_scrape_collector_success{collector="sockstat"} 1 node_scrape_collector_success{collector="softirqs"} 1 @@ -2973,9 +2972,6 @@ node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 node_scrape_collector_success{collector="zfs"} 1 node_scrape_collector_success{collector="zoneinfo"} 1 -# HELP node_selinux_enabled SELinux is enabled, 1 is true, 0 is false -# TYPE node_selinux_enabled gauge -node_selinux_enabled 0 # HELP node_slabinfo_active_objects The number of objects that are currently active (i.e., in use). # TYPE node_slabinfo_active_objects gauge node_slabinfo_active_objects{slab="dmaengine-unmap-128"} 1206 diff --git a/end-to-end-test.sh b/end-to-end-test.sh index 46d52603e7..60263d54eb 100755 --- a/end-to-end-test.sh +++ b/end-to-end-test.sh @@ -40,7 +40,6 @@ enabled_collectors=$(cat << COLLECTORS qdisc rapl schedstat - selinux slabinfo sockstat softirqs @@ -58,6 +57,7 @@ enabled_collectors=$(cat << COLLECTORS COLLECTORS ) disabled_collectors=$(cat << COLLECTORS + selinux filesystem timex uname From fbfdce60db8764da2f383b3e47aba40c79b69862 Mon Sep 17 00:00:00 2001 From: Gavin Lam Date: Sat, 9 Mar 2024 04:00:06 -0500 Subject: [PATCH 063/151] Add new collector and metrics for watchdog (#2309) (#2880) Signed-off-by: Gavin Lam Signed-off-by: Vitaly Zhuravlev --- README.md | 1 + collector/fixtures/e2e-64k-page-output.txt | 26 ++++ collector/fixtures/e2e-output.txt | 26 ++++ collector/fixtures/sys.ttar | 69 +++++++++++ collector/watchdog.go | 133 +++++++++++++++++++++ collector/watchdog_test.go | 92 ++++++++++++++ end-to-end-test.sh | 1 + 7 files changed, 348 insertions(+) create mode 100644 collector/watchdog.go create mode 100644 collector/watchdog_test.go diff --git a/README.md b/README.md index 87b4e4ba01..5856df806c 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ softirqs | Exposes detailed softirq statistics from `/proc/softirqs`. | Linux sysctl | Expose sysctl values from `/proc/sys`. Use `--collector.sysctl.include(-info)` to configure. | Linux systemd | Exposes service and system status from [systemd](http://www.freedesktop.org/wiki/Software/systemd/). | Linux tcpstat | Exposes TCP connection status information from `/proc/net/tcp` and `/proc/net/tcp6`. (Warning: the current version has potential performance issues in high load situations.) | Linux +watchdog | Exposes statistics from `/sys/class/watchdog` | Linux wifi | Exposes WiFi device and station statistics. | Linux xfrm | Exposes statistics from `/proc/net/xfrm_stat` | Linux zoneinfo | Exposes NUMA memory zone metrics. | Linux diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index c670fd9560..e3de810caf 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2945,6 +2945,7 @@ node_scrape_collector_success{collector="thermal_zone"} 1 node_scrape_collector_success{collector="time"} 1 node_scrape_collector_success{collector="udp_queues"} 1 node_scrape_collector_success{collector="vmstat"} 1 +node_scrape_collector_success{collector="watchdog"} 1 node_scrape_collector_success{collector="wifi"} 1 node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 @@ -3218,6 +3219,31 @@ node_vmstat_pswpin 1476 # HELP node_vmstat_pswpout /proc/vmstat information field pswpout. # TYPE node_vmstat_pswpout untyped node_vmstat_pswpout 35045 +# HELP node_watchdog_access_cs0 Value of /sys/class/watchdog//access_cs0 +# TYPE node_watchdog_access_cs0 gauge +node_watchdog_access_cs0{name="watchdog0"} 0 +# HELP node_watchdog_bootstatus Value of /sys/class/watchdog//bootstatus +# TYPE node_watchdog_bootstatus gauge +node_watchdog_bootstatus{name="watchdog0"} 1 +# HELP node_watchdog_fw_version Value of /sys/class/watchdog//fw_version +# TYPE node_watchdog_fw_version gauge +node_watchdog_fw_version{name="watchdog0"} 2 +# HELP node_watchdog_info Info of /sys/class/watchdog/ +# TYPE node_watchdog_info gauge +node_watchdog_info{identity="",name="watchdog1",options="",pretimeout_governor="",state="",status=""} 1 +node_watchdog_info{identity="Software Watchdog",name="watchdog0",options="0x8380",pretimeout_governor="noop",state="active",status="0x8000"} 1 +# HELP node_watchdog_nowayout Value of /sys/class/watchdog//nowayout +# TYPE node_watchdog_nowayout gauge +node_watchdog_nowayout{name="watchdog0"} 0 +# HELP node_watchdog_pretimeout_seconds Value of /sys/class/watchdog//pretimeout +# TYPE node_watchdog_pretimeout_seconds gauge +node_watchdog_pretimeout_seconds{name="watchdog0"} 120 +# HELP node_watchdog_timeleft_seconds Value of /sys/class/watchdog//timeleft +# TYPE node_watchdog_timeleft_seconds gauge +node_watchdog_timeleft_seconds{name="watchdog0"} 300 +# HELP node_watchdog_timeout_seconds Value of /sys/class/watchdog//timeout +# TYPE node_watchdog_timeout_seconds gauge +node_watchdog_timeout_seconds{name="watchdog0"} 60 # HELP node_wifi_interface_frequency_hertz The current frequency a WiFi interface is operating at, in hertz. # TYPE node_wifi_interface_frequency_hertz gauge node_wifi_interface_frequency_hertz{device="wlan0"} 2.412e+09 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 2caceedbb4..5b6cfbe1dd 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2967,6 +2967,7 @@ node_scrape_collector_success{collector="thermal_zone"} 1 node_scrape_collector_success{collector="time"} 1 node_scrape_collector_success{collector="udp_queues"} 1 node_scrape_collector_success{collector="vmstat"} 1 +node_scrape_collector_success{collector="watchdog"} 1 node_scrape_collector_success{collector="wifi"} 1 node_scrape_collector_success{collector="xfrm"} 1 node_scrape_collector_success{collector="xfs"} 1 @@ -3240,6 +3241,31 @@ node_vmstat_pswpin 1476 # HELP node_vmstat_pswpout /proc/vmstat information field pswpout. # TYPE node_vmstat_pswpout untyped node_vmstat_pswpout 35045 +# HELP node_watchdog_access_cs0 Value of /sys/class/watchdog//access_cs0 +# TYPE node_watchdog_access_cs0 gauge +node_watchdog_access_cs0{name="watchdog0"} 0 +# HELP node_watchdog_bootstatus Value of /sys/class/watchdog//bootstatus +# TYPE node_watchdog_bootstatus gauge +node_watchdog_bootstatus{name="watchdog0"} 1 +# HELP node_watchdog_fw_version Value of /sys/class/watchdog//fw_version +# TYPE node_watchdog_fw_version gauge +node_watchdog_fw_version{name="watchdog0"} 2 +# HELP node_watchdog_info Info of /sys/class/watchdog/ +# TYPE node_watchdog_info gauge +node_watchdog_info{identity="",name="watchdog1",options="",pretimeout_governor="",state="",status=""} 1 +node_watchdog_info{identity="Software Watchdog",name="watchdog0",options="0x8380",pretimeout_governor="noop",state="active",status="0x8000"} 1 +# HELP node_watchdog_nowayout Value of /sys/class/watchdog//nowayout +# TYPE node_watchdog_nowayout gauge +node_watchdog_nowayout{name="watchdog0"} 0 +# HELP node_watchdog_pretimeout_seconds Value of /sys/class/watchdog//pretimeout +# TYPE node_watchdog_pretimeout_seconds gauge +node_watchdog_pretimeout_seconds{name="watchdog0"} 120 +# HELP node_watchdog_timeleft_seconds Value of /sys/class/watchdog//timeleft +# TYPE node_watchdog_timeleft_seconds gauge +node_watchdog_timeleft_seconds{name="watchdog0"} 300 +# HELP node_watchdog_timeout_seconds Value of /sys/class/watchdog//timeout +# TYPE node_watchdog_timeout_seconds gauge +node_watchdog_timeout_seconds{name="watchdog0"} 60 # HELP node_wifi_interface_frequency_hertz The current frequency a WiFi interface is operating at, in hertz. # TYPE node_wifi_interface_frequency_hertz gauge node_wifi_interface_frequency_hertz{device="wlan0"} 2.412e+09 diff --git a/collector/fixtures/sys.ttar b/collector/fixtures/sys.ttar index 213c8b3867..0573cfd312 100644 --- a/collector/fixtures/sys.ttar +++ b/collector/fixtures/sys.ttar @@ -1717,6 +1717,75 @@ SymlinkTo: ../../devices/virtual/thermal/cooling_device0 Path: sys/class/thermal/thermal_zone0 SymlinkTo: ../../devices/virtual/thermal/thermal_zone0 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: sys/class/watchdog +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: sys/class/watchdog/watchdog0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/access_cs0 +Lines: 1 +0EOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/bootstatus +Lines: 1 +1EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/fw_version +Lines: 1 +2EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/identity +Lines: 1 +Software WatchdogEOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/nowayout +Lines: 1 +0EOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/options +Lines: 1 +0x8380EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/pretimeout +Lines: 1 +120EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/pretimeout_governor +Lines: 1 +noopEOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/state +Lines: 1 +activeEOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/status +Lines: 1 +0x8000EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/timeleft +Lines: 1 +300EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/watchdog/watchdog0/timeout +Lines: 1 +60EOF +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: sys/class/watchdog/watchdog1 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: sys/devices Mode: 755 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/collector/watchdog.go b/collector/watchdog.go new file mode 100644 index 0000000000..b4cb83d535 --- /dev/null +++ b/collector/watchdog.go @@ -0,0 +1,133 @@ +// Copyright 2023 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build linux && !nowatchdog +// +build linux,!nowatchdog + +package collector + +import ( + "fmt" + + "github.com/go-kit/log" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/procfs/sysfs" +) + +type watchdogCollector struct { + fs sysfs.FS + logger log.Logger +} + +func init() { + registerCollector("watchdog", defaultDisabled, NewWatchdogCollector) +} + +// NewWatchdogCollector returns a new Collector exposing watchdog stats. +func NewWatchdogCollector(logger log.Logger) (Collector, error) { + fs, err := sysfs.NewFS(*sysPath) + if err != nil { + return nil, fmt.Errorf("failed to open procfs: %w", err) + } + + return &watchdogCollector{ + fs: fs, + logger: logger, + }, nil +} + +var ( + watchdogBootstatusDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "bootstatus"), + "Value of /sys/class/watchdog//bootstatus", + []string{"name"}, nil, + ) + watchdogFwVersionDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "fw_version"), + "Value of /sys/class/watchdog//fw_version", + []string{"name"}, nil, + ) + watchdogNowayoutDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "nowayout"), + "Value of /sys/class/watchdog//nowayout", + []string{"name"}, nil, + ) + watchdogTimeleftDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "timeleft_seconds"), + "Value of /sys/class/watchdog//timeleft", + []string{"name"}, nil, + ) + watchdogTimeoutDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "timeout_seconds"), + "Value of /sys/class/watchdog//timeout", + []string{"name"}, nil, + ) + watchdogPretimeoutDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "pretimeout_seconds"), + "Value of /sys/class/watchdog//pretimeout", + []string{"name"}, nil, + ) + watchdogAccessCs0Desc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "access_cs0"), + "Value of /sys/class/watchdog//access_cs0", + []string{"name"}, nil, + ) + watchdogInfoDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "watchdog", "info"), + "Info of /sys/class/watchdog/", + []string{"name", "options", "identity", "state", "status", "pretimeout_governor"}, nil, + ) +) + +func toLabelValue(ptr *string) string { + if ptr == nil { + return "" + } + return *ptr +} + +func (c *watchdogCollector) Update(ch chan<- prometheus.Metric) error { + watchdogClass, err := c.fs.WatchdogClass() + if err != nil { + return err + } + + for _, wd := range watchdogClass { + if wd.Bootstatus != nil { + ch <- prometheus.MustNewConstMetric(watchdogBootstatusDesc, prometheus.GaugeValue, float64(*wd.Bootstatus), wd.Name) + } + if wd.FwVersion != nil { + ch <- prometheus.MustNewConstMetric(watchdogFwVersionDesc, prometheus.GaugeValue, float64(*wd.FwVersion), wd.Name) + } + if wd.Nowayout != nil { + ch <- prometheus.MustNewConstMetric(watchdogNowayoutDesc, prometheus.GaugeValue, float64(*wd.Nowayout), wd.Name) + } + if wd.Timeleft != nil { + ch <- prometheus.MustNewConstMetric(watchdogTimeleftDesc, prometheus.GaugeValue, float64(*wd.Timeleft), wd.Name) + } + if wd.Timeout != nil { + ch <- prometheus.MustNewConstMetric(watchdogTimeoutDesc, prometheus.GaugeValue, float64(*wd.Timeout), wd.Name) + } + if wd.Pretimeout != nil { + ch <- prometheus.MustNewConstMetric(watchdogPretimeoutDesc, prometheus.GaugeValue, float64(*wd.Pretimeout), wd.Name) + } + if wd.AccessCs0 != nil { + ch <- prometheus.MustNewConstMetric(watchdogAccessCs0Desc, prometheus.GaugeValue, float64(*wd.AccessCs0), wd.Name) + } + + ch <- prometheus.MustNewConstMetric(watchdogInfoDesc, prometheus.GaugeValue, 1.0, + wd.Name, toLabelValue(wd.Options), toLabelValue(wd.Identity), toLabelValue(wd.State), toLabelValue(wd.Status), toLabelValue(wd.PretimeoutGovernor)) + } + + return nil +} diff --git a/collector/watchdog_test.go b/collector/watchdog_test.go new file mode 100644 index 0000000000..7cf9418574 --- /dev/null +++ b/collector/watchdog_test.go @@ -0,0 +1,92 @@ +// Copyright 2023 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file ewcept in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nowatchdog +// +build !nowatchdog + +package collector + +import ( + "fmt" + "os" + "strings" + "testing" + + "github.com/go-kit/log" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/testutil" +) + +type testWatchdogCollector struct { + wc Collector +} + +func (c testWatchdogCollector) Collect(ch chan<- prometheus.Metric) { + c.wc.Update(ch) +} + +func (c testWatchdogCollector) Describe(ch chan<- *prometheus.Desc) { + prometheus.DescribeByCollect(c, ch) +} + +func TestWatchdogStats(t *testing.T) { + testcase := `# HELP node_watchdog_access_cs0 Value of /sys/class/watchdog//access_cs0 + # TYPE node_watchdog_access_cs0 gauge + node_watchdog_access_cs0{name="watchdog0"} 0 + # HELP node_watchdog_bootstatus Value of /sys/class/watchdog//bootstatus + # TYPE node_watchdog_bootstatus gauge + node_watchdog_bootstatus{name="watchdog0"} 1 + # HELP node_watchdog_fw_version Value of /sys/class/watchdog//fw_version + # TYPE node_watchdog_fw_version gauge + node_watchdog_fw_version{name="watchdog0"} 2 + # HELP node_watchdog_info Info of /sys/class/watchdog/ + # TYPE node_watchdog_info gauge + node_watchdog_info{identity="",name="watchdog1",options="",pretimeout_governor="",state="",status=""} 1 + node_watchdog_info{identity="Software Watchdog",name="watchdog0",options="0x8380",pretimeout_governor="noop",state="active",status="0x8000"} 1 + # HELP node_watchdog_nowayout Value of /sys/class/watchdog//nowayout + # TYPE node_watchdog_nowayout gauge + node_watchdog_nowayout{name="watchdog0"} 0 + # HELP node_watchdog_pretimeout_seconds Value of /sys/class/watchdog//pretimeout + # TYPE node_watchdog_pretimeout_seconds gauge + node_watchdog_pretimeout_seconds{name="watchdog0"} 120 + # HELP node_watchdog_timeleft_seconds Value of /sys/class/watchdog//timeleft + # TYPE node_watchdog_timeleft_seconds gauge + node_watchdog_timeleft_seconds{name="watchdog0"} 300 + # HELP node_watchdog_timeout_seconds Value of /sys/class/watchdog//timeout + # TYPE node_watchdog_timeout_seconds gauge + node_watchdog_timeout_seconds{name="watchdog0"} 60 + ` + *sysPath = "fixtures/sys" + + logger := log.NewLogfmtLogger(os.Stderr) + c, err := NewWatchdogCollector(logger) + if err != nil { + t.Fatal(err) + } + reg := prometheus.NewRegistry() + reg.MustRegister(&testWatchdogCollector{wc: c}) + + sink := make(chan prometheus.Metric) + go func() { + err = c.Update(sink) + if err != nil { + panic(fmt.Errorf("failed to update collector: %s", err)) + } + close(sink) + }() + + err = testutil.GatherAndCompare(reg, strings.NewReader(testcase)) + if err != nil { + t.Fatal(err) + } +} diff --git a/end-to-end-test.sh b/end-to-end-test.sh index 60263d54eb..35e4534e6d 100755 --- a/end-to-end-test.sh +++ b/end-to-end-test.sh @@ -49,6 +49,7 @@ enabled_collectors=$(cat << COLLECTORS thermal_zone udp_queues vmstat + watchdog wifi xfrm xfs From da8c66065d6ff440ce6d97ba64b4ba8a7509bbf9 Mon Sep 17 00:00:00 2001 From: Gavin Lam Date: Thu, 14 Mar 2024 02:50:55 -0400 Subject: [PATCH 064/151] Enable watchdog module by default; Add no data error (#2953) Signed-off-by: Gavin Lam Signed-off-by: Vitaly Zhuravlev --- README.md | 2 +- collector/watchdog.go | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5856df806c..ad385650a4 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ timex | Exposes selected adjtimex(2) system call stats. | Linux udp_queues | Exposes UDP total lengths of the rx_queue and tx_queue from `/proc/net/udp` and `/proc/net/udp6`. | Linux uname | Exposes system information as provided by the uname system call. | Darwin, FreeBSD, Linux, OpenBSD vmstat | Exposes statistics from `/proc/vmstat`. | Linux +watchdog | Exposes statistics from `/sys/class/watchdog` | Linux xfs | Exposes XFS runtime statistics. | Linux (kernel 4.4+) zfs | Exposes [ZFS](http://open-zfs.org/) performance statistics. | FreeBSD, [Linux](http://zfsonlinux.org/), Solaris @@ -204,7 +205,6 @@ softirqs | Exposes detailed softirq statistics from `/proc/softirqs`. | Linux sysctl | Expose sysctl values from `/proc/sys`. Use `--collector.sysctl.include(-info)` to configure. | Linux systemd | Exposes service and system status from [systemd](http://www.freedesktop.org/wiki/Software/systemd/). | Linux tcpstat | Exposes TCP connection status information from `/proc/net/tcp` and `/proc/net/tcp6`. (Warning: the current version has potential performance issues in high load situations.) | Linux -watchdog | Exposes statistics from `/sys/class/watchdog` | Linux wifi | Exposes WiFi device and station statistics. | Linux xfrm | Exposes statistics from `/proc/net/xfrm_stat` | Linux zoneinfo | Exposes NUMA memory zone metrics. | Linux diff --git a/collector/watchdog.go b/collector/watchdog.go index b4cb83d535..01351be9b5 100644 --- a/collector/watchdog.go +++ b/collector/watchdog.go @@ -17,9 +17,12 @@ package collector import ( + "errors" "fmt" + "os" "github.com/go-kit/log" + "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -30,7 +33,7 @@ type watchdogCollector struct { } func init() { - registerCollector("watchdog", defaultDisabled, NewWatchdogCollector) + registerCollector("watchdog", defaultEnabled, NewWatchdogCollector) } // NewWatchdogCollector returns a new Collector exposing watchdog stats. @@ -99,6 +102,10 @@ func toLabelValue(ptr *string) string { func (c *watchdogCollector) Update(ch chan<- prometheus.Metric) error { watchdogClass, err := c.fs.WatchdogClass() if err != nil { + if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) || errors.Is(err, os.ErrInvalid) { + level.Debug(c.logger).Log("msg", "Could not read watchdog stats", "err", err) + return ErrNoData + } return err } From b474161921dd8d5419282900b0bc776a8b3be8bb Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Sun, 17 Mar 2024 16:32:01 +0100 Subject: [PATCH 065/151] Update common Prometheus files (#2954) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- Makefile.common | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.common b/Makefile.common index 92558151e3..49ed5f5478 100644 --- a/Makefile.common +++ b/Makefile.common @@ -208,6 +208,10 @@ common-tarball: promu @echo ">> building release tarball" $(PROMU) tarball --prefix $(PREFIX) $(BIN_DIR) +.PHONY: common-docker-repo-name +common-docker-repo-name: + @echo "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)" + .PHONY: common-docker $(BUILD_DOCKER_ARCHS) common-docker: $(BUILD_DOCKER_ARCHS) $(BUILD_DOCKER_ARCHS): common-docker-%: From 3b07fcc9918adc8f89a69de4080733b3e88447cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 16:32:11 +0100 Subject: [PATCH 066/151] build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#2955) Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 098d25fbf6..ea6b91a6f1 100644 --- a/go.mod +++ b/go.mod @@ -56,6 +56,6 @@ require ( golang.org/x/sync v0.6.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 3439fcded6..15f9dadbfa 100644 --- a/go.sum +++ b/go.sum @@ -123,8 +123,8 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= From 789911fe69089409adc9b608d0f5e98c3d9c463f Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Mon, 18 Mar 2024 19:32:49 +0100 Subject: [PATCH 067/151] Update common Prometheus files (#2959) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 55 +++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/container_description.yml diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml new file mode 100644 index 0000000000..0b8a8cc05f --- /dev/null +++ b/.github/workflows/container_description.yml @@ -0,0 +1,55 @@ +--- +name: Push README to Docker Hub +on: + push: + paths: + - "README.md" + - ".github/workflows/container_description.yml" + branches: [ main, master ] + +permissions: + contents: read + +jobs: + PushDockerHubReadme: + runs-on: ubuntu-latest + name: Push README to Docker Hub + if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. + steps: + - name: git checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Set docker hub repo name + run: echo "DOCKER_REPO_NAME=$(make common-docker-repo-name)" >> $GITHUB_ENV + - name: Push README to Dockerhub + uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 + env: + DOCKER_USER: ${{ secrets.DOCKER_HUB_LOGIN }} + DOCKER_PASS: ${{ secrets.DOCKER_HUB_PASSWORD }} + with: + destination_container_repo: ${{ env.DOCKER_REPO_NAME }} + provider: dockerhub + short_description: ${{ env.DOCKER_REPO_NAME }} + readme_file: 'README.md' + + PushQuayIoReadme: + runs-on: ubuntu-latest + name: Push README to quay.io + if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. + steps: + - name: git checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Set quay.io org name + run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV + - name: Set quay.io repo name + run: echo "DOCKER_REPO_NAME=$(make common-docker-repo-name)" >> $GITHUB_ENV + - name: Push README to quay.io + uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 + env: + DOCKER_APIKEY: ${{ secrets.QUAY_IO_API_TOKEN }} + with: + destination_container_repo: ${{ env.DOCKER_REPO_NAME }} + provider: quay + readme_file: 'README.md' + + + From 7a876042d964a77ab2c780829932a5ceb236b1c6 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Thu, 21 Mar 2024 09:15:02 +0100 Subject: [PATCH 068/151] Update common Prometheus files (#2964) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index 0b8a8cc05f..8a57107dd9 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -19,7 +19,7 @@ jobs: - name: git checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Set docker hub repo name - run: echo "DOCKER_REPO_NAME=$(make common-docker-repo-name)" >> $GITHUB_ENV + run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to Dockerhub uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 env: @@ -41,7 +41,7 @@ jobs: - name: Set quay.io org name run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - name: Set quay.io repo name - run: echo "DOCKER_REPO_NAME=$(make common-docker-repo-name)" >> $GITHUB_ENV + run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to quay.io uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 env: @@ -50,6 +50,3 @@ jobs: destination_container_repo: ${{ env.DOCKER_REPO_NAME }} provider: quay readme_file: 'README.md' - - - From 57a335ec95d534eefbc57d7c63de7d3c86bf9664 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Thu, 29 Feb 2024 22:00:45 +0100 Subject: [PATCH 069/151] Sanitize ethtool metric name keys Apply the same metric name sanitization to the keys as to the metric names. This avoids conflicting help strings in the metric registry. Fixes: https://github.com/prometheus/node_exporter/issues/2893 Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- collector/ethtool_linux.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/collector/ethtool_linux.go b/collector/ethtool_linux.go index 0111701bbe..7412c27c37 100644 --- a/collector/ethtool_linux.go +++ b/collector/ethtool_linux.go @@ -445,18 +445,19 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { // Sanitizing the metric names can lead to duplicate metric names. Therefore check for clashes beforehand. metricFQNames := make(map[string]string) for metric := range stats { - if !c.metricsPattern.MatchString(metric) { + metricName := SanitizeMetricName(metric) + if !c.metricsPattern.MatchString(metricName) { continue } - metricFQName := buildEthtoolFQName(metric) + metricFQName := buildEthtoolFQName(metricName) existingMetric, exists := metricFQNames[metricFQName] if exists { level.Debug(c.logger).Log("msg", "dropping duplicate metric name", "device", device, - "metricFQName", metricFQName, "metric1", existingMetric, "metric2", metric) - // Keep the metric as "deleted" in the dict in case there are 3 duplicates. + "metricFQName", metricFQName, "metric1", existingMetric, "metric2", metricName) + // Keep the metricName as "deleted" in the dict in case there are 3 duplicates. metricFQNames[metricFQName] = "" } else { - metricFQNames[metricFQName] = metric + metricFQNames[metricFQName] = metricName } } From 2326665e977cbba7c3edb8a11dd14a6ad58829e9 Mon Sep 17 00:00:00 2001 From: prombot Date: Thu, 21 Mar 2024 17:47:50 +0000 Subject: [PATCH 070/151] Update common Prometheus files Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- .yamllint | 2 ++ Makefile.common | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 4dc7b830f6..5670d6079b 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -35,4 +35,4 @@ jobs: - name: Lint uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0 with: - version: v1.55.2 + version: v1.56.2 diff --git a/.yamllint b/.yamllint index 955a5a6270..1859cb624b 100644 --- a/.yamllint +++ b/.yamllint @@ -1,5 +1,7 @@ --- extends: default +ignore: | + ui/react-app/node_modules rules: braces: diff --git a/Makefile.common b/Makefile.common index 49ed5f5478..0acfb9d806 100644 --- a/Makefile.common +++ b/Makefile.common @@ -49,7 +49,7 @@ endif GOTEST := $(GO) test GOTEST_DIR := ifneq ($(CIRCLE_JOB),) -ifneq ($(shell command -v gotestsum > /dev/null),) +ifneq ($(shell command -v gotestsum 2> /dev/null),) GOTEST_DIR := test-results GOTEST := gotestsum --junitfile $(GOTEST_DIR)/unit-tests.xml -- endif @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.55.2 +GOLANGCI_LINT_VERSION ?= v1.56.2 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) @@ -182,7 +182,7 @@ endif .PHONY: common-yamllint common-yamllint: @echo ">> running yamllint on all YAML files in the repository" -ifeq (, $(shell command -v yamllint > /dev/null)) +ifeq (, $(shell command -v yamllint 2> /dev/null)) @echo "yamllint not installed so skipping" else yamllint . From 7c970bf399b724321e5896b1dce995df8609f0e4 Mon Sep 17 00:00:00 2001 From: occupyhabit <164632559+occupyhabit@users.noreply.github.com> Date: Sat, 23 Mar 2024 23:22:21 +0800 Subject: [PATCH 071/151] chore: fix some typos (#2974) Signed-off-by: occupyhabit Signed-off-by: Vitaly Zhuravlev --- ttar | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ttar b/ttar index b0171a12b5..e6cade7614 100755 --- a/ttar +++ b/ttar @@ -212,16 +212,16 @@ function extract { local eof_without_newline if [ "$size" -gt 0 ]; then if [[ "$line" =~ [^\\]EOF ]]; then - # An EOF not preceeded by a backslash indicates that the line + # An EOF not preceded by a backslash indicates that the line # does not end with a newline eof_without_newline=1 else eof_without_newline=0 fi # Replace NULLBYTE with null byte if at beginning of line - # Replace NULLBYTE with null byte unless preceeded by backslash + # Replace NULLBYTE with null byte unless preceded by backslash # Remove one backslash in front of NULLBYTE (if any) - # Remove EOF unless preceeded by backslash + # Remove EOF unless preceded by backslash # Remove one backslash in front of EOF if [ $USE_PYTHON -eq 1 ]; then echo -n "$line" | python -c "$PYTHON_EXTRACT_FILTER" >> "$path" From 3c5c932b945475d4b406378cd26fa92af0fbe464 Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Sun, 24 Mar 2024 11:13:03 +0530 Subject: [PATCH 072/151] collector/textfile: Avoid inconsistent help-texts (#2962) Avoid metrics with inconsistent help-texts. The earlier behaviour has been preserved in the sense that the first encountered instance is still used to generate metrics, whereas the subsequent inconsistent ones are ignored along with a few peripheral changes. ``` # HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape. #TYPE node_scrape_collector_duration_seconds gauge node_scrape_collector_duration_seconds{collector="textfile"} 0.0004005 # HELP node_scrape_collector_success node_exporter: Whether a collector succeeded. # TYPE node_scrape_collector_success gauge node_scrape_collector_success{collector="textfile"} 1 # HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read. # TYPE node_textfile_mtime_seconds gauge node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-bar.prom"} 1.710812009e+09 node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-foo.prom"} 1.710811982e+09 # HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise # TYPE node_textfile_scrape_error gauge node_textfile_scrape_error 1 # HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler. # TYPE promhttp_metric_handler_errors_total counter promhttp_metric_handler_errors_total{cause="encoding"} 0 promhttp_metric_handler_errors_total{cause="gathering"} 0 # HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served. # TYPE promhttp_metric_handler_requests_in_flight gauge promhttp_metric_handler_requests_in_flight 1 # HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code. # TYPE promhttp_metric_handler_requests_total counter promhttp_metric_handler_requests_total{code="200"} 0 promhttp_metric_handler_requests_total{code="500"} 0 promhttp_metric_handler_requests_total{code="503"} 0 # HELP tau_infrastructure_performing_maintenance_task At what timestamp a given task started or stopped, the last time it was run. # TYPE tau_infrastructure_performing_maintenance_task gauge tau_infrastructure_performing_maintenance_task{main_task="nightly",start_or_stop="start",sub_task="main"} 1.64728080198446e+09 ``` Fixes: #2317 Signed-off-by: Pranshu Srivastava Signed-off-by: Vitaly Zhuravlev --- .../textfile/metrics_merge_different_help.out | 2 +- collector/textfile.go | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/collector/fixtures/textfile/metrics_merge_different_help.out b/collector/fixtures/textfile/metrics_merge_different_help.out index ba161f0779..b9385a752a 100644 --- a/collector/fixtures/textfile/metrics_merge_different_help.out +++ b/collector/fixtures/textfile/metrics_merge_different_help.out @@ -8,4 +8,4 @@ node_textfile_mtime_seconds{file="fixtures/textfile/metrics_merge_different_help node_textfile_mtime_seconds{file="fixtures/textfile/metrics_merge_different_help/b.prom"} 1 # HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise # TYPE node_textfile_scrape_error gauge -node_textfile_scrape_error 0 +node_textfile_scrape_error 1 diff --git a/collector/textfile.go b/collector/textfile.go index 48133f7c98..4f1fd0b8c7 100644 --- a/collector/textfile.go +++ b/collector/textfile.go @@ -193,6 +193,7 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { var errored bool var parsedFamilies []*dto.MetricFamily metricsNamesToFiles := map[string][]string{} + metricsNamesToHelpTexts := map[string][2]string{} paths, err := filepath.Glob(c.path) if err != nil || len(paths) == 0 { @@ -218,6 +219,23 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { mtime, families, err := c.processFile(path, f.Name(), ch) for _, mf := range families { + // Check for metrics with inconsistent help texts and take the first help text occurrence. + if helpTexts, seen := metricsNamesToHelpTexts[*mf.Name]; seen { + if mf.Help != nil && helpTexts[0] != *mf.Help || helpTexts[1] != "" { + metricsNamesToHelpTexts[*mf.Name] = [2]string{helpTexts[0], *mf.Help} + errored = true + level.Error(c.logger).Log("msg", "inconsistent metric help text", + "metric", *mf.Name, + "original_help_text", helpTexts[0], + "new_help_text", *mf.Help, + // Only the first file path will be recorded in case of two or more inconsistent help texts. + "file", metricsNamesToFiles[*mf.Name][0]) + continue + } + } + if mf.Help != nil { + metricsNamesToHelpTexts[*mf.Name] = [2]string{*mf.Help} + } metricsNamesToFiles[*mf.Name] = append(metricsNamesToFiles[*mf.Name], metricsFilePath) parsedFamilies = append(parsedFamilies, mf) } From 1ff4547040b280758a37664328c7570bea368ded Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Sun, 24 Mar 2024 15:00:46 +0100 Subject: [PATCH 073/151] Update common Prometheus files (#2973) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 5670d6079b..a7a40c1be5 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: install Go uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 with: From 1160e0f3b8c60e2f776f16e620c8b354627cebc6 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 3 Apr 2024 10:23:03 +0000 Subject: [PATCH 074/151] os_release.go: Added support end parsing support. (#2982) * os_release.go: Added support end parsing support. Fixes: #2977 Signed-off-by: Jonathan Davies * os_release_test.go: Added TestParseOSSupportEnd. Signed-off-by: Jonathan Davies --------- Signed-off-by: Jonathan Davies Signed-off-by: Vitaly Zhuravlev --- collector/os_release.go | 23 ++++++++++++++++++++ collector/os_release_test.go | 42 ++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/collector/os_release.go b/collector/os_release.go index 14a025a454..5d2e94296c 100644 --- a/collector/os_release.go +++ b/collector/os_release.go @@ -53,6 +53,7 @@ type osRelease struct { BuildID string ImageID string ImageVersion string + SupportEnd string } type osReleaseCollector struct { @@ -65,6 +66,8 @@ type osReleaseCollector struct { osReleaseFilenames []string // all os-release file names to check version float64 versionDesc *prometheus.Desc + supportEnd time.Time + supportEndDesc *prometheus.Desc } type Plist struct { @@ -97,6 +100,11 @@ func NewOSCollector(logger log.Logger) (Collector, error) { "Metric containing the major.minor part of the OS version.", []string{"id", "id_like", "name"}, nil, ), + supportEndDesc: prometheus.NewDesc( + prometheus.BuildFQName(namespace, "os", "support_end_timestamp_seconds"), + "Metric containing the end-of-life date timestamp of the OS.", + nil, nil, + ), }, nil } @@ -115,6 +123,7 @@ func parseOSRelease(r io.Reader) (*osRelease, error) { BuildID: env["BUILD_ID"], ImageID: env["IMAGE_ID"], ImageVersion: env["IMAGE_VERSION"], + SupportEnd: env["SUPPORT_END"], }, err } @@ -169,6 +178,15 @@ func (c *osReleaseCollector) UpdateStruct(path string) error { } else { c.version = 0 } + + if c.os.SupportEnd != "" { + c.supportEnd, err = time.Parse("2006-01-02", c.os.SupportEnd) + + if err != nil { + return err + } + } + return nil } @@ -195,6 +213,11 @@ func (c *osReleaseCollector) Update(ch chan<- prometheus.Metric) error { ch <- prometheus.MustNewConstMetric(c.versionDesc, prometheus.GaugeValue, c.version, c.os.ID, c.os.IDLike, c.os.Name) } + + if c.os.SupportEnd != "" { + ch <- prometheus.MustNewConstMetric(c.supportEndDesc, prometheus.GaugeValue, float64(c.supportEnd.Unix())) + } + return nil } diff --git a/collector/os_release_test.go b/collector/os_release_test.go index 46838f15f1..b45ee0edfa 100644 --- a/collector/os_release_test.go +++ b/collector/os_release_test.go @@ -33,12 +33,28 @@ SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" ` +const nixosTapir string = `BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" +BUILD_ID="23.11.20240328.219951b" +DOCUMENTATION_URL="https://nixos.org/learn.html" +HOME_URL="https://nixos.org/" +ID=nixos +LOGO="nix-snowflake" +NAME=NixOS +PRETTY_NAME="NixOS 23.11 (Tapir)" +SUPPORT_END="2024-06-30" +SUPPORT_URL="https://nixos.org/community.html" +VERSION="23.11 (Tapir)" +VERSION_CODENAME=tapir +VERSION_ID="23.11" +` + func TestParseOSRelease(t *testing.T) { want := &osRelease{ Name: "Ubuntu", ID: "ubuntu", IDLike: "debian", PrettyName: "Ubuntu 20.04.2 LTS", + SupportEnd: "", Version: "20.04.2 LTS (Focal Fossa)", VersionID: "20.04", VersionCodename: "focal", @@ -75,6 +91,32 @@ func TestParseOSRelease(t *testing.T) { } } +func TestParseOSSupportEnd(t *testing.T) { + want := &osRelease{ + BuildID: "23.11.20240328.219951b", + Name: "NixOS", + ID: "nixos", + IDLike: "", + ImageID: "", + ImageVersion: "", + PrettyName: "NixOS 23.11 (Tapir)", + SupportEnd: "2024-06-30", + Variant: "", + VariantID: "", + Version: "23.11 (Tapir)", + VersionID: "23.11", + VersionCodename: "tapir", + } + + got, err := parseOSRelease(strings.NewReader(nixosTapir)) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(want, got) { + t.Fatalf("should have %+v osRelease: got %+v", want, got) + } +} + func TestUpdateStruct(t *testing.T) { wantedOS := &osRelease{ Name: "Ubuntu", From 08010fb4a0225b15b7c382a4f6b16066998d2d18 Mon Sep 17 00:00:00 2001 From: Daniel Kimsey <90741+dekimsey@users.noreply.github.com> Date: Sat, 23 Mar 2024 13:57:56 -0500 Subject: [PATCH 075/151] zfs: Log mib when sysctl read fails on FreeBSD When the zfs collector fails on FreeBSD it doesn't log which `mib` triggered the issue. This makes diagnostics hard. Incompatibilities in the list of supported mibs is not uncommon with major os updates. By adding this change, it'll be easier for users to report the specific mib that is triggering the failure. Related to #2847 Signed-off-by: Daniel Kimsey <90741+dekimsey@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- collector/zfs_freebsd.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/zfs_freebsd.go b/collector/zfs_freebsd.go index bc4aa1c3f7..804d4f58a9 100644 --- a/collector/zfs_freebsd.go +++ b/collector/zfs_freebsd.go @@ -273,7 +273,7 @@ func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { v, err := m.Value() if err != nil { // debug logging - level.Debug(c.logger).Log("name", m.name, "couldn't get sysctl:", err) + level.Debug(c.logger).Log("name", m.name, "mib", m.mib, "couldn't get sysctl:", err) continue } From 0e31b081d4204343a73314e8d3488b069753f96a Mon Sep 17 00:00:00 2001 From: looklose Date: Wed, 10 Apr 2024 19:59:46 +0800 Subject: [PATCH 076/151] chore: fix typo in comment Signed-off-by: looklose --- collector/systemd_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/systemd_linux.go b/collector/systemd_linux.go index 3323251114..e0d35bcde6 100644 --- a/collector/systemd_linux.go +++ b/collector/systemd_linux.go @@ -75,7 +75,7 @@ type systemdCollector struct { socketCurrentConnectionsDesc *prometheus.Desc socketRefusedConnectionsDesc *prometheus.Desc systemdVersionDesc *prometheus.Desc - // Use regexps for more flexability than device_filter.go allows + // Use regexps for more flexibility than device_filter.go allows systemdUnitIncludePattern *regexp.Regexp systemdUnitExcludePattern *regexp.Regexp logger log.Logger From f49d81c0b6842775483190bbdcedce87a303b97d Mon Sep 17 00:00:00 2001 From: Ayoub Mrini Date: Mon, 15 Apr 2024 10:52:59 +0100 Subject: [PATCH 077/151] fibre_channel: update procfs to take into account optional attributes (#2933) Signed-off-by: machine424 Signed-off-by: Vitaly Zhuravlev --- collector/fibrechannel_linux.go | 12 ---- collector/fixtures/e2e-64k-page-output.txt | 16 +++++ collector/fixtures/e2e-output.txt | 16 +++++ collector/fixtures/sys.ttar | 81 ++++++++++++++++++++++ 4 files changed, 113 insertions(+), 12 deletions(-) diff --git a/collector/fibrechannel_linux.go b/collector/fibrechannel_linux.go index 32e4d1e733..13a3b5dc16 100644 --- a/collector/fibrechannel_linux.go +++ b/collector/fibrechannel_linux.go @@ -66,18 +66,6 @@ func NewFibreChannelCollector(logger log.Logger) (Collector, error) { "rx_words_total": "Number of words received by host port", "tx_frames_total": "Number of frames transmitted by host port", "link_failure_total": "Number of times the host port link has failed", - "name": "Name of Fibre Channel HBA", - "speed": "Current operating speed", - "port_state": "Current port state", - "port_type": "Port type, what the port is connected to", - "symbolic_name": "Symbolic Name", - "node_name": "Node Name as hexadecimal string", - "port_id": "Port ID as string", - "port_name": "Port Name as hexadecimal string", - "fabric_name": "Fabric Name; 0 if PTP", - "dev_loss_tmo": "Device Loss Timeout in seconds", - "supported_classes": "The FC classes supported", - "supported_speeds": "The FC speeds supported", } i.metricDescs = make(map[string]*prometheus.Desc) diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index e3de810caf..99c58abaf7 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -742,48 +742,64 @@ node_entropy_available_bits 1337 node_entropy_pool_size_bits 4096 # HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build. # TYPE node_exporter_build_info gauge +# HELP node_fibrechannel_dumped_frames_total Number of dumped frames +# TYPE node_fibrechannel_dumped_frames_total counter +node_fibrechannel_dumped_frames_total{fc_host="host1"} 0 # HELP node_fibrechannel_error_frames_total Number of errors in frames # TYPE node_fibrechannel_error_frames_total counter node_fibrechannel_error_frames_total{fc_host="host0"} 0 +node_fibrechannel_error_frames_total{fc_host="host1"} 19 # HELP node_fibrechannel_fcp_packet_aborts_total Number of aborted packets # TYPE node_fibrechannel_fcp_packet_aborts_total counter node_fibrechannel_fcp_packet_aborts_total{fc_host="host0"} 19 # HELP node_fibrechannel_info Non-numeric data from /sys/class/fc_host/, value is always 1. # TYPE node_fibrechannel_info gauge +node_fibrechannel_info{dev_loss_tmo="",fabric_name="",fc_host="host1",port_id="",port_name="",port_state="",port_type="",speed="8 Gbit",supported_classes="",supported_speeds="",symbolic_name=""} 1 node_fibrechannel_info{dev_loss_tmo="30",fabric_name="0",fc_host="host0",port_id="000002",port_name="1000e0071bce95f2",port_state="Online",port_type="Point-To-Point (direct nport connection)",speed="16 Gbit",supported_classes="Class 3",supported_speeds="4 Gbit, 8 Gbit, 16 Gbit",symbolic_name="Emulex SN1100E2P FV12.4.270.3 DV12.4.0.0. HN:gotest. OS:Linux"} 1 # HELP node_fibrechannel_invalid_crc_total Invalid Cyclic Redundancy Check count # TYPE node_fibrechannel_invalid_crc_total counter node_fibrechannel_invalid_crc_total{fc_host="host0"} 2 +node_fibrechannel_invalid_crc_total{fc_host="host1"} 32 # HELP node_fibrechannel_invalid_tx_words_total Number of invalid words transmitted by host port # TYPE node_fibrechannel_invalid_tx_words_total counter node_fibrechannel_invalid_tx_words_total{fc_host="host0"} 8 +node_fibrechannel_invalid_tx_words_total{fc_host="host1"} 128 # HELP node_fibrechannel_link_failure_total Number of times the host port link has failed # TYPE node_fibrechannel_link_failure_total counter node_fibrechannel_link_failure_total{fc_host="host0"} 9 +node_fibrechannel_link_failure_total{fc_host="host1"} 144 # HELP node_fibrechannel_loss_of_signal_total Number of times signal has been lost # TYPE node_fibrechannel_loss_of_signal_total counter node_fibrechannel_loss_of_signal_total{fc_host="host0"} 17 +node_fibrechannel_loss_of_signal_total{fc_host="host1"} 272 # HELP node_fibrechannel_loss_of_sync_total Number of failures on either bit or transmission word boundaries # TYPE node_fibrechannel_loss_of_sync_total counter node_fibrechannel_loss_of_sync_total{fc_host="host0"} 16 +node_fibrechannel_loss_of_sync_total{fc_host="host1"} 256 # HELP node_fibrechannel_nos_total Number Not_Operational Primitive Sequence received by host port # TYPE node_fibrechannel_nos_total counter node_fibrechannel_nos_total{fc_host="host0"} 18 +node_fibrechannel_nos_total{fc_host="host1"} 288 # HELP node_fibrechannel_rx_frames_total Number of frames received # TYPE node_fibrechannel_rx_frames_total counter node_fibrechannel_rx_frames_total{fc_host="host0"} 3 +node_fibrechannel_rx_frames_total{fc_host="host1"} 48 # HELP node_fibrechannel_rx_words_total Number of words received by host port # TYPE node_fibrechannel_rx_words_total counter node_fibrechannel_rx_words_total{fc_host="host0"} 4 +node_fibrechannel_rx_words_total{fc_host="host1"} 64 # HELP node_fibrechannel_seconds_since_last_reset_total Number of seconds since last host port reset # TYPE node_fibrechannel_seconds_since_last_reset_total counter node_fibrechannel_seconds_since_last_reset_total{fc_host="host0"} 7 +node_fibrechannel_seconds_since_last_reset_total{fc_host="host1"} 112 # HELP node_fibrechannel_tx_frames_total Number of frames transmitted by host port # TYPE node_fibrechannel_tx_frames_total counter node_fibrechannel_tx_frames_total{fc_host="host0"} 5 +node_fibrechannel_tx_frames_total{fc_host="host1"} 80 # HELP node_fibrechannel_tx_words_total Number of words transmitted by host port # TYPE node_fibrechannel_tx_words_total counter node_fibrechannel_tx_words_total{fc_host="host0"} 6 +node_fibrechannel_tx_words_total{fc_host="host1"} 96 # HELP node_filefd_allocated File descriptor statistics: allocated. # TYPE node_filefd_allocated gauge node_filefd_allocated 1024 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 5b6cfbe1dd..d52cb99d04 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -764,48 +764,64 @@ node_entropy_available_bits 1337 node_entropy_pool_size_bits 4096 # HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build. # TYPE node_exporter_build_info gauge +# HELP node_fibrechannel_dumped_frames_total Number of dumped frames +# TYPE node_fibrechannel_dumped_frames_total counter +node_fibrechannel_dumped_frames_total{fc_host="host1"} 0 # HELP node_fibrechannel_error_frames_total Number of errors in frames # TYPE node_fibrechannel_error_frames_total counter node_fibrechannel_error_frames_total{fc_host="host0"} 0 +node_fibrechannel_error_frames_total{fc_host="host1"} 19 # HELP node_fibrechannel_fcp_packet_aborts_total Number of aborted packets # TYPE node_fibrechannel_fcp_packet_aborts_total counter node_fibrechannel_fcp_packet_aborts_total{fc_host="host0"} 19 # HELP node_fibrechannel_info Non-numeric data from /sys/class/fc_host/, value is always 1. # TYPE node_fibrechannel_info gauge +node_fibrechannel_info{dev_loss_tmo="",fabric_name="",fc_host="host1",port_id="",port_name="",port_state="",port_type="",speed="8 Gbit",supported_classes="",supported_speeds="",symbolic_name=""} 1 node_fibrechannel_info{dev_loss_tmo="30",fabric_name="0",fc_host="host0",port_id="000002",port_name="1000e0071bce95f2",port_state="Online",port_type="Point-To-Point (direct nport connection)",speed="16 Gbit",supported_classes="Class 3",supported_speeds="4 Gbit, 8 Gbit, 16 Gbit",symbolic_name="Emulex SN1100E2P FV12.4.270.3 DV12.4.0.0. HN:gotest. OS:Linux"} 1 # HELP node_fibrechannel_invalid_crc_total Invalid Cyclic Redundancy Check count # TYPE node_fibrechannel_invalid_crc_total counter node_fibrechannel_invalid_crc_total{fc_host="host0"} 2 +node_fibrechannel_invalid_crc_total{fc_host="host1"} 32 # HELP node_fibrechannel_invalid_tx_words_total Number of invalid words transmitted by host port # TYPE node_fibrechannel_invalid_tx_words_total counter node_fibrechannel_invalid_tx_words_total{fc_host="host0"} 8 +node_fibrechannel_invalid_tx_words_total{fc_host="host1"} 128 # HELP node_fibrechannel_link_failure_total Number of times the host port link has failed # TYPE node_fibrechannel_link_failure_total counter node_fibrechannel_link_failure_total{fc_host="host0"} 9 +node_fibrechannel_link_failure_total{fc_host="host1"} 144 # HELP node_fibrechannel_loss_of_signal_total Number of times signal has been lost # TYPE node_fibrechannel_loss_of_signal_total counter node_fibrechannel_loss_of_signal_total{fc_host="host0"} 17 +node_fibrechannel_loss_of_signal_total{fc_host="host1"} 272 # HELP node_fibrechannel_loss_of_sync_total Number of failures on either bit or transmission word boundaries # TYPE node_fibrechannel_loss_of_sync_total counter node_fibrechannel_loss_of_sync_total{fc_host="host0"} 16 +node_fibrechannel_loss_of_sync_total{fc_host="host1"} 256 # HELP node_fibrechannel_nos_total Number Not_Operational Primitive Sequence received by host port # TYPE node_fibrechannel_nos_total counter node_fibrechannel_nos_total{fc_host="host0"} 18 +node_fibrechannel_nos_total{fc_host="host1"} 288 # HELP node_fibrechannel_rx_frames_total Number of frames received # TYPE node_fibrechannel_rx_frames_total counter node_fibrechannel_rx_frames_total{fc_host="host0"} 3 +node_fibrechannel_rx_frames_total{fc_host="host1"} 48 # HELP node_fibrechannel_rx_words_total Number of words received by host port # TYPE node_fibrechannel_rx_words_total counter node_fibrechannel_rx_words_total{fc_host="host0"} 4 +node_fibrechannel_rx_words_total{fc_host="host1"} 64 # HELP node_fibrechannel_seconds_since_last_reset_total Number of seconds since last host port reset # TYPE node_fibrechannel_seconds_since_last_reset_total counter node_fibrechannel_seconds_since_last_reset_total{fc_host="host0"} 7 +node_fibrechannel_seconds_since_last_reset_total{fc_host="host1"} 112 # HELP node_fibrechannel_tx_frames_total Number of frames transmitted by host port # TYPE node_fibrechannel_tx_frames_total counter node_fibrechannel_tx_frames_total{fc_host="host0"} 5 +node_fibrechannel_tx_frames_total{fc_host="host1"} 80 # HELP node_fibrechannel_tx_words_total Number of words transmitted by host port # TYPE node_fibrechannel_tx_words_total counter node_fibrechannel_tx_words_total{fc_host="host0"} 6 +node_fibrechannel_tx_words_total{fc_host="host1"} 96 # HELP node_filefd_allocated File descriptor statistics: allocated. # TYPE node_filefd_allocated gauge node_filefd_allocated 1024 diff --git a/collector/fixtures/sys.ttar b/collector/fixtures/sys.ttar index 0573cfd312..2cac29e493 100644 --- a/collector/fixtures/sys.ttar +++ b/collector/fixtures/sys.ttar @@ -288,6 +288,87 @@ Lines: 1 Emulex SN1100E2P FV12.4.270.3 DV12.4.0.0. HN:gotest. OS:Linux Mode: 644 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: sys/class/fc_host/host1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/speed +Lines: 1 +8 Gbit +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: sys/class/fc_host/host1/statistics +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/dumped_frames +Lines: 1 +0x0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/error_frames +Lines: 1 +0x13 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/fcp_packet_aborts +Lines: 1 +0xffffffffffffffff +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/invalid_crc_count +Lines: 1 +0x20 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/invalid_tx_word_count +Lines: 1 +0x80 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/link_failure_count +Lines: 1 +0x90 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/loss_of_signal_count +Lines: 1 +0x110 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/loss_of_sync_count +Lines: 1 +0x100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/nos_count +Lines: 1 +0x120 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/rx_frames +Lines: 1 +0x30 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/rx_words +Lines: 1 +0x40 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/seconds_since_last_reset +Lines: 1 +0x70 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/tx_frames +Lines: 1 +0x50 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/class/fc_host/host1/statistics/tx_words +Lines: 1 +0x60 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: sys/class/hwmon Mode: 755 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 7752ff968b7cb06b892368070facfb9fb54330df Mon Sep 17 00:00:00 2001 From: coderwander <166724773+coderwander@users.noreply.github.com> Date: Tue, 16 Apr 2024 15:43:16 +0800 Subject: [PATCH 078/151] refactor: Optimize code by using built-in constants in the standard library (#2989) Signed-off-by: coderwander <770732124@qq.com> Signed-off-by: Vitaly Zhuravlev --- collector/os_release.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/os_release.go b/collector/os_release.go index 5d2e94296c..9d0a7a1b31 100644 --- a/collector/os_release.go +++ b/collector/os_release.go @@ -180,7 +180,7 @@ func (c *osReleaseCollector) UpdateStruct(path string) error { } if c.os.SupportEnd != "" { - c.supportEnd, err = time.Parse("2006-01-02", c.os.SupportEnd) + c.supportEnd, err = time.Parse(time.DateOnly, c.os.SupportEnd) if err != nil { return err From 77ec78866b6030618be71869cd34cbef838fe5b0 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 17 Apr 2024 19:27:47 +0000 Subject: [PATCH 079/151] os_release.go: Removed caching of modtime/filename of os-release file. (#2987) Signed-off-by: Jonathan Davies Signed-off-by: Vitaly Zhuravlev --- collector/os_release.go | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/collector/os_release.go b/collector/os_release.go index 9d0a7a1b31..4c86740e61 100644 --- a/collector/os_release.go +++ b/collector/os_release.go @@ -60,8 +60,6 @@ type osReleaseCollector struct { infoDesc *prometheus.Desc logger log.Logger os *osRelease - osFilename string // file name of cached release information - osMtime time.Time // mtime of cached release file osMutex sync.RWMutex osReleaseFilenames []string // all os-release file names to check version float64 @@ -134,28 +132,10 @@ func (c *osReleaseCollector) UpdateStruct(path string) error { } defer releaseFile.Close() - stat, err := releaseFile.Stat() - if err != nil { - return err - } - - t := stat.ModTime() - c.osMutex.RLock() - upToDate := path == c.osFilename && t == c.osMtime - c.osMutex.RUnlock() - if upToDate { - // osReleaseCollector struct is already up-to-date. - return nil - } - // Acquire a lock to update the osReleaseCollector struct. c.osMutex.Lock() defer c.osMutex.Unlock() - level.Debug(c.logger).Log("msg", "file modification time has changed", - "file", path, "old_value", c.osMtime, "new_value", t) - c.osFilename = path - c.osMtime = t // SystemVersion.plist is xml file with MacOs version info if strings.Contains(releaseFile.Name(), "SystemVersion.plist") { c.os, err = getMacosProductVersion(releaseFile.Name()) From 525140cd5e2145ed715beb3b441478a7ff789d96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:15:14 +0200 Subject: [PATCH 080/151] build(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 (#2996) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.20.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.20.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index ea6b91a6f1..b34318008a 100644 --- a/go.mod +++ b/go.mod @@ -50,8 +50,8 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/text v0.14.0 // indirect diff --git a/go.sum b/go.sum index 15f9dadbfa..5960e09622 100644 --- a/go.sum +++ b/go.sum @@ -97,13 +97,13 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= From 94a00344c6af825807bd1606fcd4bc5a5640e0a5 Mon Sep 17 00:00:00 2001 From: John Guo Date: Fri, 19 Apr 2024 23:15:54 +0800 Subject: [PATCH 081/151] fix: data race of NetClassCollector metrics initialization when multiple requests happen (#2995) Signed-off-by: John Guo Signed-off-by: Vitaly Zhuravlev --- collector/netclass_linux.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/collector/netclass_linux.go b/collector/netclass_linux.go index 5d9324cdee..327c89aaf4 100644 --- a/collector/netclass_linux.go +++ b/collector/netclass_linux.go @@ -22,6 +22,7 @@ import ( "net" "os" "regexp" + "sync" "github.com/alecthomas/kingpin/v2" "github.com/go-kit/log" @@ -41,6 +42,7 @@ type netClassCollector struct { subsystem string ignoredDevicesPattern *regexp.Regexp metricDescs map[string]*prometheus.Desc + metricDescsMu sync.Mutex logger log.Logger } @@ -136,6 +138,9 @@ func (c *netClassCollector) netClassSysfsUpdate(ch chan<- prometheus.Metric) err } func (c *netClassCollector) getFieldDesc(name string) *prometheus.Desc { + c.metricDescsMu.Lock() + defer c.metricDescsMu.Unlock() + fieldDesc, exists := c.metricDescs[name] if !exists { From b1514f796e60e4fd2b6761653b8de3acf4f5e747 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Fri, 19 Apr 2024 17:16:11 +0200 Subject: [PATCH 082/151] Update common Prometheus files (#2992) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index 8a57107dd9..d0368eaa1c 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -17,7 +17,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Set docker hub repo name run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to Dockerhub @@ -37,7 +37,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Set quay.io org name run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - name: Set quay.io repo name From a6fd783e640e0387354626ecf8c68795645d5a11 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Sat, 20 Apr 2024 12:32:49 +0200 Subject: [PATCH 083/151] Update build (#3000) * Update Go to 1.22. * Update Go modules. * Use new version collector. * Use standard library slices package. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- .circleci/config.yml | 4 ++-- .promu-cgo.yml | 3 +-- .promu.yml | 3 +-- collector/cpu_linux.go | 2 +- go.mod | 18 +++++++++--------- go.sum | 39 +++++++++++++++++++++++---------------- node_exporter.go | 3 ++- 7 files changed, 39 insertions(+), 33 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3715e300dc..0e29a6afdc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ executors: # should also be updated. golang: docker: - - image: cimg/go:1.21 + - image: cimg/go:1.22 arm: machine: image: ubuntu-2204:current @@ -60,7 +60,7 @@ jobs: machine: image: ubuntu-2204:current environment: - DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.21-base + DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.22-base REPO_PATH: github.com/prometheus/node_exporter steps: - prometheus/setup_environment diff --git a/.promu-cgo.yml b/.promu-cgo.yml index d6f825299e..f270f78a29 100644 --- a/.promu-cgo.yml +++ b/.promu-cgo.yml @@ -1,14 +1,13 @@ go: # Whenever the Go version is updated here, .circle/config.yml and # .promu.yml should also be updated. - version: 1.21 + version: 1.22 cgo: true repository: path: github.com/prometheus/node_exporter build: binaries: - name: node_exporter - flags: -a -tags 'netgo osusergo static_build' ldflags: | -X github.com/prometheus/common/version.Version={{.Version}} -X github.com/prometheus/common/version.Revision={{.Revision}} diff --git a/.promu.yml b/.promu.yml index d0a66635f2..8f883591a1 100644 --- a/.promu.yml +++ b/.promu.yml @@ -1,13 +1,12 @@ go: # Whenever the Go version is updated here, .circle/config.yml and # .promu-cgo.yml should also be updated. - version: 1.21 + version: 1.22 repository: path: github.com/prometheus/node_exporter build: binaries: - name: node_exporter - flags: -a -tags 'netgo osusergo static_build' ldflags: | -X github.com/prometheus/common/version.Version={{.Version}} -X github.com/prometheus/common/version.Revision={{.Revision}} diff --git a/collector/cpu_linux.go b/collector/cpu_linux.go index fcbf651b22..75d2a795b2 100644 --- a/collector/cpu_linux.go +++ b/collector/cpu_linux.go @@ -21,6 +21,7 @@ import ( "os" "path/filepath" "regexp" + "slices" "strconv" "sync" @@ -31,7 +32,6 @@ import ( "github.com/prometheus/procfs" "github.com/prometheus/procfs/sysfs" "golang.org/x/exp/maps" - "golang.org/x/exp/slices" ) type cpuCollector struct { diff --git a/go.mod b/go.mod index b34318008a..d11c69e311 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ module github.com/prometheus/node_exporter -go 1.20 +go 1.21 require ( github.com/alecthomas/kingpin/v2 v2.4.0 github.com/beevik/ntp v1.3.1 github.com/coreos/go-systemd/v22 v22.5.0 - github.com/dennwc/btrfs v0.0.0-20230312211831-a1f570bd01a1 + github.com/dennwc/btrfs v0.0.0-20240418142341-0167142bde7a github.com/ema/qdisc v1.0.0 github.com/go-kit/log v0.2.1 github.com/godbus/dbus/v5 v5.1.0 @@ -23,13 +23,13 @@ require ( github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.19.0 - github.com/prometheus/client_model v0.6.0 - github.com/prometheus/common v0.48.0 + github.com/prometheus/client_model v0.6.1 + github.com/prometheus/common v0.53.0 github.com/prometheus/exporter-toolkit v0.11.0 - github.com/prometheus/procfs v0.13.0 + github.com/prometheus/procfs v0.14.0 github.com/safchain/ethtool v0.3.0 - golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/sys v0.18.0 + golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f + golang.org/x/sys v0.19.0 howett.net/plist v1.0.1 ) @@ -52,8 +52,8 @@ require ( go.uber.org/multierr v1.6.0 // indirect golang.org/x/crypto v0.21.0 // indirect golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.6.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/sync v0.7.0 // indirect golang.org/x/text v0.14.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.33.0 // indirect diff --git a/go.sum b/go.sum index 5960e09622..5e0f6a48b2 100644 --- a/go.sum +++ b/go.sum @@ -9,13 +9,14 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= +github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dennwc/btrfs v0.0.0-20230312211831-a1f570bd01a1 h1:ue4Es4Xzz255hWQ7NAWzZxuXG+YOV7URzzusLLSe0zU= -github.com/dennwc/btrfs v0.0.0-20230312211831-a1f570bd01a1/go.mod h1:MYsOV9Dgsec3FFSOjywi0QK5r6TeBbdWxdrMGtiYXHA= +github.com/dennwc/btrfs v0.0.0-20240418142341-0167142bde7a h1:KfFsGLJFVdCXlySUkV2FmxNtmiztpJb6tV+XYBmmv8E= +github.com/dennwc/btrfs v0.0.0-20240418142341-0167142bde7a/go.mod h1:MYsOV9Dgsec3FFSOjywi0QK5r6TeBbdWxdrMGtiYXHA= github.com/dennwc/ioctl v1.0.0 h1:DsWAAjIxRqNcLn9x6mwfuf2pet3iB7aK90K4tF16rLg= github.com/dennwc/ioctl v1.0.0/go.mod h1:ellh2YB5ldny99SBU/VX7Nq0xiZbHphf1DrtHxxjMk0= github.com/ema/qdisc v1.0.0 h1:EHLG08FVRbWLg8uRICa3xzC9Zm0m7HyMHfXobWFnXYg= @@ -48,7 +49,9 @@ github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX github.com/jsimonetti/rtnetlink v1.4.1 h1:JfD4jthWBqZMEffc5RjgmlzpYttAVw1sdnmiNaPO3hE= github.com/jsimonetti/rtnetlink v1.4.1/go.mod h1:xJjT7t59UIZ62GLZbv6PLLo8VFrostJMPBAheR6OM8w= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= github.com/lufia/iostat v1.2.1/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg= github.com/mattn/go-xmlrpc v0.0.3 h1:Y6WEMLEsqs3RviBrAa1/7qmbGB7DVD3brZIbqMbQdGY= @@ -73,15 +76,16 @@ github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPr github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= -github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= +github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= -github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= -github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= +github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= +github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:GfSdC6wKfTGcgCS7BtzF5694Amne1pGCSTY252WhlEY= @@ -90,6 +94,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= @@ -99,20 +104,20 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= -golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= @@ -127,10 +132,12 @@ google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGm google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= diff --git a/node_exporter.go b/node_exporter.go index cc24f7dfba..c7285f6fdf 100644 --- a/node_exporter.go +++ b/node_exporter.go @@ -31,6 +31,7 @@ import ( "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" promcollectors "github.com/prometheus/client_golang/prometheus/collectors" + versioncollector "github.com/prometheus/client_golang/prometheus/collectors/version" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common/version" "github.com/prometheus/exporter-toolkit/web" @@ -119,7 +120,7 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) { } r := prometheus.NewRegistry() - r.MustRegister(version.NewCollector("node_exporter")) + r.MustRegister(versioncollector.NewCollector("node_exporter")) if err := r.Register(nc); err != nil { return nil, fmt.Errorf("couldn't register node collector: %s", err) } From 6235a644c103aae4f93a0ed26df60fea11061788 Mon Sep 17 00:00:00 2001 From: Chris Cleeland Date: Mon, 22 Apr 2024 15:34:00 -0500 Subject: [PATCH 084/151] Fix watchdog_test lint and test failures on macos. (#3003) Ensure identical build flags embedded in both files. Signed-off-by: Chris Cleeland Signed-off-by: Vitaly Zhuravlev --- collector/watchdog_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collector/watchdog_test.go b/collector/watchdog_test.go index 7cf9418574..e59382b4c9 100644 --- a/collector/watchdog_test.go +++ b/collector/watchdog_test.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nowatchdog -// +build !nowatchdog +//go:build linux && !nowatchdog +// +build linux,!nowatchdog package collector From 9fd241e787b845828ff4f8522078a4811b10d5e9 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Wed, 24 Apr 2024 15:14:02 +0200 Subject: [PATCH 085/151] Release v1.8.0 (#3002) * [CHANGE] exec_bsd: Fix labels for `vm.stats.sys.v_syscall` sysctl #2895 * [CHANGE] diskstats: Ignore zram devices on linux systems #2898 * [CHANGE] textfile: Avoid inconsistent help-texts #2962 * [CHANGE] os: Removed caching of modtime/filename of os-release file #2987 * [FEATURE] xfrm: Add new collector #2866 * [FEATURE] watchdog: Add new collector #2880 * [ENHANCEMENT] cpu_vulnerabilities: Add mitigation information label #2806 * [ENHANCEMENT] nfsd: Handle new `wdeleg_getattr` attribute #2810 * [ENHANCEMENT] netstat: Add TCPOFOQueue to default netstat metrics #2867 * [ENHANCEMENT] filesystem: surface device errors #2923 * [ENHANCEMENT] os: Add support end parsing #2982 * [ENHANCEMENT] zfs: Log mib when sysctl read fails on FreeBSD #2975 * [ENHANCEMENT] fibre_channel: update procfs to take into account optional attributes #2933 * [BUGFIX] cpu: Fix debug log in cpu collector #2857 * [BUGFIX] hwmon: Fix hwmon nil ptr #2873 * [BUGFIX] hwmon: Fix hwmon error capture #2915 * [BUGFIX] zfs: Revert "Add ZFS freebsd per dataset stats #2925 * [BUGFIX] ethtool: Sanitize ethtool metric name keys #2940 * [BUGFIX] fix: data race of NetClassCollector metrics initialization #2995 Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- CHANGELOG.md | 22 ++++++++++++++++++++++ VERSION | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 096c0b1024..d2cb6c0951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,28 @@ * [ENHANCEMENT] * [BUGFIX] +## 1.8.0 / 2024-04-24 + +* [CHANGE] exec_bsd: Fix labels for `vm.stats.sys.v_syscall` sysctl #2895 +* [CHANGE] diskstats: Ignore zram devices on linux systems #2898 +* [CHANGE] textfile: Avoid inconsistent help-texts #2962 +* [CHANGE] os: Removed caching of modtime/filename of os-release file #2987 +* [FEATURE] xfrm: Add new collector #2866 +* [FEATURE] watchdog: Add new collector #2880 +* [ENHANCEMENT] cpu_vulnerabilities: Add mitigation information label #2806 +* [ENHANCEMENT] nfsd: Handle new `wdeleg_getattr` attribute #2810 +* [ENHANCEMENT] netstat: Add TCPOFOQueue to default netstat metrics #2867 +* [ENHANCEMENT] filesystem: surface device errors #2923 +* [ENHANCEMENT] os: Add support end parsing #2982 +* [ENHANCEMENT] zfs: Log mib when sysctl read fails on FreeBSD #2975 +* [ENHANCEMENT] fibre_channel: update procfs to take into account optional attributes #2933 +* [BUGFIX] cpu: Fix debug log in cpu collector #2857 +* [BUGFIX] hwmon: Fix hwmon nil ptr #2873 +* [BUGFIX] hwmon: Fix hwmon error capture #2915 +* [BUGFIX] zfs: Revert "Add ZFS freebsd per dataset stats #2925 +* [BUGFIX] ethtool: Sanitize ethtool metric name keys #2940 +* [BUGFIX] fix: data race of NetClassCollector metrics initialization #2995 + ## 1.7.0 / 2023-11-11 * [FEATURE] Add ZFS freebsd per dataset stats #2753 diff --git a/VERSION b/VERSION index bd8bf882d0..27f9cd322b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.7.0 +1.8.0 From 0149a336291fe5e6d03de36dde1337715182dc4f Mon Sep 17 00:00:00 2001 From: Sam Leiken Date: Mon, 29 Apr 2024 10:38:29 -0700 Subject: [PATCH 086/151] Add logging for ethtool device include/exclude and metrics include flags (#2979) Signed-off-by: Sam Leiken Signed-off-by: Vitaly Zhuravlev --- collector/ethtool_linux.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/collector/ethtool_linux.go b/collector/ethtool_linux.go index 7412c27c37..45c35851d6 100644 --- a/collector/ethtool_linux.go +++ b/collector/ethtool_linux.go @@ -96,6 +96,16 @@ func makeEthtoolCollector(logger log.Logger) (*ethtoolCollector, error) { return nil, fmt.Errorf("failed to initialize ethtool library: %w", err) } + if *ethtoolDeviceInclude != "" { + level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.device-include", "flag", *ethtoolDeviceInclude) + } + if *ethtoolDeviceExclude != "" { + level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.device-exclude", "flag", *ethtoolDeviceExclude) + } + if *ethtoolIncludedMetrics != "" { + level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.metrics-include", "flag", *ethtoolIncludedMetrics) + } + // Pre-populate some common ethtool metrics. return ðtoolCollector{ fs: fs, From e2498b5f3bf89daa0590d4523d5d7ec32ddc5ebd Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Thu, 2 May 2024 20:12:32 +0200 Subject: [PATCH 087/151] Update common Prometheus files (#3009) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 4 ++-- .github/workflows/golangci-lint.yml | 2 +- Makefile.common | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index d0368eaa1c..a7d7e150c0 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -17,7 +17,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Set docker hub repo name run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to Dockerhub @@ -37,7 +37,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Set quay.io org name run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - name: Set quay.io repo name diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index a7a40c1be5..b36f71c3c1 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -33,6 +33,6 @@ jobs: run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' - name: Lint - uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0 + uses: golangci/golangci-lint-action@9d1e0624a798bb64f6c3cea93db47765312263dc # v5.1.0 with: version: v1.56.2 diff --git a/Makefile.common b/Makefile.common index 0acfb9d806..0e9ace29b4 100644 --- a/Makefile.common +++ b/Makefile.common @@ -55,7 +55,7 @@ ifneq ($(shell command -v gotestsum 2> /dev/null),) endif endif -PROMU_VERSION ?= 0.15.0 +PROMU_VERSION ?= 0.17.0 PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz SKIP_GOLANGCI_LINT := From 932d524784db2120df1b627f69514e5bc59f7a0a Mon Sep 17 00:00:00 2001 From: Alper Polat <101826653+gitperr@users.noreply.github.com> Date: Thu, 2 May 2024 21:13:10 +0300 Subject: [PATCH 088/151] Sign node exporter darwin binary with rcodesign (#3008) * Sign node exporter darwin binary with rcodesign Prevents SIGKILL issues on macs Signed-off-by: Alper Polat * Be explicit about checking for the binary Co-authored-by: Ben Kochie Signed-off-by: Alper Polat <101826653+gitperr@users.noreply.github.com> * Also attempt to sign darwin-amd64 Signed-off-by: Alper Polat --------- Signed-off-by: Alper Polat Signed-off-by: Alper Polat <101826653+gitperr@users.noreply.github.com> Co-authored-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- .circleci/config.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0e29a6afdc..8cf200b826 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,6 +49,16 @@ jobs: - run: docker run --privileged linuxkit/binfmt:af88a591f9cc896a52ce596b9cf7ca26a061ef97 - run: promu crossbuild -v --parallelism $CIRCLE_NODE_TOTAL --parallelism-thread $CIRCLE_NODE_INDEX - run: promu --config .promu-cgo.yml crossbuild -v --parallelism $CIRCLE_NODE_TOTAL --parallelism-thread $CIRCLE_NODE_INDEX + # sign the darwin build so it doesn't get SIGKILLed on start, see: https://github.com/prometheus/node_exporter/issues/2539 + - run: + command: | + if [[ -f "$(pwd)/.build/darwin-arm64/node_exporter" ]]; then + promu codesign "$(pwd)/.build/darwin-arm64/node_exporter" + fi + + if [[ -f "$(pwd)/.build/darwin-amd64/node_exporter" ]]; then + promu codesign "$(pwd)/.build/darwin-amd64/node_exporter" + fi - persist_to_workspace: root: . paths: From cc2b5a7c2f2f1d984c48d27813805091a84e09e9 Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Wed, 15 May 2024 12:43:32 +0530 Subject: [PATCH 089/151] collector/cpu: s/cpu_ticks*/cpu_nsec* for solaris (#2963) Replace all cpu_ticks_* with cpu_nsec_*, since the former was off my a magnitude of 10e6, and showed incorrect values for node_cpu_seconds_total. Fixes: #1837 Signed-off-by: Pranshu Srivastava Signed-off-by: Vitaly Zhuravlev --- collector/cpu_solaris.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/collector/cpu_solaris.go b/collector/cpu_solaris.go index 32466a1e64..c78845423f 100644 --- a/collector/cpu_solaris.go +++ b/collector/cpu_solaris.go @@ -60,17 +60,17 @@ func (c *cpuCollector) Update(ch chan<- prometheus.Metric) error { } for k, v := range map[string]string{ - "idle": "cpu_ticks_idle", - "kernel": "cpu_ticks_kernel", - "user": "cpu_ticks_user", - "wait": "cpu_ticks_wait", + "idle": "cpu_nsec_idle", + "kernel": "cpu_nsec_kernel", + "user": "cpu_nsec_user", + "wait": "cpu_nsec_wait", } { kstatValue, err := ksCPU.GetNamed(v) if err != nil { return err } - ch <- c.cpu.mustNewConstMetric(float64(kstatValue.UintVal), strconv.Itoa(cpu), k) + ch <- c.cpu.mustNewConstMetric(float64(kstatValue.UintVal)/1e9, strconv.Itoa(cpu), k) } } return nil From 60c6648633c1a2c2f40f31dde269770001b882ba Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Thu, 16 May 2024 08:38:58 +0200 Subject: [PATCH 090/151] Fix pressure collector nil reference (#3016) Check that the PSI metrics are returned in order to avoid nil pointer dereference. * Update fixutre to match real-world samples. Fixes: https://github.com/prometheus/node_exporter/issues/3015 Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/proc/pressure/cpu | 1 + collector/pressure_linux.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/collector/fixtures/proc/pressure/cpu b/collector/fixtures/proc/pressure/cpu index 14acc3a325..0aaced93da 100644 --- a/collector/fixtures/proc/pressure/cpu +++ b/collector/fixtures/proc/pressure/cpu @@ -1 +1,2 @@ some avg10=0.00 avg60=0.00 avg300=0.00 total=14036781 +full avg10=0.00 avg60=0.00 avg300=0.00 total=0 diff --git a/collector/pressure_linux.go b/collector/pressure_linux.go index ceaced7eef..4dbdc5393d 100644 --- a/collector/pressure_linux.go +++ b/collector/pressure_linux.go @@ -102,6 +102,14 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { } return fmt.Errorf("failed to retrieve pressure stats: %w", err) } + if vals.Some == nil { + level.Debug(c.logger).Log("msg", "pressure information returned no 'some' data") + return ErrNoData + } + if vals.Full == nil { + level.Debug(c.logger).Log("msg", "pressure information returned no 'full' data") + return ErrNoData + } switch res { case "cpu": ch <- prometheus.MustNewConstMetric(c.cpu, prometheus.CounterValue, float64(vals.Some.Total)/1000.0/1000.0) From a5c6bb640bd813f145b9e16b67042bc937ac83d2 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Tue, 21 May 2024 18:25:19 +0200 Subject: [PATCH 091/151] Release v1.8.1 (#3018) * [BUGFIX] Fix CPU seconds on Solaris #2963 * [BUGFIX] Sign Darwin/MacOS binaries #3008 * [BUGFIX] Fix pressure collector nil reference #3016 Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- CHANGELOG.md | 6 ++++++ VERSION | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2cb6c0951..79ad9270a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ * [ENHANCEMENT] * [BUGFIX] +## 1.8.1 / 2024-05-16 + +* [BUGFIX] Fix CPU seconds on Solaris #2963 +* [BUGFIX] Sign Darwin/MacOS binaries #3008 +* [BUGFIX] Fix pressure collector nil reference #3016 + ## 1.8.0 / 2024-04-24 * [CHANGE] exec_bsd: Fix labels for `vm.stats.sys.v_syscall` sysctl #2895 diff --git a/VERSION b/VERSION index 27f9cd322b..a8fdfda1c7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.8.0 +1.8.1 From 21bcf132e1a4b7f190265dfd5fe398cae0c7618b Mon Sep 17 00:00:00 2001 From: prombot Date: Tue, 28 May 2024 17:47:47 +0000 Subject: [PATCH 092/151] Update common Prometheus files Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 9 +++++---- Makefile.common | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index b36f71c3c1..5ceb590991 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -24,8 +24,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - - name: install Go + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - name: Install Go uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 with: go-version: 1.22.x @@ -33,6 +33,7 @@ jobs: run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' - name: Lint - uses: golangci/golangci-lint-action@9d1e0624a798bb64f6c3cea93db47765312263dc # v5.1.0 + uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1 with: - version: v1.56.2 + args: --verbose + version: v1.59.0 diff --git a/Makefile.common b/Makefile.common index 0e9ace29b4..1617292350 100644 --- a/Makefile.common +++ b/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.56.2 +GOLANGCI_LINT_VERSION ?= v1.59.0 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) From cc63542df2df6af21c73f6f07f0cc4d9a353cd7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Jun 2024 08:59:07 +0200 Subject: [PATCH 093/151] build(deps): bump github.com/mdlayher/wifi from 0.1.0 to 0.2.0 (#3038) Bumps [github.com/mdlayher/wifi](https://github.com/mdlayher/wifi) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/mdlayher/wifi/releases) - [Commits](https://github.com/mdlayher/wifi/compare/v0.1.0...v0.2.0) --- updated-dependencies: - dependency-name: github.com/mdlayher/wifi dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index d11c69e311..5e489c4190 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.1.0 github.com/mdlayher/netlink v1.7.2 - github.com/mdlayher/wifi v0.1.0 + github.com/mdlayher/wifi v0.2.0 github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.19.0 @@ -50,7 +50,7 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.22.0 // indirect golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.7.0 // indirect diff --git a/go.sum b/go.sum index 5e0f6a48b2..d4a3c9b354 100644 --- a/go.sum +++ b/go.sum @@ -64,8 +64,8 @@ github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/ github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U= github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= -github.com/mdlayher/wifi v0.1.0 h1:y8wYRUXwok5CtUZOXT3egghYesX0O79E3ALl+SIDm9Q= -github.com/mdlayher/wifi v0.1.0/go.mod h1:+gBYnZAMcUKHSFzMJXwlz7tLsEHgwDJ9DJCefhJM+gI= +github.com/mdlayher/wifi v0.2.0 h1:vwbVyu5MWTiFNvOmWdvIx9veBlMVnEasZ90PhUi1DYU= +github.com/mdlayher/wifi v0.2.0/go.mod h1:yOfWhVZ4FFJxeHzAxDzt87Om9EkqqcCiY9Gi5gfSXwI= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= @@ -102,8 +102,8 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= From 67f49873d1dd991461360906a9c6e89815fd1d59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Jun 2024 09:00:13 +0200 Subject: [PATCH 094/151] build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.1 to 1.4.2 (#3034) Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/jsimonetti/rtnetlink/releases) - [Commits](https://github.com/jsimonetti/rtnetlink/compare/v1.4.1...v1.4.2) --- updated-dependencies: - dependency-name: github.com/jsimonetti/rtnetlink dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 5e489c4190..540c8a0325 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/hodgesds/perf-utils v0.7.0 github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 github.com/josharian/native v1.1.0 - github.com/jsimonetti/rtnetlink v1.4.1 + github.com/jsimonetti/rtnetlink v1.4.2 github.com/lufia/iostat v1.2.1 github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.1.0 @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.14.0 github.com/safchain/ethtool v0.3.0 golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f - golang.org/x/sys v0.19.0 + golang.org/x/sys v0.20.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index d4a3c9b354..bfc035d157 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtL github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jsimonetti/rtnetlink v1.4.1 h1:JfD4jthWBqZMEffc5RjgmlzpYttAVw1sdnmiNaPO3hE= -github.com/jsimonetti/rtnetlink v1.4.1/go.mod h1:xJjT7t59UIZ62GLZbv6PLLo8VFrostJMPBAheR6OM8w= +github.com/jsimonetti/rtnetlink v1.4.2 h1:Df9w9TZ3npHTyDn0Ev9e1uzmN2odmXd0QX+J5GTEn90= +github.com/jsimonetti/rtnetlink v1.4.2/go.mod h1:92s6LJdE+1iOrw+F2/RO7LYI2Qd8pPpFNNUYW06gcoM= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -116,8 +116,8 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From a538aeb66620d7bb684bd79f6420a99a73964871 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Jun 2024 10:32:04 +0200 Subject: [PATCH 095/151] build(deps): bump github.com/beevik/ntp from 1.3.1 to 1.4.3 (#3036) Bumps [github.com/beevik/ntp](https://github.com/beevik/ntp) from 1.3.1 to 1.4.3. - [Release notes](https://github.com/beevik/ntp/releases) - [Changelog](https://github.com/beevik/ntp/blob/main/RELEASE_NOTES.md) - [Commits](https://github.com/beevik/ntp/compare/v1.3.1...v1.4.3) --- updated-dependencies: - dependency-name: github.com/beevik/ntp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 8 ++++---- go.sum | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 540c8a0325..d65ec07183 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/alecthomas/kingpin/v2 v2.4.0 - github.com/beevik/ntp v1.3.1 + github.com/beevik/ntp v1.4.3 github.com/coreos/go-systemd/v22 v22.5.0 github.com/dennwc/btrfs v0.0.0-20240418142341-0167142bde7a github.com/ema/qdisc v1.0.0 @@ -50,11 +50,11 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.22.0 // indirect - golang.org/x/net v0.23.0 // indirect + golang.org/x/crypto v0.23.0 // indirect + golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/text v0.15.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index bfc035d157..4b2332cece 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjH github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/beevik/ntp v1.3.1 h1:Y/srlT8L1yQr58kyPWFPZIxRL8ttx2SRIpVYJqZIlAM= -github.com/beevik/ntp v1.3.1/go.mod h1:fT6PylBq86Tsq23ZMEe47b7QQrZfYBFPnpzt0a9kJxw= +github.com/beevik/ntp v1.4.3 h1:PlbTvE5NNy4QHmA4Mg57n7mcFTmr1W1j3gcK7L1lqho= +github.com/beevik/ntp v1.4.3/go.mod h1:Unr8Zg+2dRn7d8bHFuehIMSvvUYssHMxW3Q5Nx4RW5Q= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= @@ -93,8 +93,8 @@ github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:G81a github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= @@ -102,13 +102,13 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= @@ -120,8 +120,8 @@ golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= From e8060188f113b3bafb81728a4632a394d93d4db4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Jun 2024 10:32:32 +0200 Subject: [PATCH 096/151] build(deps): bump github.com/prometheus/client_golang (#3035) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.0 to 1.19.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.19.0...v1.19.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d65ec07183..0b9e8a0a38 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/mdlayher/wifi v0.2.0 github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 - github.com/prometheus/client_golang v1.19.0 + github.com/prometheus/client_golang v1.19.1 github.com/prometheus/client_model v0.6.1 github.com/prometheus/common v0.53.0 github.com/prometheus/exporter-toolkit v0.11.0 diff --git a/go.sum b/go.sum index 4b2332cece..652f6056e3 100644 --- a/go.sum +++ b/go.sum @@ -74,8 +74,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= -github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= -github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= From 0e2f530c8107739899677a73d442d44ac3b561aa Mon Sep 17 00:00:00 2001 From: kangjie Date: Fri, 7 Jun 2024 00:37:22 +0800 Subject: [PATCH 097/151] slab-collector: add filter for slab name. (#3041) Signed-off-by: Kangjie Xu Co-authored-by: Kangjie Xu Signed-off-by: Vitaly Zhuravlev --- README.md | 1 + collector/slabinfo_linux.go | 25 ++++++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ad385650a4..c6e0d1fe26 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ filesystem | mount-points | N/A | --collector.filesystem.mount-points-exclude hwmon | chip | --collector.hwmon.chip-include | --collector.hwmon.chip-exclude netdev | device | --collector.netdev.device-include | --collector.netdev.device-exclude qdisk | device | --collector.qdisk.device-include | --collector.qdisk.device-exclude +slabinfo | slab-names | --collector.slabinfo.slabs-include | --collector.slabinfo.slabs-exclude sysctl | all | --collector.sysctl.include | N/A systemd | unit | --collector.systemd.unit-include | --collector.systemd.unit-exclude diff --git a/collector/slabinfo_linux.go b/collector/slabinfo_linux.go index a3c3ebced7..70241a08e8 100644 --- a/collector/slabinfo_linux.go +++ b/collector/slabinfo_linux.go @@ -19,16 +19,23 @@ package collector import ( "fmt" + "github.com/alecthomas/kingpin/v2" "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) +var ( + slabNameInclude = kingpin.Flag("collector.slabinfo.slabs-include", "Regexp of slabs to include in slabinfo collector.").Default(".*").String() + slabNameExclude = kingpin.Flag("collector.slabinfo.slabs-exclude", "Regexp of slabs to exclude in slabinfo collector.").Default("").String() +) + type slabinfoCollector struct { - fs procfs.FS - logger log.Logger - subsystem string - labels []string + fs procfs.FS + logger log.Logger + subsystem string + labels []string + slabNameFilter deviceFilter } func init() { @@ -42,9 +49,10 @@ func NewSlabinfoCollector(logger log.Logger) (Collector, error) { } return &slabinfoCollector{logger: logger, - fs: fs, - subsystem: "slabinfo", - labels: []string{"slab"}, + fs: fs, + subsystem: "slabinfo", + labels: []string{"slab"}, + slabNameFilter: newDeviceFilter(*slabNameExclude, *slabNameInclude), }, nil } @@ -55,6 +63,9 @@ func (c *slabinfoCollector) Update(ch chan<- prometheus.Metric) error { } for _, slab := range slabinfo.Slabs { + if c.slabNameFilter.ignored(slab.Name) { + continue + } ch <- c.activeObjects(slab.Name, slab.ObjActive) ch <- c.objects(slab.Name, slab.ObjNum) ch <- c.objectSizeBytes(slab.Name, slab.ObjSize) From 8663dbc801516c6f573a79a45fbeb3adfb4c47f8 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Sun, 9 Jun 2024 12:01:48 +0200 Subject: [PATCH 098/151] Update common Prometheus files (#3040) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index a7d7e150c0..14e0f0844a 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -17,7 +17,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Set docker hub repo name run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to Dockerhub @@ -37,7 +37,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Set quay.io org name run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - name: Set quay.io repo name From 67c464a50d3308d70f3583ad4809df94927a667d Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Sun, 9 Jun 2024 19:58:44 +0200 Subject: [PATCH 099/151] Update common Prometheus files (#3044) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 9 +++++++-- .github/workflows/golangci-lint.yml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index 14e0f0844a..8ddbc34aeb 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -4,6 +4,7 @@ on: push: paths: - "README.md" + - "README-containers.md" - ".github/workflows/container_description.yml" branches: [ main, master ] @@ -29,7 +30,9 @@ jobs: destination_container_repo: ${{ env.DOCKER_REPO_NAME }} provider: dockerhub short_description: ${{ env.DOCKER_REPO_NAME }} - readme_file: 'README.md' + # Empty string results in README-containers.md being pushed if it + # exists. Otherwise, README.md is pushed. + readme_file: '' PushQuayIoReadme: runs-on: ubuntu-latest @@ -49,4 +52,6 @@ jobs: with: destination_container_repo: ${{ env.DOCKER_REPO_NAME }} provider: quay - readme_file: 'README.md' + # Empty string results in README-containers.md being pushed if it + # exists. Otherwise, README.md is pushed. + readme_file: '' diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 5ceb590991..8de7af6394 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -26,7 +26,7 @@ jobs: - name: Checkout repository uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Install Go - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 with: go-version: 1.22.x - name: Install snmp_exporter/generator dependencies From b1b4556ba8a962ace99063fa2c2900f346160871 Mon Sep 17 00:00:00 2001 From: Benny Siegert Date: Thu, 13 Jun 2024 20:53:25 +0200 Subject: [PATCH 100/151] Do not panic as much in Linux collector tests (#3050) Running "go test" in the collector directory, without the fixtures available, results in multiple panics, including `SIGSEGV`. Most of these are due to incorrect error handling. This cleans them up. Signed-off-by: Benny Siegert Signed-off-by: Vitaly Zhuravlev --- collector/btrfs_linux_test.go | 5 ++++- collector/diskstats_linux_test.go | 2 +- collector/ethtool_linux_test.go | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/collector/btrfs_linux_test.go b/collector/btrfs_linux_test.go index fcd6f9f995..f9bf721442 100644 --- a/collector/btrfs_linux_test.go +++ b/collector/btrfs_linux_test.go @@ -92,7 +92,10 @@ func checkMetric(exp, got *btrfsMetric) bool { } func TestBtrfs(t *testing.T) { - fs, _ := btrfs.NewFS("fixtures/sys") + fs, err := btrfs.NewFS("fixtures/sys") + if err != nil { + t.Fatal(err) + } collector := &btrfsCollector{fs: fs} stats, err := collector.fs.Stats() diff --git a/collector/diskstats_linux_test.go b/collector/diskstats_linux_test.go index 8e969c3e3a..88d8c8265e 100644 --- a/collector/diskstats_linux_test.go +++ b/collector/diskstats_linux_test.go @@ -320,7 +320,7 @@ node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 logger := log.NewLogfmtLogger(os.Stderr) collector, err := NewDiskstatsCollector(logger) if err != nil { - panic(err) + t.Fatal(err) } c, err := NewTestDiskStatsCollector(logger) if err != nil { diff --git a/collector/ethtool_linux_test.go b/collector/ethtool_linux_test.go index cf55c6b1f5..ae7df0ddff 100644 --- a/collector/ethtool_linux_test.go +++ b/collector/ethtool_linux_test.go @@ -257,12 +257,12 @@ func (e *EthtoolFixture) LinkInfo(intf string) (ethtool.EthtoolCmd, error) { func NewEthtoolTestCollector(logger log.Logger) (Collector, error) { collector, err := makeEthtoolCollector(logger) - collector.ethtool = &EthtoolFixture{ - fixturePath: "fixtures/ethtool/", - } if err != nil { return nil, err } + collector.ethtool = &EthtoolFixture{ + fixturePath: "fixtures/ethtool/", + } return collector, nil } @@ -373,7 +373,7 @@ node_network_supported_speed_bytes{device="eth0",duplex="half",mode="10baseT"} 1 logger := log.NewLogfmtLogger(os.Stderr) collector, err := NewEthtoolTestCollector(logger) if err != nil { - panic(err) + t.Fatal(err) } c, err := NewTestEthtoolCollector(logger) if err != nil { From daf6de8946173631e9e5cf8b6c20db1e70fd4837 Mon Sep 17 00:00:00 2001 From: chengjoey <30427474+chengjoey@users.noreply.github.com> Date: Wed, 19 Jun 2024 17:16:10 +0800 Subject: [PATCH 101/151] fix pressure metric collection fails on systems that do not expose a full CPU stat #3051 (#3054) Signed-off-by: joey Signed-off-by: Vitaly Zhuravlev --- collector/pressure_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/pressure_linux.go b/collector/pressure_linux.go index 4dbdc5393d..f64d004fa6 100644 --- a/collector/pressure_linux.go +++ b/collector/pressure_linux.go @@ -106,7 +106,7 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { level.Debug(c.logger).Log("msg", "pressure information returned no 'some' data") return ErrNoData } - if vals.Full == nil { + if vals.Full == nil && res != "cpu" { level.Debug(c.logger).Log("msg", "pressure information returned no 'full' data") return ErrNoData } From d8dff4e1542a6af5f806309b175be7903ba3cfec Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Tue, 25 Jun 2024 20:01:44 +0200 Subject: [PATCH 102/151] Update common Prometheus files (#3060) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- Makefile.common | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 8de7af6394..bb65d7f607 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -36,4 +36,4 @@ jobs: uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1 with: args: --verbose - version: v1.59.0 + version: v1.59.1 diff --git a/Makefile.common b/Makefile.common index 1617292350..e3da72ab47 100644 --- a/Makefile.common +++ b/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.59.0 +GOLANGCI_LINT_VERSION ?= v1.59.1 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) From 4d008b3a4a3dec8c4d4d29e4204465603ced629f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:17:13 +0200 Subject: [PATCH 103/151] build(deps): bump github.com/safchain/ethtool from 0.3.0 to 0.4.1 (#3066) Bumps [github.com/safchain/ethtool](https://github.com/safchain/ethtool) from 0.3.0 to 0.4.1. - [Release notes](https://github.com/safchain/ethtool/releases) - [Commits](https://github.com/safchain/ethtool/compare/v0.3.0...v0.4.1) --- updated-dependencies: - dependency-name: github.com/safchain/ethtool dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 4 ++-- go.sum | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 0b9e8a0a38..ee979cd611 100644 --- a/go.mod +++ b/go.mod @@ -27,9 +27,9 @@ require ( github.com/prometheus/common v0.53.0 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.14.0 - github.com/safchain/ethtool v0.3.0 + github.com/safchain/ethtool v0.4.1 golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f - golang.org/x/sys v0.20.0 + golang.org/x/sys v0.21.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index 652f6056e3..5f9265e264 100644 --- a/go.sum +++ b/go.sum @@ -86,8 +86,8 @@ github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdf github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= -github.com/safchain/ethtool v0.3.0/go.mod h1:SA9BwrgyAqNo7M+uaL6IYbxpm5wk3L7Mm6ocLW+CJUs= +github.com/safchain/ethtool v0.4.1 h1:S6mEleTADqgynileXoiapt/nKnatyR6bmIHoF+h2ADo= +github.com/safchain/ethtool v0.4.1/go.mod h1:XLLnZmy4OCRTkksP/UiMjij96YmIsBfmBQcs7H6tA48= github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:GfSdC6wKfTGcgCS7BtzF5694Amne1pGCSTY252WhlEY= github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -115,9 +115,8 @@ golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= From e14f308d9943034ed1395d4a2ad14f375ace0b0d Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Wed, 10 Jul 2024 19:28:57 +0530 Subject: [PATCH 104/151] chore: sync with latest `procfs` release (#3059) Needed-for: https://github.com/prometheus/node_exporter/pull/3032 Signed-off-by: Pranshu Srivastava Signed-off-by: Vitaly Zhuravlev --- collector/fibrechannel_linux.go | 44 ++++++---- collector/mountstats_linux.go | 139 ++++++++++++++++---------------- collector/utils/utils.go | 27 +++++++ go.mod | 2 +- go.sum | 4 +- 5 files changed, 130 insertions(+), 86 deletions(-) create mode 100644 collector/utils/utils.go diff --git a/collector/fibrechannel_linux.go b/collector/fibrechannel_linux.go index 13a3b5dc16..782ad33ee0 100644 --- a/collector/fibrechannel_linux.go +++ b/collector/fibrechannel_linux.go @@ -23,6 +23,7 @@ import ( "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/node_exporter/collector/utils" "github.com/prometheus/procfs/sysfs" ) @@ -114,23 +115,36 @@ func (c *fibrechannelCollector) Update(ch chan<- prometheus.Metric) error { infoValue := 1.0 // First push the Host values - ch <- prometheus.MustNewConstMetric(infoDesc, prometheus.GaugeValue, infoValue, host.Name, host.Speed, host.PortState, host.PortType, host.PortID, host.PortName, host.FabricName, host.SymbolicName, host.SupportedClasses, host.SupportedSpeeds, host.DevLossTMO) + ch <- prometheus.MustNewConstMetric(infoDesc, prometheus.GaugeValue, infoValue, utils.SafeDereference( + host.Name, + host.Speed, + host.PortState, + host.PortType, + host.PortID, + host.PortName, + host.FabricName, + host.SymbolicName, + host.SupportedClasses, + host.SupportedSpeeds, + host.DevLossTMO, + )...) // Then the counters - c.pushCounter(ch, "dumped_frames_total", host.Counters.DumpedFrames, host.Name) - c.pushCounter(ch, "error_frames_total", host.Counters.ErrorFrames, host.Name) - c.pushCounter(ch, "invalid_crc_total", host.Counters.InvalidCRCCount, host.Name) - c.pushCounter(ch, "rx_frames_total", host.Counters.RXFrames, host.Name) - c.pushCounter(ch, "rx_words_total", host.Counters.RXWords, host.Name) - c.pushCounter(ch, "tx_frames_total", host.Counters.TXFrames, host.Name) - c.pushCounter(ch, "tx_words_total", host.Counters.TXWords, host.Name) - c.pushCounter(ch, "seconds_since_last_reset_total", host.Counters.SecondsSinceLastReset, host.Name) - c.pushCounter(ch, "invalid_tx_words_total", host.Counters.InvalidTXWordCount, host.Name) - c.pushCounter(ch, "link_failure_total", host.Counters.LinkFailureCount, host.Name) - c.pushCounter(ch, "loss_of_sync_total", host.Counters.LossOfSyncCount, host.Name) - c.pushCounter(ch, "loss_of_signal_total", host.Counters.LossOfSignalCount, host.Name) - c.pushCounter(ch, "nos_total", host.Counters.NosCount, host.Name) - c.pushCounter(ch, "fcp_packet_aborts_total", host.Counters.FCPPacketAborts, host.Name) + // Note: `procfs` guarantees these a safe dereference for these counters. + c.pushCounter(ch, "dumped_frames_total", *host.Counters.DumpedFrames, *host.Name) + c.pushCounter(ch, "error_frames_total", *host.Counters.ErrorFrames, *host.Name) + c.pushCounter(ch, "invalid_crc_total", *host.Counters.InvalidCRCCount, *host.Name) + c.pushCounter(ch, "rx_frames_total", *host.Counters.RXFrames, *host.Name) + c.pushCounter(ch, "rx_words_total", *host.Counters.RXWords, *host.Name) + c.pushCounter(ch, "tx_frames_total", *host.Counters.TXFrames, *host.Name) + c.pushCounter(ch, "tx_words_total", *host.Counters.TXWords, *host.Name) + c.pushCounter(ch, "seconds_since_last_reset_total", *host.Counters.SecondsSinceLastReset, *host.Name) + c.pushCounter(ch, "invalid_tx_words_total", *host.Counters.InvalidTXWordCount, *host.Name) + c.pushCounter(ch, "link_failure_total", *host.Counters.LinkFailureCount, *host.Name) + c.pushCounter(ch, "loss_of_sync_total", *host.Counters.LossOfSyncCount, *host.Name) + c.pushCounter(ch, "loss_of_signal_total", *host.Counters.LossOfSignalCount, *host.Name) + c.pushCounter(ch, "nos_total", *host.Counters.NosCount, *host.Name) + c.pushCounter(ch, "fcp_packet_aborts_total", *host.Counters.FCPPacketAborts, *host.Name) } return nil diff --git a/collector/mountstats_linux.go b/collector/mountstats_linux.go index 9dea6fad71..cdd84ea16c 100644 --- a/collector/mountstats_linux.go +++ b/collector/mountstats_linux.go @@ -538,15 +538,16 @@ func (c *mountStatsCollector) Update(ch chan<- prometheus.Metric) error { mountAddress = miStats.SuperOptions["addr"] } - deviceIdentifier := nfsDeviceIdentifier{m.Device, stats.Transport.Protocol, mountAddress} - i := deviceList[deviceIdentifier] - if i { - level.Debug(c.logger).Log("msg", "Skipping duplicate device entry", "device", deviceIdentifier) - continue + for k := range stats.Transport { + deviceIdentifier := nfsDeviceIdentifier{m.Device, stats.Transport[k].Protocol, mountAddress} + i := deviceList[deviceIdentifier] + if i { + level.Debug(c.logger).Log("msg", "Skipping duplicate device entry", "device", deviceIdentifier) + break + } + deviceList[deviceIdentifier] = true + c.updateNFSStats(ch, stats, m.Device, stats.Transport[k].Protocol, mountAddress) } - - deviceList[deviceIdentifier] = true - c.updateNFSStats(ch, stats, m.Device, stats.Transport.Protocol, mountAddress) } return nil @@ -617,75 +618,77 @@ func (c *mountStatsCollector) updateNFSStats(ch chan<- prometheus.Metric, s *pro labelValues..., ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportBindTotal, - prometheus.CounterValue, - float64(s.Transport.Bind), - labelValues..., - ) + for i := range s.Transport { + ch <- prometheus.MustNewConstMetric( + c.NFSTransportBindTotal, + prometheus.CounterValue, + float64(s.Transport[i].Bind), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportConnectTotal, - prometheus.CounterValue, - float64(s.Transport.Connect), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportConnectTotal, + prometheus.CounterValue, + float64(s.Transport[i].Connect), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportIdleTimeSeconds, - prometheus.GaugeValue, - float64(s.Transport.IdleTimeSeconds%float64Mantissa), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportIdleTimeSeconds, + prometheus.GaugeValue, + float64(s.Transport[i].IdleTimeSeconds%float64Mantissa), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportSendsTotal, - prometheus.CounterValue, - float64(s.Transport.Sends), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportSendsTotal, + prometheus.CounterValue, + float64(s.Transport[i].Sends), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportReceivesTotal, - prometheus.CounterValue, - float64(s.Transport.Receives), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportReceivesTotal, + prometheus.CounterValue, + float64(s.Transport[i].Receives), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportBadTransactionIDsTotal, - prometheus.CounterValue, - float64(s.Transport.BadTransactionIDs), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportBadTransactionIDsTotal, + prometheus.CounterValue, + float64(s.Transport[i].BadTransactionIDs), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportBacklogQueueTotal, - prometheus.CounterValue, - float64(s.Transport.CumulativeBacklog), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportBacklogQueueTotal, + prometheus.CounterValue, + float64(s.Transport[i].CumulativeBacklog), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportMaximumRPCSlots, - prometheus.GaugeValue, - float64(s.Transport.MaximumRPCSlotsUsed), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportMaximumRPCSlots, + prometheus.GaugeValue, + float64(s.Transport[i].MaximumRPCSlotsUsed), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportSendingQueueTotal, - prometheus.CounterValue, - float64(s.Transport.CumulativeSendingQueue), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportSendingQueueTotal, + prometheus.CounterValue, + float64(s.Transport[i].CumulativeSendingQueue), + labelValues..., + ) - ch <- prometheus.MustNewConstMetric( - c.NFSTransportPendingQueueTotal, - prometheus.CounterValue, - float64(s.Transport.CumulativePendingQueue), - labelValues..., - ) + ch <- prometheus.MustNewConstMetric( + c.NFSTransportPendingQueueTotal, + prometheus.CounterValue, + float64(s.Transport[i].CumulativePendingQueue), + labelValues..., + ) + } for _, op := range s.Operations { opLabelValues := []string{export, protocol, mountAddress, op.Operation} diff --git a/collector/utils/utils.go b/collector/utils/utils.go new file mode 100644 index 0000000000..aa5b7540f0 --- /dev/null +++ b/collector/utils/utils.go @@ -0,0 +1,27 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +func SafeDereference[T any](s ...*T) []T { + var resolved []T + for _, v := range s { + if v != nil { + resolved = append(resolved, *v) + } else { + var zeroValue T + resolved = append(resolved, zeroValue) + } + } + return resolved +} diff --git a/go.mod b/go.mod index ee979cd611..609f9aa32a 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/prometheus/client_model v0.6.1 github.com/prometheus/common v0.53.0 github.com/prometheus/exporter-toolkit v0.11.0 - github.com/prometheus/procfs v0.14.0 + github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f golang.org/x/sys v0.21.0 diff --git a/go.sum b/go.sum index 5f9265e264..a572233bb4 100644 --- a/go.sum +++ b/go.sum @@ -82,8 +82,8 @@ github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+a github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= -github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= -github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/safchain/ethtool v0.4.1 h1:S6mEleTADqgynileXoiapt/nKnatyR6bmIHoF+h2ADo= From 03867b998f6295753b25406a03ee501a2d081ec9 Mon Sep 17 00:00:00 2001 From: mchtech Date: Tue, 11 Jun 2024 10:31:42 +0000 Subject: [PATCH 105/151] add IRQ PSI metrics Signed-off-by: mchtech Signed-off-by: Vitaly Zhuravlev --- collector/pressure_linux.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/collector/pressure_linux.go b/collector/pressure_linux.go index f64d004fa6..17502981c5 100644 --- a/collector/pressure_linux.go +++ b/collector/pressure_linux.go @@ -29,7 +29,7 @@ import ( ) var ( - psiResources = []string{"cpu", "io", "memory"} + psiResources = []string{"cpu", "io", "memory", "irq"} ) type pressureStatsCollector struct { @@ -38,6 +38,7 @@ type pressureStatsCollector struct { ioFull *prometheus.Desc mem *prometheus.Desc memFull *prometheus.Desc + irqFull *prometheus.Desc fs procfs.FS @@ -81,6 +82,11 @@ func NewPressureStatsCollector(logger log.Logger) (Collector, error) { "Total time in seconds no process could make progress due to memory congestion", nil, nil, ), + irqFull: prometheus.NewDesc( + prometheus.BuildFQName(namespace, "pressure", "irq_stalled_seconds_total"), + "Total time in seconds no process could make progress due to IRQ congestion", + nil, nil, + ), fs: fs, logger: logger, }, nil @@ -102,7 +108,9 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { } return fmt.Errorf("failed to retrieve pressure stats: %w", err) } - if vals.Some == nil { + // IRQ pressure does not have 'some' data. + // See https://github.com/torvalds/linux/blob/v6.9/kernel/sched/psi.c#L1243 + if vals.Some == nil && res != "irq" { level.Debug(c.logger).Log("msg", "pressure information returned no 'some' data") return ErrNoData } @@ -119,6 +127,8 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { case "memory": ch <- prometheus.MustNewConstMetric(c.mem, prometheus.CounterValue, float64(vals.Some.Total)/1000.0/1000.0) ch <- prometheus.MustNewConstMetric(c.memFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) + case "irq": + ch <- prometheus.MustNewConstMetric(c.irqFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) default: level.Debug(c.logger).Log("msg", "did not account for resource", "resource", res) } From 7a3e1b4f58b855c361ddad2ea175306eb336810f Mon Sep 17 00:00:00 2001 From: mchtech Date: Tue, 11 Jun 2024 10:42:57 +0000 Subject: [PATCH 106/151] change irq psi url Signed-off-by: mchtech Signed-off-by: Vitaly Zhuravlev --- collector/pressure_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/pressure_linux.go b/collector/pressure_linux.go index 17502981c5..36e0650562 100644 --- a/collector/pressure_linux.go +++ b/collector/pressure_linux.go @@ -109,7 +109,7 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { return fmt.Errorf("failed to retrieve pressure stats: %w", err) } // IRQ pressure does not have 'some' data. - // See https://github.com/torvalds/linux/blob/v6.9/kernel/sched/psi.c#L1243 + // See https://github.com/torvalds/linux/blob/v6.9/include/linux/psi_types.h#L65 if vals.Some == nil && res != "irq" { level.Debug(c.logger).Log("msg", "pressure information returned no 'some' data") return ErrNoData From fae4a78b5b219f4c1aa2c2a69dbdb0b68ef58f7f Mon Sep 17 00:00:00 2001 From: mchtech Date: Tue, 11 Jun 2024 11:01:17 +0000 Subject: [PATCH 107/151] add IRQ PSI test data Signed-off-by: mchtech Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/e2e-64k-page-output.txt | 3 +++ collector/fixtures/e2e-output.txt | 3 +++ collector/fixtures/proc/pressure/irq | 1 + 3 files changed, 7 insertions(+) create mode 100644 collector/fixtures/proc/pressure/irq diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 99c58abaf7..d3b485710f 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2830,6 +2830,9 @@ node_pressure_io_stalled_seconds_total 159.229614 # HELP node_pressure_io_waiting_seconds_total Total time in seconds that processes have waited due to IO congestion # TYPE node_pressure_io_waiting_seconds_total counter node_pressure_io_waiting_seconds_total 159.886802 +# HELP node_pressure_irq_stalled_seconds_total Total time in seconds no process could make progress due to IRQ congestion +# TYPE node_pressure_irq_stalled_seconds_total counter +node_pressure_irq_stalled_seconds_total 0.008494 # HELP node_pressure_memory_stalled_seconds_total Total time in seconds no process could make progress due to memory congestion # TYPE node_pressure_memory_stalled_seconds_total counter node_pressure_memory_stalled_seconds_total 0 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index d52cb99d04..1a6448fb2d 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2852,6 +2852,9 @@ node_pressure_io_stalled_seconds_total 159.229614 # HELP node_pressure_io_waiting_seconds_total Total time in seconds that processes have waited due to IO congestion # TYPE node_pressure_io_waiting_seconds_total counter node_pressure_io_waiting_seconds_total 159.886802 +# HELP node_pressure_irq_stalled_seconds_total Total time in seconds no process could make progress due to IRQ congestion +# TYPE node_pressure_irq_stalled_seconds_total counter +node_pressure_irq_stalled_seconds_total 0.008494 # HELP node_pressure_memory_stalled_seconds_total Total time in seconds no process could make progress due to memory congestion # TYPE node_pressure_memory_stalled_seconds_total counter node_pressure_memory_stalled_seconds_total 0 diff --git a/collector/fixtures/proc/pressure/irq b/collector/fixtures/proc/pressure/irq new file mode 100644 index 0000000000..76059c7572 --- /dev/null +++ b/collector/fixtures/proc/pressure/irq @@ -0,0 +1 @@ +full avg10=0.00 avg60=0.00 avg300=0.00 total=8494 \ No newline at end of file From a47934781a00c84a9753f2d7490e71b9acad2e41 Mon Sep 17 00:00:00 2001 From: myeunee Date: Wed, 26 Jun 2024 19:48:20 +0900 Subject: [PATCH 108/151] Fix: Change EXPERIMENTAL to Experimental in README.md Signed-off-by: myeunee Signed-off-by: Vitaly Zhuravlev --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c6e0d1fe26..116e2939af 100644 --- a/README.md +++ b/README.md @@ -372,7 +372,7 @@ To see all available configuration flags: ## TLS endpoint -** EXPERIMENTAL ** +**EXPERIMENTAL** The exporter supports TLS via a new web configuration file. From d3567f38c31b5695341de0646df345e18926b868 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 14:01:42 +0000 Subject: [PATCH 109/151] build(deps): bump github.com/prometheus/common from 0.53.0 to 0.55.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.53.0 to 0.55.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.53.0...v0.55.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Vitaly Zhuravlev --- go.mod | 15 +++++++-------- go.sum | 42 ++++++++++++++---------------------------- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/go.mod b/go.mod index 609f9aa32a..5dee64938e 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.19.1 github.com/prometheus/client_model v0.6.1 - github.com/prometheus/common v0.53.0 + github.com/prometheus/common v0.55.0 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 @@ -40,22 +40,21 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/dennwc/ioctl v1.0.0 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/mdlayher/genetlink v1.3.2 // indirect github.com/mdlayher/socket v0.4.1 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 // indirect github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.23.0 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/oauth2 v0.21.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/text v0.15.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.33.0 // indirect + golang.org/x/text v0.16.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index a572233bb4..bd6ef0ea80 100644 --- a/go.sum +++ b/go.sum @@ -28,11 +28,6 @@ github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KE github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/hashicorp/go-envparse v0.1.0 h1:bE++6bhIsNCPLvgDZkYqo3nA+/PFI51pkrHdmPSDFPY= @@ -66,6 +61,8 @@ github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= github.com/mdlayher/wifi v0.2.0 h1:vwbVyu5MWTiFNvOmWdvIx9veBlMVnEasZ90PhUi1DYU= github.com/mdlayher/wifi v0.2.0/go.mod h1:yOfWhVZ4FFJxeHzAxDzt87Om9EkqqcCiY9Gi5gfSXwI= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= @@ -78,8 +75,8 @@ github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQ github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= @@ -101,34 +98,23 @@ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= +golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= From a60b43f1b12fb2abd8cbab75f6a866488f52f0e3 Mon Sep 17 00:00:00 2001 From: Simon Krenger Date: Sun, 14 Jul 2024 13:50:06 +0200 Subject: [PATCH 110/151] Add include and exclude filter for sensors in hwmon collector (#3072) * Add include and exclude filter for sensors in hwmon collector Fixes #2242 This commit adds two new flags (`collector.hwmon.sensor-include` and `collector.hwmon.sensor-exclude`) to the `hwmon` collector to allow inclusion or exclusion of specific sensors. Some devices export nonsensical values for certain sensors. Here is an example: ``` node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp13"} 49.75 node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp15"} 3.892313987e+06 node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp16"} 3.892313987e+06 ``` As a user I would like to only exclude these sensors, not necessarily the complete device (as is currently possible with the `--collector.hwmon.chip-exclude` flag) as other sensor values might be sensical or desired. The new option filters based both on device name and sensor name, separated by a semicolon. For example, to exclude the two sensors above, the following regex can be used: ~~~ --collector.hwmon.sensor-exclude="platform_nct6775_656;temp1[5,6]" ~~~ --------- Signed-off-by: Simon Krenger Signed-off-by: Vitaly Zhuravlev --- README.md | 1 + collector/hwmon_linux.go | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 116e2939af..65199f882d 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ ethtool | metrics | --collector.ethtool.metrics-include | N/A filesystem | fs-types | N/A | --collector.filesystem.fs-types-exclude filesystem | mount-points | N/A | --collector.filesystem.mount-points-exclude hwmon | chip | --collector.hwmon.chip-include | --collector.hwmon.chip-exclude +hwmon | sensor | --collector.hwmon.sensor-include | --collector.hwmon.sensor-exclude netdev | device | --collector.netdev.device-include | --collector.netdev.device-exclude qdisk | device | --collector.qdisk.device-include | --collector.qdisk.device-exclude slabinfo | slab-names | --collector.slabinfo.slabs-include | --collector.slabinfo.slabs-exclude diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index a8086d309e..ed46f0f808 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -32,8 +32,10 @@ import ( ) var ( - collectorHWmonChipInclude = kingpin.Flag("collector.hwmon.chip-include", "Regexp of hwmon chip to include (mutually exclusive to device-exclude).").String() - collectorHWmonChipExclude = kingpin.Flag("collector.hwmon.chip-exclude", "Regexp of hwmon chip to exclude (mutually exclusive to device-include).").String() + collectorHWmonChipInclude = kingpin.Flag("collector.hwmon.chip-include", "Regexp of hwmon chip to include (mutually exclusive to device-exclude).").String() + collectorHWmonChipExclude = kingpin.Flag("collector.hwmon.chip-exclude", "Regexp of hwmon chip to exclude (mutually exclusive to device-include).").String() + collectorHWmonSensorInclude = kingpin.Flag("collector.hwmon.sensor-include", "Regexp of hwmon sensor to include (mutually exclusive to sensor-exclude).").String() + collectorHWmonSensorExclude = kingpin.Flag("collector.hwmon.sensor-exclude", "Regexp of hwmon sensor to exclude (mutually exclusive to sensor-include).").String() hwmonInvalidMetricChars = regexp.MustCompile("[^a-z0-9:_]") hwmonFilenameFormat = regexp.MustCompile(`^(?P[^0-9]+)(?P[0-9]*)?(_(?P.+))?$`) @@ -52,6 +54,7 @@ func init() { type hwMonCollector struct { deviceFilter deviceFilter + sensorFilter deviceFilter logger log.Logger } @@ -62,6 +65,7 @@ func NewHwMonCollector(logger log.Logger) (Collector, error) { return &hwMonCollector{ logger: logger, deviceFilter: newDeviceFilter(*collectorHWmonChipExclude, *collectorHWmonChipInclude), + sensorFilter: newDeviceFilter(*collectorHWmonSensorExclude, *collectorHWmonSensorInclude), }, nil } @@ -202,6 +206,15 @@ func (c *hwMonCollector) updateHwmon(ch chan<- prometheus.Metric, dir string) er // Format all sensors. for sensor, sensorData := range data { + // Filtering for sensors is done on concatenated device name and sensor name + // separated by a semicolon. This allows for excluding or including of specific + // sensors on specific devices. For example, to exclude the sensor "temp3" on + // the device "platform_coretemp_0", use "platform_coretemp_0;temp3" + if c.sensorFilter.ignored(hwmonName + ";" + sensor) { + level.Debug(c.logger).Log("msg", "ignoring sensor", "sensor", sensor) + continue + } + _, sensorType, _, _ := explodeSensorFilename(sensor) labels := []string{hwmonName, sensor} From 1504e73c623b2cb94977957fb5f83bf1978fa179 Mon Sep 17 00:00:00 2001 From: Maarten van den Berg Date: Sun, 14 Jul 2024 14:24:55 +0200 Subject: [PATCH 111/151] Add metrics for btrfs commit statistics (#3010) Signed-off-by: Maarten van den Berg Signed-off-by: Vitaly Zhuravlev --- collector/btrfs_linux.go | 24 ++++++++++++++++++++++ collector/btrfs_linux_test.go | 8 ++++++++ collector/fixtures/e2e-64k-page-output.txt | 16 +++++++++++++++ collector/fixtures/e2e-output.txt | 16 +++++++++++++++ collector/fixtures/sys.ttar | 8 ++++++++ 5 files changed, 72 insertions(+) diff --git a/collector/btrfs_linux.go b/collector/btrfs_linux.go index f1490541a9..1e5ef2933f 100644 --- a/collector/btrfs_linux.go +++ b/collector/btrfs_linux.go @@ -275,6 +275,30 @@ func (c *btrfsCollector) getMetrics(s *btrfs.Stats, ioctlStats *btrfsIoctlFsStat metricType: prometheus.GaugeValue, value: float64(s.Allocation.GlobalRsvSize), }, + { + name: "commits_total", + desc: "The total number of commits that have occurred.", + metricType: prometheus.CounterValue, + value: float64(s.CommitStats.Commits), + }, + { + name: "last_commit_seconds", + desc: "Duration of the most recent commit, in seconds.", + metricType: prometheus.GaugeValue, + value: float64(s.CommitStats.LastCommitMs) / 1000, + }, + { + name: "max_commit_seconds", + desc: "Duration of the slowest commit, in seconds.", + metricType: prometheus.GaugeValue, + value: float64(s.CommitStats.MaxCommitMs) / 1000, + }, + { + name: "commit_seconds_total", + desc: "Sum of the duration of all commits, in seconds.", + metricType: prometheus.CounterValue, + value: float64(s.CommitStats.TotalCommitMs) / 1000, + }, } // Information about data, metadata and system data. diff --git a/collector/btrfs_linux_test.go b/collector/btrfs_linux_test.go index f9bf721442..c2ed57e5de 100644 --- a/collector/btrfs_linux_test.go +++ b/collector/btrfs_linux_test.go @@ -27,6 +27,10 @@ var expectedBtrfsMetrics = [][]btrfsMetric{ { {name: "info", value: 1, extraLabel: []string{"label"}, extraLabelValue: []string{"fixture"}}, {name: "global_rsv_size_bytes", value: 1.6777216e+07}, + {name: "commits_total", value: 258051, metricType: 1}, + {name: "last_commit_seconds", value: 1.0}, + {name: "max_commit_seconds", value: 51.462}, + {name: "commit_seconds_total", value: 47836.090, metricType: 1}, {name: "reserved_bytes", value: 0, extraLabel: []string{"block_group_type"}, extraLabelValue: []string{"data"}}, {name: "used_bytes", value: 8.08189952e+08, extraLabel: []string{"block_group_type", "mode"}, extraLabelValue: []string{"data", "raid0"}}, {name: "size_bytes", value: 2.147483648e+09, extraLabel: []string{"block_group_type", "mode"}, extraLabelValue: []string{"data", "raid0"}}, @@ -45,6 +49,10 @@ var expectedBtrfsMetrics = [][]btrfsMetric{ { {name: "info", value: 1, extraLabel: []string{"label"}, extraLabelValue: []string{""}}, {name: "global_rsv_size_bytes", value: 1.6777216e+07}, + {name: "commits_total", value: 0, metricType: 1}, + {name: "last_commit_seconds", value: 0}, + {name: "max_commit_seconds", value: 0}, + {name: "commit_seconds_total", value: 0, metricType: 1}, {name: "reserved_bytes", value: 0, extraLabel: []string{"block_group_type"}, extraLabelValue: []string{"data"}}, {name: "used_bytes", value: 0, extraLabel: []string{"block_group_type", "mode"}, extraLabelValue: []string{"data", "raid5"}}, {name: "size_bytes", value: 6.44087808e+08, extraLabel: []string{"block_group_type", "mode"}, extraLabelValue: []string{"data", "raid5"}}, diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index d3b485710f..95d7640f10 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -161,6 +161,14 @@ node_btrfs_allocation_ratio{block_group_type="metadata",mode="raid1",uuid="0abb2 node_btrfs_allocation_ratio{block_group_type="metadata",mode="raid6",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 2 node_btrfs_allocation_ratio{block_group_type="system",mode="raid1",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 2 node_btrfs_allocation_ratio{block_group_type="system",mode="raid6",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 2 +# HELP node_btrfs_commit_seconds_total Sum of the duration of all commits, in seconds. +# TYPE node_btrfs_commit_seconds_total counter +node_btrfs_commit_seconds_total{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 47836.09 +node_btrfs_commit_seconds_total{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 +# HELP node_btrfs_commits_total The total number of commits that have occurred. +# TYPE node_btrfs_commits_total counter +node_btrfs_commits_total{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 258051 +node_btrfs_commits_total{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 # HELP node_btrfs_device_size_bytes Size of a device that is part of the filesystem. # TYPE node_btrfs_device_size_bytes gauge node_btrfs_device_size_bytes{device="loop22",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1.073741824e+10 @@ -177,6 +185,14 @@ node_btrfs_global_rsv_size_bytes{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1. # TYPE node_btrfs_info gauge node_btrfs_info{label="",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1 node_btrfs_info{label="fixture",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 1 +# HELP node_btrfs_last_commit_seconds Duration of the most recent commit, in seconds. +# TYPE node_btrfs_last_commit_seconds gauge +node_btrfs_last_commit_seconds{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 1 +node_btrfs_last_commit_seconds{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 +# HELP node_btrfs_max_commit_seconds Duration of the slowest commit, in seconds. +# TYPE node_btrfs_max_commit_seconds gauge +node_btrfs_max_commit_seconds{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 51.462 +node_btrfs_max_commit_seconds{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 # HELP node_btrfs_reserved_bytes Amount of space reserved for a data type # TYPE node_btrfs_reserved_bytes gauge node_btrfs_reserved_bytes{block_group_type="data",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 0 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 1a6448fb2d..18355b0f70 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -161,6 +161,14 @@ node_btrfs_allocation_ratio{block_group_type="metadata",mode="raid1",uuid="0abb2 node_btrfs_allocation_ratio{block_group_type="metadata",mode="raid6",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 2 node_btrfs_allocation_ratio{block_group_type="system",mode="raid1",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 2 node_btrfs_allocation_ratio{block_group_type="system",mode="raid6",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 2 +# HELP node_btrfs_commit_seconds_total Sum of the duration of all commits, in seconds. +# TYPE node_btrfs_commit_seconds_total counter +node_btrfs_commit_seconds_total{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 47836.09 +node_btrfs_commit_seconds_total{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 +# HELP node_btrfs_commits_total The total number of commits that have occurred. +# TYPE node_btrfs_commits_total counter +node_btrfs_commits_total{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 258051 +node_btrfs_commits_total{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 # HELP node_btrfs_device_size_bytes Size of a device that is part of the filesystem. # TYPE node_btrfs_device_size_bytes gauge node_btrfs_device_size_bytes{device="loop22",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1.073741824e+10 @@ -177,6 +185,14 @@ node_btrfs_global_rsv_size_bytes{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1. # TYPE node_btrfs_info gauge node_btrfs_info{label="",uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 1 node_btrfs_info{label="fixture",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 1 +# HELP node_btrfs_last_commit_seconds Duration of the most recent commit, in seconds. +# TYPE node_btrfs_last_commit_seconds gauge +node_btrfs_last_commit_seconds{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 1 +node_btrfs_last_commit_seconds{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 +# HELP node_btrfs_max_commit_seconds Duration of the slowest commit, in seconds. +# TYPE node_btrfs_max_commit_seconds gauge +node_btrfs_max_commit_seconds{uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 51.462 +node_btrfs_max_commit_seconds{uuid="7f07c59f-6136-449c-ab87-e1cf2328731b"} 0 # HELP node_btrfs_reserved_bytes Amount of space reserved for a data type # TYPE node_btrfs_reserved_bytes gauge node_btrfs_reserved_bytes{block_group_type="data",uuid="0abb23a9-579b-43e6-ad30-227ef47fcb9d"} 0 diff --git a/collector/fixtures/sys.ttar b/collector/fixtures/sys.ttar index 2cac29e493..6fcf094dd1 100644 --- a/collector/fixtures/sys.ttar +++ b/collector/fixtures/sys.ttar @@ -4489,6 +4489,14 @@ Lines: 1 4096 Mode: 444 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: sys/fs/btrfs/0abb23a9-579b-43e6-ad30-227ef47fcb9d/commit_stats +Lines: 4 +commits 258051 +last_commit_ms 1000 +max_commit_ms 51462 +total_commit_ms 47836090EOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Directory: sys/fs/btrfs/0abb23a9-579b-43e6-ad30-227ef47fcb9d/devices Mode: 755 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From fe248b9478f3594a5fb034ad14c97ca224ad6a89 Mon Sep 17 00:00:00 2001 From: TJ Hoplock <33664289+tjhop@users.noreply.github.com> Date: Sun, 14 Jul 2024 08:27:55 -0400 Subject: [PATCH 112/151] ref!: convert linux meminfo implementation to use procfs lib (#3049) * ref!: convert linux meminfo implementation to use procfs lib Part of #2957 Prometheus' procfs lib supports collecting memory info and we're using a new enough version of the lib that has it available, so this converts the meminfo collector for Linux to use data from procfs lib instead. The bits I've touched for darwin/openbsd/netbsd are with intent to preserve the original struct implementation/backwards compatibility. Signed-off-by: TJ Hoplock * fix: meminfo debug log unsupported value Fixes: ``` ts=2024-06-11T19:04:55.591Z caller=meminfo.go:44 level=debug collector=meminfo msg="Set node_mem" memInfo="unsupported value type" ``` Signed-off-by: TJ Hoplock * fix: don't coerce nil Meminfo entries to 0, leave out if nil Nil entries in procfs.Meminfo fields indicate that the value isn't present on the system. Coercing those nil values to `0` introduces new metrics on systems that should not be present and can break some queries. Addresses PR feedback: https://github.com/prometheus/node_exporter/pull/3049#discussion_r1637581536 https://github.com/prometheus/node_exporter/pull/3049#discussion_r1637584482 Signed-off-by: TJ Hoplock --------- Signed-off-by: TJ Hoplock Signed-off-by: Vitaly Zhuravlev --- collector/meminfo.go | 12 +- collector/meminfo_darwin.go | 12 ++ collector/meminfo_linux.go | 216 +++++++++++++++++++++++------ collector/meminfo_linux_test.go | 14 +- collector/meminfo_netbsd.go | 12 ++ collector/meminfo_openbsd.go | 13 ++ collector/meminfo_openbsd_amd64.go | 15 +- 7 files changed, 234 insertions(+), 60 deletions(-) diff --git a/collector/meminfo.go b/collector/meminfo.go index b59337ddbd..0a6390d828 100644 --- a/collector/meminfo.go +++ b/collector/meminfo.go @@ -21,7 +21,6 @@ import ( "fmt" "strings" - "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -30,19 +29,10 @@ const ( memInfoSubsystem = "memory" ) -type meminfoCollector struct { - logger log.Logger -} - func init() { registerCollector("meminfo", defaultEnabled, NewMeminfoCollector) } -// NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { - return &meminfoCollector{logger}, nil -} - // Update calls (*meminfoCollector).getMemInfo to get the platform specific // memory metrics. func (c *meminfoCollector) Update(ch chan<- prometheus.Metric) error { @@ -51,7 +41,7 @@ func (c *meminfoCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { return fmt.Errorf("couldn't get meminfo: %w", err) } - level.Debug(c.logger).Log("msg", "Set node_mem", "memInfo", memInfo) + level.Debug(c.logger).Log("msg", "Set node_mem", "memInfo", fmt.Sprintf("%v", memInfo)) for k, v := range memInfo { if strings.HasSuffix(k, "_total") { metricType = prometheus.CounterValue diff --git a/collector/meminfo_darwin.go b/collector/meminfo_darwin.go index bbc969370f..21316fb57e 100644 --- a/collector/meminfo_darwin.go +++ b/collector/meminfo_darwin.go @@ -26,9 +26,21 @@ import ( "fmt" "unsafe" + "github.com/go-kit/log" "golang.org/x/sys/unix" ) +type meminfoCollector struct { + logger log.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger log.Logger) (Collector, error) { + return &meminfoCollector{ + logger: logger, + }, nil +} + func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { host := C.mach_host_self() infoCount := C.mach_msg_type_number_t(C.HOST_VM_INFO64_COUNT) diff --git a/collector/meminfo_linux.go b/collector/meminfo_linux.go index cee295024f..40e0699055 100644 --- a/collector/meminfo_linux.go +++ b/collector/meminfo_linux.go @@ -17,59 +17,189 @@ package collector import ( - "bufio" "fmt" - "io" - "os" - "regexp" - "strconv" - "strings" -) -var ( - reParens = regexp.MustCompile(`\((.*)\)`) + "github.com/go-kit/log" + "github.com/prometheus/procfs" ) -func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { - file, err := os.Open(procFilePath("meminfo")) +type meminfoCollector struct { + fs procfs.FS + logger log.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger log.Logger) (Collector, error) { + fs, err := procfs.NewFS(*procPath) if err != nil { - return nil, err + return nil, fmt.Errorf("failed to open procfs: %w", err) } - defer file.Close() - return parseMemInfo(file) + return &meminfoCollector{ + logger: logger, + fs: fs, + }, nil } -func parseMemInfo(r io.Reader) (map[string]float64, error) { - var ( - memInfo = map[string]float64{} - scanner = bufio.NewScanner(r) - ) +func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { + meminfo, err := c.fs.Meminfo() + if err != nil { + return nil, fmt.Errorf("Failed to get memory info: %s", err) + } + + metrics := make(map[string]float64) - for scanner.Scan() { - line := scanner.Text() - parts := strings.Fields(line) - // Workaround for empty lines occasionally occur in CentOS 6.2 kernel 3.10.90. - if len(parts) == 0 { - continue - } - fv, err := strconv.ParseFloat(parts[1], 64) - if err != nil { - return nil, fmt.Errorf("invalid value in meminfo: %w", err) - } - key := parts[0][:len(parts[0])-1] // remove trailing : from key - // Active(anon) -> Active_anon - key = reParens.ReplaceAllString(key, "_${1}") - switch len(parts) { - case 2: // no unit - case 3: // has unit, we presume kB - fv *= 1024 - key = key + "_bytes" - default: - return nil, fmt.Errorf("invalid line in meminfo: %s", line) - } - memInfo[key] = fv + if meminfo.ActiveBytes != nil { + metrics["Active_bytes"] = float64(*meminfo.ActiveBytes) + } + if meminfo.ActiveAnonBytes != nil { + metrics["Active_anon_bytes"] = float64(*meminfo.ActiveAnonBytes) + } + if meminfo.ActiveFileBytes != nil { + metrics["Active_file_bytes"] = float64(*meminfo.ActiveFileBytes) + } + if meminfo.AnonHugePagesBytes != nil { + metrics["AnonHugePages_bytes"] = float64(*meminfo.AnonHugePagesBytes) + } + if meminfo.AnonPagesBytes != nil { + metrics["AnonPages_bytes"] = float64(*meminfo.AnonPagesBytes) + } + if meminfo.BounceBytes != nil { + metrics["Bounce_bytes"] = float64(*meminfo.BounceBytes) + } + if meminfo.BuffersBytes != nil { + metrics["Buffers_bytes"] = float64(*meminfo.BuffersBytes) + } + if meminfo.CachedBytes != nil { + metrics["Cached_bytes"] = float64(*meminfo.CachedBytes) + } + if meminfo.CmaFreeBytes != nil { + metrics["CmaFree_bytes"] = float64(*meminfo.CmaFreeBytes) + } + if meminfo.CmaTotalBytes != nil { + metrics["CmaTotal_bytes"] = float64(*meminfo.CmaTotalBytes) + } + if meminfo.CommitLimitBytes != nil { + metrics["CommitLimit_bytes"] = float64(*meminfo.CommitLimitBytes) + } + if meminfo.CommittedASBytes != nil { + metrics["Committed_AS_bytes"] = float64(*meminfo.CommittedASBytes) + } + if meminfo.DirectMap1GBytes != nil { + metrics["DirectMap1G_bytes"] = float64(*meminfo.DirectMap1GBytes) + } + if meminfo.DirectMap2MBytes != nil { + metrics["DirectMap2M_bytes"] = float64(*meminfo.DirectMap2MBytes) + } + if meminfo.DirectMap4kBytes != nil { + metrics["DirectMap4k_bytes"] = float64(*meminfo.DirectMap4kBytes) + } + if meminfo.DirtyBytes != nil { + metrics["Dirty_bytes"] = float64(*meminfo.DirtyBytes) + } + if meminfo.HardwareCorruptedBytes != nil { + metrics["HardwareCorrupted_bytes"] = float64(*meminfo.HardwareCorruptedBytes) + } + if meminfo.HugepagesizeBytes != nil { + metrics["Hugepagesize_bytes"] = float64(*meminfo.HugepagesizeBytes) + } + if meminfo.InactiveBytes != nil { + metrics["Inactive_bytes"] = float64(*meminfo.InactiveBytes) + } + if meminfo.InactiveAnonBytes != nil { + metrics["Inactive_anon_bytes"] = float64(*meminfo.InactiveAnonBytes) + } + if meminfo.InactiveFileBytes != nil { + metrics["Inactive_file_bytes"] = float64(*meminfo.InactiveFileBytes) + } + if meminfo.KernelStackBytes != nil { + metrics["KernelStack_bytes"] = float64(*meminfo.KernelStackBytes) + } + if meminfo.MappedBytes != nil { + metrics["Mapped_bytes"] = float64(*meminfo.MappedBytes) + } + if meminfo.MemAvailableBytes != nil { + metrics["MemAvailable_bytes"] = float64(*meminfo.MemAvailableBytes) + } + if meminfo.MemFreeBytes != nil { + metrics["MemFree_bytes"] = float64(*meminfo.MemFreeBytes) + } + if meminfo.MemTotalBytes != nil { + metrics["MemTotal_bytes"] = float64(*meminfo.MemTotalBytes) + } + if meminfo.MlockedBytes != nil { + metrics["Mlocked_bytes"] = float64(*meminfo.MlockedBytes) + } + if meminfo.NFSUnstableBytes != nil { + metrics["NFS_Unstable_bytes"] = float64(*meminfo.NFSUnstableBytes) + } + if meminfo.PageTablesBytes != nil { + metrics["PageTables_bytes"] = float64(*meminfo.PageTablesBytes) + } + if meminfo.PercpuBytes != nil { + metrics["Percpu_bytes"] = float64(*meminfo.PercpuBytes) + } + if meminfo.SReclaimableBytes != nil { + metrics["SReclaimable_bytes"] = float64(*meminfo.SReclaimableBytes) + } + if meminfo.SUnreclaimBytes != nil { + metrics["SUnreclaim_bytes"] = float64(*meminfo.SUnreclaimBytes) + } + if meminfo.ShmemBytes != nil { + metrics["Shmem_bytes"] = float64(*meminfo.ShmemBytes) + } + if meminfo.ShmemHugePagesBytes != nil { + metrics["ShmemHugePages_bytes"] = float64(*meminfo.ShmemHugePagesBytes) + } + if meminfo.ShmemPmdMappedBytes != nil { + metrics["ShmemPmdMapped_bytes"] = float64(*meminfo.ShmemPmdMappedBytes) + } + if meminfo.SlabBytes != nil { + metrics["Slab_bytes"] = float64(*meminfo.SlabBytes) + } + if meminfo.SwapCachedBytes != nil { + metrics["SwapCached_bytes"] = float64(*meminfo.SwapCachedBytes) + } + if meminfo.SwapFreeBytes != nil { + metrics["SwapFree_bytes"] = float64(*meminfo.SwapFreeBytes) + } + if meminfo.SwapTotalBytes != nil { + metrics["SwapTotal_bytes"] = float64(*meminfo.SwapTotalBytes) + } + if meminfo.UnevictableBytes != nil { + metrics["Unevictable_bytes"] = float64(*meminfo.UnevictableBytes) + } + if meminfo.VmallocChunkBytes != nil { + metrics["VmallocChunk_bytes"] = float64(*meminfo.VmallocChunkBytes) + } + if meminfo.VmallocTotalBytes != nil { + metrics["VmallocTotal_bytes"] = float64(*meminfo.VmallocTotalBytes) + } + if meminfo.VmallocUsedBytes != nil { + metrics["VmallocUsed_bytes"] = float64(*meminfo.VmallocUsedBytes) + } + if meminfo.WritebackBytes != nil { + metrics["Writeback_bytes"] = float64(*meminfo.WritebackBytes) + } + if meminfo.WritebackTmpBytes != nil { + metrics["WritebackTmp_bytes"] = float64(*meminfo.WritebackTmpBytes) + } + + // These fields are always in bytes and do not have `Bytes` + // suffixed counterparts in the procfs.Meminfo struct, nor do + // they have `_bytes` suffix on the metric names. + if meminfo.HugePagesFree != nil { + metrics["HugePages_Free"] = float64(*meminfo.HugePagesFree) + } + if meminfo.HugePagesRsvd != nil { + metrics["HugePages_Rsvd"] = float64(*meminfo.HugePagesRsvd) + } + if meminfo.HugePagesSurp != nil { + metrics["HugePages_Surp"] = float64(*meminfo.HugePagesSurp) + } + if meminfo.HugePagesTotal != nil { + metrics["HugePages_Total"] = float64(*meminfo.HugePagesTotal) } - return memInfo, scanner.Err() + return metrics, nil } diff --git a/collector/meminfo_linux_test.go b/collector/meminfo_linux_test.go index a000bea53c..523426d0d0 100644 --- a/collector/meminfo_linux_test.go +++ b/collector/meminfo_linux_test.go @@ -19,18 +19,22 @@ package collector import ( "os" "testing" + + "github.com/go-kit/log" ) func TestMemInfo(t *testing.T) { - file, err := os.Open("fixtures/proc/meminfo") + *procPath = "fixtures/proc" + logger := log.NewLogfmtLogger(os.Stderr) + + collector, err := NewMeminfoCollector(logger) if err != nil { - t.Fatal(err) + panic(err) } - defer file.Close() - memInfo, err := parseMemInfo(file) + memInfo, err := collector.(*meminfoCollector).getMemInfo() if err != nil { - t.Fatal(err) + panic(err) } if want, got := 3831959552.0, memInfo["MemTotal_bytes"]; want != got { diff --git a/collector/meminfo_netbsd.go b/collector/meminfo_netbsd.go index a1bd118523..f8b131e51f 100644 --- a/collector/meminfo_netbsd.go +++ b/collector/meminfo_netbsd.go @@ -17,9 +17,21 @@ package collector import ( + "github.com/go-kit/log" "golang.org/x/sys/unix" ) +type meminfoCollector struct { + logger log.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger log.Logger) (Collector, error) { + return &meminfoCollector{ + logger: logger, + }, nil +} + func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { uvmexp, err := unix.SysctlUvmexp("vm.uvmexp2") if err != nil { diff --git a/collector/meminfo_openbsd.go b/collector/meminfo_openbsd.go index c5d2947ec7..4a4682a325 100644 --- a/collector/meminfo_openbsd.go +++ b/collector/meminfo_openbsd.go @@ -18,6 +18,8 @@ package collector import ( "fmt" + + "github.com/go-kit/log" ) /* @@ -53,6 +55,17 @@ sysctl_bcstats(struct bcachestats *bcstats) */ import "C" +type meminfoCollector struct { + logger log.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger log.Logger) (Collector, error) { + return &meminfoCollector{ + logger: logger, + }, nil +} + func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { var uvmexp C.struct_uvmexp var bcstats C.struct_bcachestats diff --git a/collector/meminfo_openbsd_amd64.go b/collector/meminfo_openbsd_amd64.go index 41adebc3a4..2f81c79ed4 100644 --- a/collector/meminfo_openbsd_amd64.go +++ b/collector/meminfo_openbsd_amd64.go @@ -17,8 +17,10 @@ package collector import ( - "golang.org/x/sys/unix" "unsafe" + + "github.com/go-kit/log" + "golang.org/x/sys/unix" ) const ( @@ -48,6 +50,17 @@ type bcachestats struct { Dmaflips int64 } +type meminfoCollector struct { + logger log.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger log.Logger) (Collector, error) { + return &meminfoCollector{ + logger: logger, + }, nil +} + func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { uvmexpb, err := unix.SysctlRaw("vm.uvmexp") if err != nil { From 397695abb261b8ac3065d13ef12910e55eb157a7 Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Sun, 14 Jul 2024 18:06:30 +0530 Subject: [PATCH 113/151] collector/zfs: Prevent `procfs` integer underflow (#2961) * collector/zfs: Prevent `procfs` integer underflow Prevent integer underflow when parsing the `procfs` file as it used a `ParseUint` to parse signed values. Fixes: #2766 --------- Signed-off-by: Pranshu Srivastava Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/e2e-64k-page-output.txt | 3 + collector/fixtures/e2e-output.txt | 3 + .../fixtures/proc/spl/kstat/zfs/arcstats | 143 +++++++++--------- collector/zfs.go | 4 +- collector/zfs_linux.go | 26 +++- collector/zfs_linux_test.go | 59 ++++---- 6 files changed, 130 insertions(+), 108 deletions(-) diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 95d7640f10..6d59587532 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -3776,6 +3776,9 @@ node_zfs_arc_l2_writes_lock_retry 0 # HELP node_zfs_arc_l2_writes_sent kstat.zfs.misc.arcstats.l2_writes_sent # TYPE node_zfs_arc_l2_writes_sent untyped node_zfs_arc_l2_writes_sent 0 +# HELP node_zfs_arc_memory_available_bytes kstat.zfs.misc.arcstats.memory_available_bytes +# TYPE node_zfs_arc_memory_available_bytes untyped +node_zfs_arc_memory_available_bytes -9.223372036854776e+17 # HELP node_zfs_arc_memory_direct_count kstat.zfs.misc.arcstats.memory_direct_count # TYPE node_zfs_arc_memory_direct_count untyped node_zfs_arc_memory_direct_count 542 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 18355b0f70..fad52a3b7c 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -3798,6 +3798,9 @@ node_zfs_arc_l2_writes_lock_retry 0 # HELP node_zfs_arc_l2_writes_sent kstat.zfs.misc.arcstats.l2_writes_sent # TYPE node_zfs_arc_l2_writes_sent untyped node_zfs_arc_l2_writes_sent 0 +# HELP node_zfs_arc_memory_available_bytes kstat.zfs.misc.arcstats.memory_available_bytes +# TYPE node_zfs_arc_memory_available_bytes untyped +node_zfs_arc_memory_available_bytes -9.223372036854776e+17 # HELP node_zfs_arc_memory_direct_count kstat.zfs.misc.arcstats.memory_direct_count # TYPE node_zfs_arc_memory_direct_count untyped node_zfs_arc_memory_direct_count 542 diff --git a/collector/fixtures/proc/spl/kstat/zfs/arcstats b/collector/fixtures/proc/spl/kstat/zfs/arcstats index 48a73a2c5a..1dbeed6f37 100644 --- a/collector/fixtures/proc/spl/kstat/zfs/arcstats +++ b/collector/fixtures/proc/spl/kstat/zfs/arcstats @@ -1,93 +1,94 @@ 6 1 0x01 91 4368 5266997922 97951858082072 name type data -hits 4 8772612 -misses 4 604635 +anon_evictable_data 4 0 +anon_evictable_metadata 4 0 +anon_size 4 1917440 +arc_loaned_bytes 4 0 +arc_meta_limit 4 6275982336 +arc_meta_max 4 449286096 +arc_meta_min 4 16777216 +arc_meta_used 4 308103632 +arc_need_free 4 0 +arc_no_grow 4 0 +arc_prune 4 0 +arc_sys_free 4 261496832 +arc_tempreserve 4 0 +c 4 1643208777 +c_max 4 8367976448 +c_min 4 33554432 +data_size 4 1295836160 +deleted 4 60403 demand_data_hits 4 7221032 demand_data_misses 4 73300 demand_metadata_hits 4 1464353 demand_metadata_misses 4 498170 -prefetch_data_hits 4 3615 -prefetch_data_misses 4 17094 -prefetch_metadata_hits 4 83612 -prefetch_metadata_misses 4 16071 -mru_hits 4 855535 -mru_ghost_hits 4 21100 -mfu_hits 4 7829854 -mfu_ghost_hits 4 821 -deleted 4 60403 -mutex_miss 4 2 -evict_skip 4 2265729 -evict_not_enough 4 680 +duplicate_buffers 4 0 +duplicate_buffers_size 4 0 +duplicate_reads 4 0 evict_l2_cached 4 0 evict_l2_eligible 4 8992514560 evict_l2_ineligible 4 992552448 evict_l2_skip 4 0 +evict_not_enough 4 680 +evict_skip 4 2265729 +hash_chain_max 4 3 +hash_chains 4 412 +hash_collisions 4 50564 hash_elements 4 42359 hash_elements_max 4 88245 -hash_collisions 4 50564 -hash_chains 4 412 -hash_chain_max 4 3 -p 4 516395305 -c 4 1643208777 -c_min 4 33554432 -c_max 4 8367976448 -size 4 1603939792 hdr_size 4 16361080 -data_size 4 1295836160 -metadata_size 4 175298560 -other_size 4 116443992 -anon_size 4 1917440 -anon_evictable_data 4 0 -anon_evictable_metadata 4 0 -mru_size 4 402593792 -mru_evictable_data 4 278091264 -mru_evictable_metadata 4 18606592 -mru_ghost_size 4 999728128 -mru_ghost_evictable_data 4 883765248 -mru_ghost_evictable_metadata 4 115962880 -mfu_size 4 1066623488 -mfu_evictable_data 4 1017613824 -mfu_evictable_metadata 4 9163776 -mfu_ghost_size 4 104936448 -mfu_ghost_evictable_data 4 96731136 -mfu_ghost_evictable_metadata 4 8205312 +hits 4 8772612 +l2_abort_lowmem 4 0 +l2_asize 4 0 +l2_cdata_free_on_write 4 0 +l2_cksum_bad 4 0 +l2_compress_failures 4 0 +l2_compress_successes 4 0 +l2_compress_zeros 4 0 +l2_evict_l1cached 4 0 +l2_evict_lock_retry 4 0 +l2_evict_reading 4 0 +l2_feeds 4 0 +l2_free_on_write 4 0 +l2_hdr_size 4 0 l2_hits 4 0 +l2_io_error 4 0 l2_misses 4 0 -l2_feeds 4 0 -l2_rw_clash 4 0 l2_read_bytes 4 0 +l2_rw_clash 4 0 +l2_size 4 0 l2_write_bytes 4 0 -l2_writes_sent 4 0 l2_writes_done 4 0 l2_writes_error 4 0 l2_writes_lock_retry 4 0 -l2_evict_lock_retry 4 0 -l2_evict_reading 4 0 -l2_evict_l1cached 4 0 -l2_free_on_write 4 0 -l2_cdata_free_on_write 4 0 -l2_abort_lowmem 4 0 -l2_cksum_bad 4 0 -l2_io_error 4 0 -l2_size 4 0 -l2_asize 4 0 -l2_hdr_size 4 0 -l2_compress_successes 4 0 -l2_compress_zeros 4 0 -l2_compress_failures 4 0 -memory_throttle_count 4 0 -duplicate_buffers 4 0 -duplicate_buffers_size 4 0 -duplicate_reads 4 0 +l2_writes_sent 4 0 +memory_available_bytes 3 -922337203685477580 memory_direct_count 4 542 memory_indirect_count 4 3006 -arc_no_grow 4 0 -arc_tempreserve 4 0 -arc_loaned_bytes 4 0 -arc_prune 4 0 -arc_meta_used 4 308103632 -arc_meta_limit 4 6275982336 -arc_meta_max 4 449286096 -arc_meta_min 4 16777216 -arc_need_free 4 0 -arc_sys_free 4 261496832 +memory_throttle_count 4 0 +metadata_size 4 175298560 +mfu_evictable_data 4 1017613824 +mfu_evictable_metadata 4 9163776 +mfu_ghost_evictable_data 4 96731136 +mfu_ghost_evictable_metadata 4 8205312 +mfu_ghost_hits 4 821 +mfu_ghost_size 4 104936448 +mfu_hits 4 7829854 +mfu_size 4 1066623488 +misses 4 604635 +mru_evictable_data 4 278091264 +mru_evictable_metadata 4 18606592 +mru_ghost_evictable_data 4 883765248 +mru_ghost_evictable_metadata 4 115962880 +mru_ghost_hits 4 21100 +mru_ghost_size 4 999728128 +mru_hits 4 855535 +mru_size 4 402593792 +mutex_miss 4 2 +other_size 4 116443992 +p 4 516395305 +prefetch_data_hits 4 3615 +prefetch_data_misses 4 17094 +prefetch_metadata_hits 4 83612 +prefetch_metadata_misses 4 16071 +size 4 1603939792 diff --git a/collector/zfs.go b/collector/zfs.go index df1a97aec3..0abb13327d 100644 --- a/collector/zfs.go +++ b/collector/zfs.go @@ -95,7 +95,7 @@ func (s zfsSysctl) metricName() string { return strings.Replace(parts[len(parts)-1], "-", "_", -1) } -func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, value uint64) prometheus.Metric { +func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, value float64) prometheus.Metric { metricName := sysctl.metricName() return prometheus.MustNewConstMetric( @@ -106,7 +106,7 @@ func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, val nil, ), prometheus.UntypedValue, - float64(value), + value, ) } diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index ec195b3d62..e1bf2c97c0 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -63,8 +63,15 @@ func (c *zfsCollector) updateZfsStats(subsystem string, ch chan<- prometheus.Met } defer file.Close() - return c.parseProcfsFile(file, c.linuxPathMap[subsystem], func(s zfsSysctl, v uint64) { - ch <- c.constSysctlMetric(subsystem, s, v) + return c.parseProcfsFile(file, c.linuxPathMap[subsystem], func(s zfsSysctl, v interface{}) { + var valueAsFloat64 float64 + switch value := v.(type) { + case int64: + valueAsFloat64 = float64(value) + case uint64: + valueAsFloat64 = float64(value) + } + ch <- c.constSysctlMetric(subsystem, s, valueAsFloat64) }) } @@ -144,7 +151,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { return nil } -func (c *zfsCollector) parseProcfsFile(reader io.Reader, fmtExt string, handler func(zfsSysctl, uint64)) error { +func (c *zfsCollector) parseProcfsFile(reader io.Reader, fmtExt string, handler func(zfsSysctl, interface{})) error { scanner := bufio.NewScanner(reader) parseLine := false @@ -163,11 +170,18 @@ func (c *zfsCollector) parseProcfsFile(reader io.Reader, fmtExt string, handler // kstat data type (column 2) should be KSTAT_DATA_UINT64, otherwise ignore // TODO: when other KSTAT_DATA_* types arrive, much of this will need to be restructured - if parts[1] == kstatDataUint64 || parts[1] == kstatDataInt64 { - key := fmt.Sprintf("kstat.zfs.misc.%s.%s", fmtExt, parts[0]) + key := fmt.Sprintf("kstat.zfs.misc.%s.%s", fmtExt, parts[0]) + switch parts[1] { + case kstatDataUint64: value, err := strconv.ParseUint(parts[2], 10, 64) if err != nil { - return fmt.Errorf("could not parse expected integer value for %q", key) + return fmt.Errorf("could not parse expected unsigned integer value for %q: %w", key, err) + } + handler(zfsSysctl(key), value) + case kstatDataInt64: + value, err := strconv.ParseInt(parts[2], 10, 64) + if err != nil { + return fmt.Errorf("could not parse expected signed integer value for %q: %w", key, err) } handler(zfsSysctl(key), value) } diff --git a/collector/zfs_linux_test.go b/collector/zfs_linux_test.go index 69e4ed8fc1..3b653f4c9e 100644 --- a/collector/zfs_linux_test.go +++ b/collector/zfs_linux_test.go @@ -35,24 +35,25 @@ func TestArcstatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(arcstatsFile, "arcstats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(arcstatsFile, "arcstats", func(s zfsSysctl, v interface{}) { - if s != zfsSysctl("kstat.zfs.misc.arcstats.hits") { + if s == zfsSysctl("kstat.zfs.misc.arcstats.hits") { + if v.(uint64) != uint64(8772612) { + t.Fatalf("Incorrect value parsed from procfs data") + } + } else if s == zfsSysctl("kstat.zfs.misc.arcstats.memory_available_bytes") { + if v.(int64) != int64(-922337203685477580) { + t.Fatalf("Incorrect value parsed from procfs data") + } + } else { return } handlerCalled = true - - if v != uint64(8772612) { - t.Fatalf("Incorrect value parsed from procfs data") - } - }) - if err != nil { t.Fatal(err) } - if !handlerCalled { t.Fatal("Arcstats parsing handler was not called for some expected sysctls") } @@ -71,7 +72,7 @@ func TestZfetchstatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(zfetchstatsFile, "zfetchstats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(zfetchstatsFile, "zfetchstats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.zfetchstats.hits") { return @@ -79,7 +80,7 @@ func TestZfetchstatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(7067992) { + if v.(uint64) != uint64(7067992) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -107,7 +108,7 @@ func TestZilParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(zilFile, "zil", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(zilFile, "zil", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.zil.zil_commit_count") { return @@ -115,7 +116,7 @@ func TestZilParsing(t *testing.T) { handlerCalled = true - if v != uint64(10) { + if v.(uint64) != uint64(10) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -143,7 +144,7 @@ func TestVdevCacheStatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(vdevCacheStatsFile, "vdev_cache_stats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(vdevCacheStatsFile, "vdev_cache_stats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.vdev_cache_stats.delegations") { return @@ -151,7 +152,7 @@ func TestVdevCacheStatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(40) { + if v.(uint64) != uint64(40) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -179,7 +180,7 @@ func TestXuioStatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(xuioStatsFile, "xuio_stats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(xuioStatsFile, "xuio_stats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.xuio_stats.onloan_read_buf") { return @@ -187,7 +188,7 @@ func TestXuioStatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(32) { + if v.(uint64) != uint64(32) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -215,7 +216,7 @@ func TestFmParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(fmFile, "fm", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(fmFile, "fm", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.fm.erpt-dropped") { return @@ -223,7 +224,7 @@ func TestFmParsing(t *testing.T) { handlerCalled = true - if v != uint64(18) { + if v.(uint64) != uint64(18) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -251,7 +252,7 @@ func TestDmuTxParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(dmuTxFile, "dmu_tx", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(dmuTxFile, "dmu_tx", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.dmu_tx.dmu_tx_assigned") { return @@ -259,7 +260,7 @@ func TestDmuTxParsing(t *testing.T) { handlerCalled = true - if v != uint64(3532844) { + if v.(uint64) != uint64(3532844) { t.Fatalf("Incorrect value parsed from procfs data") } @@ -367,7 +368,7 @@ func TestAbdstatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(abdstatsFile, "abdstats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(abdstatsFile, "abdstats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.abdstats.linear_data_size") { return @@ -375,7 +376,7 @@ func TestAbdstatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(223232) { + if v.(uint64) != uint64(223232) { t.Fatalf("Incorrect value parsed from procfs abdstats data") } @@ -403,7 +404,7 @@ func TestDbufstatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(dbufstatsFile, "dbufstats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(dbufstatsFile, "dbufstats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.dbufstats.hash_hits") { return @@ -411,7 +412,7 @@ func TestDbufstatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(108807) { + if v.(uint64) != uint64(108807) { t.Fatalf("Incorrect value parsed from procfs dbufstats data") } @@ -439,7 +440,7 @@ func TestDnodestatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(dnodestatsFile, "dnodestats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(dnodestatsFile, "dnodestats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.dnodestats.dnode_hold_alloc_hits") { return @@ -447,7 +448,7 @@ func TestDnodestatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(37617) { + if v.(uint64) != uint64(37617) { t.Fatalf("Incorrect value parsed from procfs dnodestats data") } @@ -475,7 +476,7 @@ func TestVdevMirrorstatsParsing(t *testing.T) { } handlerCalled := false - err = c.parseProcfsFile(vdevMirrorStatsFile, "vdev_mirror_stats", func(s zfsSysctl, v uint64) { + err = c.parseProcfsFile(vdevMirrorStatsFile, "vdev_mirror_stats", func(s zfsSysctl, v interface{}) { if s != zfsSysctl("kstat.zfs.misc.vdev_mirror_stats.preferred_not_found") { return @@ -483,7 +484,7 @@ func TestVdevMirrorstatsParsing(t *testing.T) { handlerCalled = true - if v != uint64(94) { + if v.(uint64) != uint64(94) { t.Fatalf("Incorrect value parsed from procfs vdev_mirror_stats data") } From e3c3de898549a3036b9d1b2eb973f9278e8f1f1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 14 Jul 2024 14:50:21 +0200 Subject: [PATCH 114/151] build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 (#3073) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.21.0 to 0.22.0. - [Commits](https://github.com/golang/sys/compare/v0.21.0...v0.22.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 5dee64938e..4c1a572be3 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f - golang.org/x/sys v0.21.0 + golang.org/x/sys v0.22.0 howett.net/plist v1.0.1 ) diff --git a/go.sum b/go.sum index bd6ef0ea80..bde5ad21f5 100644 --- a/go.sum +++ b/go.sum @@ -109,8 +109,9 @@ golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbht golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= From 10e0a1ffff5e9b46aa3f2f55792b97ac62d22ff8 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Sun, 14 Jul 2024 10:17:20 -0400 Subject: [PATCH 115/151] Add interrupts collector filtering (#3028) In order to reduce cardinality of the interrupts collector add filtering options * Add include/exclude regexp filter flags. * Add boolean flag to include zero values, enabled by default. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- README.md | 1 + collector/interrupts_common.go | 17 ++++++++++++++--- collector/interrupts_linux.go | 10 ++++++++++ collector/interrupts_openbsd.go | 13 ++++++++++++- collector/interrupts_openbsd_amd64.go | 13 ++++++++++++- 5 files changed, 49 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 65199f882d..afe496fd18 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ filesystem | fs-types | N/A | --collector.filesystem.fs-types-exclude filesystem | mount-points | N/A | --collector.filesystem.mount-points-exclude hwmon | chip | --collector.hwmon.chip-include | --collector.hwmon.chip-exclude hwmon | sensor | --collector.hwmon.sensor-include | --collector.hwmon.sensor-exclude +interrupts | name | --collector.interrupts.name-include | --collector.interrupts.name-exclude netdev | device | --collector.netdev.device-include | --collector.netdev.device-exclude qdisk | device | --collector.qdisk.device-include | --collector.qdisk.device-exclude slabinfo | slab-names | --collector.slabinfo.slabs-include | --collector.slabinfo.slabs-exclude diff --git a/collector/interrupts_common.go b/collector/interrupts_common.go index eea703f97e..a0996e91f4 100644 --- a/collector/interrupts_common.go +++ b/collector/interrupts_common.go @@ -18,19 +18,28 @@ package collector import ( + "github.com/alecthomas/kingpin/v2" "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) type interruptsCollector struct { - desc typedDesc - logger log.Logger + desc typedDesc + logger log.Logger + nameFilter deviceFilter + includeZeros bool } func init() { registerCollector("interrupts", defaultDisabled, NewInterruptsCollector) } +var ( + interruptsInclude = kingpin.Flag("collector.interrupts.name-include", "Regexp of interrupts name to include (mutually exclusive to --collector.interrupts.name-exclude).").String() + interruptsExclude = kingpin.Flag("collector.interrupts.name-exclude", "Regexp of interrupts name to exclude (mutually exclusive to --collector.interrupts.name-include).").String() + interruptsIncludeZeros = kingpin.Flag("collector.interrupts.include-zeros", "Include interrupts that have a zero value").Default("true").Bool() +) + // NewInterruptsCollector returns a new Collector exposing interrupts stats. func NewInterruptsCollector(logger log.Logger) (Collector, error) { return &interruptsCollector{ @@ -39,6 +48,8 @@ func NewInterruptsCollector(logger log.Logger) (Collector, error) { "Interrupt details.", interruptLabelNames, nil, ), prometheus.CounterValue}, - logger: logger, + logger: logger, + nameFilter: newDeviceFilter(*interruptsExclude, *interruptsInclude), + includeZeros: *interruptsIncludeZeros, }, nil } diff --git a/collector/interrupts_linux.go b/collector/interrupts_linux.go index ede7819111..3d3bd03762 100644 --- a/collector/interrupts_linux.go +++ b/collector/interrupts_linux.go @@ -25,6 +25,7 @@ import ( "strconv" "strings" + "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -39,10 +40,19 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) (err error) { } for name, interrupt := range interrupts { for cpuNo, value := range interrupt.values { + filterName := name + ";" + interrupt.info + ";" + interrupt.devices + if c.nameFilter.ignored(filterName) { + level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + continue + } fv, err := strconv.ParseFloat(value, 64) if err != nil { return fmt.Errorf("invalid value %s in interrupts: %w", value, err) } + if !c.includeZeros && fv == 0.0 { + level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + continue + } ch <- c.desc.mustNewConstMetric(fv, strconv.Itoa(cpuNo), name, interrupt.info, interrupt.devices) } } diff --git a/collector/interrupts_openbsd.go b/collector/interrupts_openbsd.go index 9fa5b68d5d..049f640764 100644 --- a/collector/interrupts_openbsd.go +++ b/collector/interrupts_openbsd.go @@ -20,6 +20,7 @@ import ( "fmt" "strconv" + "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -106,10 +107,20 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) error { } for dev, interrupt := range interrupts { for cpuNo, value := range interrupt.values { + interruptType := fmt.Sprintf("%d", interrupt.vector) + filterName := interruptType + ";" + dev + if c.nameFilter.ignored(filterName) { + level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + continue + } + if !c.includeZeros && value == 0.0 { + level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + continue + } ch <- c.desc.mustNewConstMetric( value, strconv.Itoa(cpuNo), - strconv.Itoa(interrupt.vector), + interruptType, dev, ) } diff --git a/collector/interrupts_openbsd_amd64.go b/collector/interrupts_openbsd_amd64.go index ba1091c417..4ce4edfdba 100644 --- a/collector/interrupts_openbsd_amd64.go +++ b/collector/interrupts_openbsd_amd64.go @@ -21,6 +21,7 @@ import ( "strconv" "unsafe" + "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -77,10 +78,20 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) error { } for dev, interrupt := range interrupts { for cpuNo, value := range interrupt.values { + interruptType := fmt.Sprintf("%d", interrupt.vector) + filterName := interruptType + ";" + dev + if c.nameFilter.ignored(filterName) { + level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + continue + } + if !c.includeZeros && value == 0.0 { + level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + continue + } ch <- c.desc.mustNewConstMetric( value, strconv.Itoa(cpuNo), - fmt.Sprintf("%d", interrupt.vector), + interruptType, dev, ) } From 14b26035824bd605434b84881b206722d191c374 Mon Sep 17 00:00:00 2001 From: Ricardo F <112904881+rfmoz@users.noreply.github.com> Date: Sun, 14 Jul 2024 16:18:22 +0200 Subject: [PATCH 116/151] Add TCPRcvQDrop to default netstat metrics (#3021) Signed-off-by: Ricardo F Co-authored-by: Ricardo F Signed-off-by: Vitaly Zhuravlev --- collector/fixtures/e2e-64k-page-output.txt | 3 +++ collector/fixtures/e2e-output.txt | 3 +++ collector/fixtures/proc/net/netstat | 4 ++-- collector/netstat_linux.go | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 6d59587532..d649896a57 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2338,6 +2338,9 @@ node_netstat_TcpExt_SyncookiesSent 0 # HELP node_netstat_TcpExt_TCPOFOQueue Statistic TcpExtTCPOFOQueue. # TYPE node_netstat_TcpExt_TCPOFOQueue untyped node_netstat_TcpExt_TCPOFOQueue 42 +# HELP node_netstat_TcpExt_TCPRcvQDrop Statistic TcpExtTCPRcvQDrop. +# TYPE node_netstat_TcpExt_TCPRcvQDrop untyped +node_netstat_TcpExt_TCPRcvQDrop 131 # HELP node_netstat_TcpExt_TCPTimeouts Statistic TcpExtTCPTimeouts. # TYPE node_netstat_TcpExt_TCPTimeouts untyped node_netstat_TcpExt_TCPTimeouts 115 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index fad52a3b7c..39b8c2b940 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2360,6 +2360,9 @@ node_netstat_TcpExt_SyncookiesSent 0 # HELP node_netstat_TcpExt_TCPOFOQueue Statistic TcpExtTCPOFOQueue. # TYPE node_netstat_TcpExt_TCPOFOQueue untyped node_netstat_TcpExt_TCPOFOQueue 42 +# HELP node_netstat_TcpExt_TCPRcvQDrop Statistic TcpExtTCPRcvQDrop. +# TYPE node_netstat_TcpExt_TCPRcvQDrop untyped +node_netstat_TcpExt_TCPRcvQDrop 131 # HELP node_netstat_TcpExt_TCPTimeouts Statistic TcpExtTCPTimeouts. # TYPE node_netstat_TcpExt_TCPTimeouts untyped node_netstat_TcpExt_TCPTimeouts 115 diff --git a/collector/fixtures/proc/net/netstat b/collector/fixtures/proc/net/netstat index de88470bdd..a504f800cc 100644 --- a/collector/fixtures/proc/net/netstat +++ b/collector/fixtures/proc/net/netstat @@ -1,4 +1,4 @@ -TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPChallengeACK TCPSYNChallenge TCPOFOQueue -TcpExt: 0 0 2 0 0 0 0 0 0 0 388812 0 0 0 0 6 102471 17 9 0 0 80568 0 168808 0 4471289 26 1433940 3744565 0 1 0 0 0 0 0 0 0 0 48 0 0 0 1 0 1 0 1 115 0 0 0 0 9 0 5 0 41 4 0 0 0 0 0 0 0 1 0 0 0 0 2 5 0 0 0 0 0 0 0 2 2 42 +TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPChallengeACK TCPSYNChallenge TCPOFOQueue TCPRcvQDrop +TcpExt: 0 0 2 0 0 0 0 0 0 0 388812 0 0 0 0 6 102471 17 9 0 0 80568 0 168808 0 4471289 26 1433940 3744565 0 1 0 0 0 0 0 0 0 0 48 0 0 0 1 0 1 0 1 115 0 0 0 0 9 0 5 0 41 4 0 0 0 0 0 0 0 1 0 0 0 0 2 5 0 0 0 0 0 0 0 2 2 42 131 IpExt: InNoRoutes InTruncatedPkts InMcastPkts OutMcastPkts InBcastPkts OutBcastPkts InOctets OutOctets InMcastOctets OutMcastOctets InBcastOctets OutBcastOctets IpExt: 0 0 0 0 0 0 6286396970 2786264347 0 0 0 0 diff --git a/collector/netstat_linux.go b/collector/netstat_linux.go index 8e4c9f4de8..afbf8d5835 100644 --- a/collector/netstat_linux.go +++ b/collector/netstat_linux.go @@ -36,7 +36,7 @@ const ( ) var ( - netStatFields = kingpin.Flag("collector.netstat.fields", "Regexp of fields to return for netstat collector.").Default("^(.*_(InErrors|InErrs)|Ip_Forwarding|Ip(6|Ext)_(InOctets|OutOctets)|Icmp6?_(InMsgs|OutMsgs)|TcpExt_(Listen.*|Syncookies.*|TCPSynRetrans|TCPTimeouts|TCPOFOQueue)|Tcp_(ActiveOpens|InSegs|OutSegs|OutRsts|PassiveOpens|RetransSegs|CurrEstab)|Udp6?_(InDatagrams|OutDatagrams|NoPorts|RcvbufErrors|SndbufErrors))$").String() + netStatFields = kingpin.Flag("collector.netstat.fields", "Regexp of fields to return for netstat collector.").Default("^(.*_(InErrors|InErrs)|Ip_Forwarding|Ip(6|Ext)_(InOctets|OutOctets)|Icmp6?_(InMsgs|OutMsgs)|TcpExt_(Listen.*|Syncookies.*|TCPSynRetrans|TCPTimeouts|TCPOFOQueue|TCPRcvQDrop)|Tcp_(ActiveOpens|InSegs|OutSegs|OutRsts|PassiveOpens|RetransSegs|CurrEstab)|Udp6?_(InDatagrams|OutDatagrams|NoPorts|RcvbufErrors|SndbufErrors))$").String() ) type netStatCollector struct { From eea8b61accda05fc6343c919de240a8a9151e28a Mon Sep 17 00:00:00 2001 From: Miguel Oliveira <41488876+migeyel@users.noreply.github.com> Date: Sun, 14 Jul 2024 11:33:12 -0300 Subject: [PATCH 117/151] Add node_filesystem_mount_info metric (#2970) * Add node_filesystem_mount_info metric Fixes: #1384 --------- Signed-off-by: Miguel Oliveira Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_common.go | 15 +++++++- collector/filesystem_linux.go | 35 +++++++++++++------ collector/filesystem_linux_test.go | 8 +++++ collector/fixtures/proc/1/mountinfo | 31 ++++++++++++++++ collector/fixtures/proc/1/mounts | 32 ----------------- collector/fixtures_bindmount/proc/1/mountinfo | 6 ++++ collector/fixtures_bindmount/proc/mounts | 6 ---- collector/fixtures_hidepid/proc/mounts | 1 - .../fixtures_hidepid/proc/self/mountinfo | 1 + 9 files changed, 84 insertions(+), 51 deletions(-) create mode 100644 collector/fixtures/proc/1/mountinfo delete mode 100644 collector/fixtures/proc/1/mounts create mode 100644 collector/fixtures_bindmount/proc/1/mountinfo delete mode 100644 collector/fixtures_bindmount/proc/mounts delete mode 100644 collector/fixtures_hidepid/proc/mounts create mode 100644 collector/fixtures_hidepid/proc/self/mountinfo diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index f5d5135241..d224e2c20f 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -69,11 +69,12 @@ type filesystemCollector struct { sizeDesc, freeDesc, availDesc *prometheus.Desc filesDesc, filesFreeDesc *prometheus.Desc roDesc, deviceErrorDesc *prometheus.Desc + mountInfoDesc *prometheus.Desc logger log.Logger } type filesystemLabels struct { - device, mountPoint, fsType, options, deviceError string + device, mountPoint, fsType, options, deviceError, major, minor string } type filesystemStats struct { @@ -155,6 +156,13 @@ func NewFilesystemCollector(logger log.Logger) (Collector, error) { filesystemLabelNames, nil, ) + mountInfoDesc := prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "mount_info"), + "Filesystem mount information.", + []string{"device", "major", "minor", "mountpoint"}, + nil, + ) + return &filesystemCollector{ excludedMountPointsPattern: mountPointPattern, excludedFSTypesPattern: filesystemsTypesPattern, @@ -165,6 +173,7 @@ func NewFilesystemCollector(logger log.Logger) (Collector, error) { filesFreeDesc: filesFreeDesc, roDesc: roDesc, deviceErrorDesc: deviceErrorDesc, + mountInfoDesc: mountInfoDesc, logger: logger, }, nil } @@ -215,6 +224,10 @@ func (c *filesystemCollector) Update(ch chan<- prometheus.Metric) error { c.filesFreeDesc, prometheus.GaugeValue, s.filesFree, s.labels.device, s.labels.mountPoint, s.labels.fsType, s.labels.deviceError, ) + ch <- prometheus.MustNewConstMetric( + c.mountInfoDesc, prometheus.GaugeValue, + 1.0, s.labels.device, s.labels.major, s.labels.minor, s.labels.mountPoint, + ) } return nil } diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 1d0c8493b9..728e8cca43 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -178,11 +178,11 @@ func stuckMountWatcher(mountPoint string, success chan struct{}, logger log.Logg } func mountPointDetails(logger log.Logger) ([]filesystemLabels, error) { - file, err := os.Open(procFilePath("1/mounts")) + file, err := os.Open(procFilePath("1/mountinfo")) if errors.Is(err, os.ErrNotExist) { - // Fallback to `/proc/mounts` if `/proc/1/mounts` is missing due hidepid. - level.Debug(logger).Log("msg", "Reading root mounts failed, falling back to system mounts", "err", err) - file, err = os.Open(procFilePath("mounts")) + // Fallback to `/proc/self/mountinfo` if `/proc/1/mountinfo` is missing due hidepid. + level.Debug(logger).Log("msg", "Reading root mounts failed, falling back to self mounts", "err", err) + file, err = os.Open(procFilePath("self/mountinfo")) } if err != nil { return nil, err @@ -199,20 +199,33 @@ func parseFilesystemLabels(r io.Reader) ([]filesystemLabels, error) { for scanner.Scan() { parts := strings.Fields(scanner.Text()) - if len(parts) < 4 { + if len(parts) < 10 { return nil, fmt.Errorf("malformed mount point information: %q", scanner.Text()) } + major, minor := 0, 0 + _, err := fmt.Sscanf(parts[2], "%d:%d", &major, &minor) + if err != nil { + return nil, fmt.Errorf("malformed mount point information: %q", scanner.Text()) + } + + m := 5 + for parts[m+1] != "-" { + m++ + } + // Ensure we handle the translation of \040 and \011 // as per fstab(5). - parts[1] = strings.Replace(parts[1], "\\040", " ", -1) - parts[1] = strings.Replace(parts[1], "\\011", "\t", -1) + parts[4] = strings.Replace(parts[4], "\\040", " ", -1) + parts[4] = strings.Replace(parts[4], "\\011", "\t", -1) filesystems = append(filesystems, filesystemLabels{ - device: parts[0], - mountPoint: rootfsStripPrefix(parts[1]), - fsType: parts[2], - options: parts[3], + device: parts[m+3], + mountPoint: rootfsStripPrefix(parts[4]), + fsType: parts[m+2], + options: parts[5], + major: fmt.Sprint(major), + minor: fmt.Sprint(minor), deviceError: "", }) } diff --git a/collector/filesystem_linux_test.go b/collector/filesystem_linux_test.go index 325ffc87b2..e29385527c 100644 --- a/collector/filesystem_linux_test.go +++ b/collector/filesystem_linux_test.go @@ -87,10 +87,18 @@ func TestMountPointDetails(t *testing.T) { t.Log(err) } + foundSet := map[string]bool{} for _, fs := range filesystems { if _, ok := expected[fs.mountPoint]; !ok { t.Errorf("Got unexpected %s", fs.mountPoint) } + foundSet[fs.mountPoint] = true + } + + for mountPoint := range expected { + if _, ok := foundSet[mountPoint]; !ok { + t.Errorf("Expected %s, got nothing", mountPoint) + } } } diff --git a/collector/fixtures/proc/1/mountinfo b/collector/fixtures/proc/1/mountinfo new file mode 100644 index 0000000000..11c50a6fb0 --- /dev/null +++ b/collector/fixtures/proc/1/mountinfo @@ -0,0 +1,31 @@ +24 29 0:22 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw +25 29 0:23 / /proc rw,nosuid,nodev,noexec,relatime shared:13 - proc proc rw +26 29 0:5 / /dev rw,nosuid,relatime shared:2 - devtmpfs udev rw,size=7978892k,nr_inodes=1994723,mode=755 +27 26 0:24 / /dev/pts rw,nosuid,noexec,relatime shared:3 - devpts devpts rw,gid=5,mode=620,ptmxmode=000 +28 29 0:25 / /run rw,nosuid,relatime shared:5 - tmpfs tmpfs rw,size=1617716k,mode=755 +29 1 259:2 / / rw,relatime shared:1 - ext4 /dev/dm-2 errors=remount-ro,data=ordered +30 24 0:6 / /sys/kernel/security rw,nosuid,nodev,noexec,relatime shared:8 - securityfs securityfs rw +31 26 0:26 / /dev/shm rw,nosuid,nodev shared:4 - tmpfs tmpfs rw,inode64 +32 28 0:27 / /run/lock rw,nosuid,nodev,noexec,relatime shared:6 - tmpfs tmpfs rw,size=5120k +33 24 0:28 / /sys/fs/cgroup ro,nosuid,nodev,noexec shared:9 - tmpfs tmpfs ro,mode=755 +34 31 0:24 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime shared:10 - cgroup cgroup rw,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd +35 32 0:25 / /sys/fs/pstore rw,nosuid,nodev,noexec,relatime shared:11 - pstore pstore rw +36 33 0:26 / /sys/fs/cgroup/cpuset rw,nosuid,nodev,noexec,relatime shared:12 - cgroup cgroup rw,cpuset +37 34 0:27 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:14 - cgroup cgroup rw,cpu,cpuacct +38 35 0:28 / /sys/fs/cgroup/devices rw,nosuid,nodev,noexec,relatime shared:16 - cgroup cgroup rw,devices +39 36 0:29 / /sys/fs/cgroup/freezer rw,nosuid,nodev,noexec,relatime shared:17 - cgroup cgroup rw,freezer +40 37 0:30 / /sys/fs/cgroup/net_cls,net_prio rw,nosuid,nodev,noexec,relatime shared:18 - cgroup cgroup rw,net_cls,net_prio +41 38 0:31 / /sys/fs/cgroup/blkio rw,nosuid,nodev,noexec,relatime shared:19 - cgroup cgroup rw,blkio +42 39 0:32 / /sys/fs/cgroup/perf_event rw,nosuid,nodev,noexec,relatime shared:20 - cgroup cgroup rw,perf_event +43 40 0:33 / /proc/sys/fs/binfmt_misc rw,relatime shared:21 - systemd-1 autofs rw,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct +44 41 0:34 / /dev/mqueue rw,relatime shared:22 - mqueue mqueue rw +45 42 0:35 / /sys/kernel/debug rw,relatime shared:23 - debugfs debugfs rw +46 43 0:36 / /dev/hugepages rw,relatime shared:24 - hugetlbfs hugetlbfs rw +47 44 0:37 / /sys/fs/fuse/connections rw,relatime shared:25 - fusectl fusectl rw +48 45 260:3 / /boot rw,relatime shared:92 - ext2 /dev/sda3 rw +49 46 0:39 / /run/rpc_pipefs rw,relatime shared:27 - rpc_pipefs rpc_pipefs rw +265 37 0:41 / /proc/sys/fs/binfmt_misc rw,nosuid,nodev,noexec,relatime shared:94 - binfmt_misc binfmt_misc rw +3002 28 0:79 / /run/user/1000 rw,nosuid,nodev,relatime shared:1225 - tmpfs tmpfs rw,size=1603436k,nr_inodes=400859,mode=700,uid=1000,gid=1000 +3147 3002 0:81 / /run/user/1000/gvfs rw,nosuid,nodev,relatime shared:1290 - fuse.gvfsd-fuse gvfsd-fuse rw,user_id=1000,group_id=1000 +3148 3003 260:0 / /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[vsanDatastore]\040bafb9e5a-8856-7e6c-699c-801844e77a4a/kubernetes-dynamic-pvc-3eba5bba-48a3-11e8-89ab-005056b92113.vmdk rw,relatime shared:31 - ext4 /dev/sda rw,data=ordered +3149 3004 260:0 / /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[vsanDatastore]\011bafb9e5a-8856-7e6c-699c-801844e77a4a/kubernetes-dynamic-pvc-3eba5bba-48a3-11e8-89ab-005056b92113.vmdk rw,relatime shared:32 - ext4 /dev/sda rw,data=ordered diff --git a/collector/fixtures/proc/1/mounts b/collector/fixtures/proc/1/mounts deleted file mode 100644 index 7452d495a6..0000000000 --- a/collector/fixtures/proc/1/mounts +++ /dev/null @@ -1,32 +0,0 @@ -rootfs / rootfs rw 0 0 -sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 -proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 -udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=1008585,mode=755 0 0 -devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 -tmpfs /run tmpfs rw,nosuid,relatime,size=1617716k,mode=755 0 0 -/dev/dm-2 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0 -securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 -tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 -tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 -tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 -cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0 -pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 -cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0 -cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0 -cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0 -cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0 -cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 -cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0 -cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0 -systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 -mqueue /dev/mqueue mqueue rw,relatime 0 0 -debugfs /sys/kernel/debug debugfs rw,relatime 0 0 -hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0 -fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 -/dev/sda3 /boot ext2 rw,relatime 0 0 -rpc_pipefs /run/rpc_pipefs rpc_pipefs rw,relatime 0 0 -binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 -tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=808860k,mode=700,uid=1000,gid=1000 0 0 -gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0 -/dev/sda /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[vsanDatastore]\040bafb9e5a-8856-7e6c-699c-801844e77a4a/kubernetes-dynamic-pvc-3eba5bba-48a3-11e8-89ab-005056b92113.vmdk ext4 rw,relatime,data=ordered 0 0 -/dev/sda /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[vsanDatastore]\011bafb9e5a-8856-7e6c-699c-801844e77a4a/kubernetes-dynamic-pvc-3eba5bba-48a3-11e8-89ab-005056b92113.vmdk ext4 rw,relatime,data=ordered 0 0 diff --git a/collector/fixtures_bindmount/proc/1/mountinfo b/collector/fixtures_bindmount/proc/1/mountinfo new file mode 100644 index 0000000000..e4f1bcc549 --- /dev/null +++ b/collector/fixtures_bindmount/proc/1/mountinfo @@ -0,0 +1,6 @@ +29 1 259:0 / /host rw,seclabel,relatime,data=ordered shared:1 - ext4 /dev/nvme1n0 rw +30 1 260:0 / /host/media/volume1 rw,seclabel,relatime,data=ordered shared:1 - ext4 /dev/nvme1n1 rw +31 1 261:0 / /host/media/volume2 rw,seclabel,relatime,data=ordered shared:1 - ext4 /dev/nvme1n2 rw +31 26 0:26 / /dev/shm rw,nosuid,nodev shared:4 - tmpfs tmpfs rw,inode64 +32 28 0:27 / /run/lock rw,nosuid,nodev,noexec,relatime shared:6 - tmpfs tmpfs rw,size=5120k,inode64 +33 24 0:28 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime shared:9 - cgroup2 cgroup2 rw diff --git a/collector/fixtures_bindmount/proc/mounts b/collector/fixtures_bindmount/proc/mounts deleted file mode 100644 index 32f9567e98..0000000000 --- a/collector/fixtures_bindmount/proc/mounts +++ /dev/null @@ -1,6 +0,0 @@ -/dev/nvme1n0 /host ext4 rw,seclabel,relatime,data=ordered 0 0 -/dev/nvme1n1 /host/media/volume1 ext4 rw,seclabel,relatime,data=ordered 0 0 -/dev/nvme1n2 /host/media/volume2 ext4 rw,seclabel,relatime,data=ordered 0 0 -tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 -tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 -tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 diff --git a/collector/fixtures_hidepid/proc/mounts b/collector/fixtures_hidepid/proc/mounts deleted file mode 100644 index fb6a96359c..0000000000 --- a/collector/fixtures_hidepid/proc/mounts +++ /dev/null @@ -1 +0,0 @@ -rootfs / rootfs rw 0 0 diff --git a/collector/fixtures_hidepid/proc/self/mountinfo b/collector/fixtures_hidepid/proc/self/mountinfo new file mode 100644 index 0000000000..dde22f67af --- /dev/null +++ b/collector/fixtures_hidepid/proc/self/mountinfo @@ -0,0 +1 @@ +29 1 259:2 / / rw,relatime shared:1 - ext4 /dev/nvme0n1p2 rw,errors=remount-ro From 2eb2d377a65aa261c2e4a0c753a7de1883d2746b Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Wed, 11 Sep 2024 09:17:14 +0200 Subject: [PATCH 118/151] Update Go (#3120) Update to Go 1.23. * Use Docker for Arm tests. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- .circleci/config.yml | 10 ++-- .promu-cgo.yml | 2 +- .promu.yml | 2 +- collector/fixtures/e2e-64k-page-output.txt | 56 ++++++++++++---------- collector/fixtures/e2e-output.txt | 56 ++++++++++++---------- go.mod | 27 ++++++----- go.sum | 48 ++++++++++--------- 7 files changed, 111 insertions(+), 90 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8cf200b826..96b38cff44 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,10 +7,10 @@ executors: # should also be updated. golang: docker: - - image: cimg/go:1.22 + - image: cimg/go:1.23 arm: - machine: - image: ubuntu-2204:current + docker: + - image: cimg/go:1.23 resource_class: arm.medium jobs: @@ -25,7 +25,7 @@ jobs: test-arm: executor: arm steps: - - checkout + - prometheus/setup_environment - run: uname -a - run: make test-e2e test_mixins: @@ -70,7 +70,7 @@ jobs: machine: image: ubuntu-2204:current environment: - DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.22-base + DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.23-base REPO_PATH: github.com/prometheus/node_exporter steps: - prometheus/setup_environment diff --git a/.promu-cgo.yml b/.promu-cgo.yml index f270f78a29..542f51e25b 100644 --- a/.promu-cgo.yml +++ b/.promu-cgo.yml @@ -1,7 +1,7 @@ go: # Whenever the Go version is updated here, .circle/config.yml and # .promu.yml should also be updated. - version: 1.22 + version: 1.23 cgo: true repository: path: github.com/prometheus/node_exporter diff --git a/.promu.yml b/.promu.yml index 8f883591a1..fcba92d081 100644 --- a/.promu.yml +++ b/.promu.yml @@ -1,7 +1,7 @@ go: # Whenever the Go version is updated here, .circle/config.yml and # .promu-cgo.yml should also be updated. - version: 1.22 + version: 1.23 repository: path: github.com/prometheus/node_exporter build: diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index d649896a57..605149da0e 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -1,55 +1,59 @@ -# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. +# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles. # TYPE go_gc_duration_seconds summary +# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent +# TYPE go_gc_gogc_percent gauge +# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes +# TYPE go_gc_gomemlimit_bytes gauge # HELP go_goroutines Number of goroutines that currently exist. # TYPE go_goroutines gauge # HELP go_info Information about the Go environment. # TYPE go_info gauge -# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes. # TYPE go_memstats_alloc_bytes gauge -# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes. # TYPE go_memstats_alloc_bytes_total counter -# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes. # TYPE go_memstats_buck_hash_sys_bytes gauge -# HELP go_memstats_frees_total Total number of frees. +# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects. # TYPE go_memstats_frees_total counter -# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes. # TYPE go_memstats_gc_sys_bytes gauge -# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes. # TYPE go_memstats_heap_alloc_bytes gauge -# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes. # TYPE go_memstats_heap_idle_bytes gauge -# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes # TYPE go_memstats_heap_inuse_bytes gauge -# HELP go_memstats_heap_objects Number of allocated objects. +# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects. # TYPE go_memstats_heap_objects gauge -# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. +# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes. # TYPE go_memstats_heap_released_bytes gauge -# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes. # TYPE go_memstats_heap_sys_bytes gauge # HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. # TYPE go_memstats_last_gc_time_seconds gauge -# HELP go_memstats_lookups_total Total number of pointer lookups. -# TYPE go_memstats_lookups_total counter -# HELP go_memstats_mallocs_total Total number of mallocs. +# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects. # TYPE go_memstats_mallocs_total counter -# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes. # TYPE go_memstats_mcache_inuse_bytes gauge -# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes. # TYPE go_memstats_mcache_sys_bytes gauge -# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes. # TYPE go_memstats_mspan_inuse_bytes gauge -# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes. # TYPE go_memstats_mspan_sys_bytes gauge -# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes. # TYPE go_memstats_next_gc_bytes gauge -# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes. # TYPE go_memstats_other_sys_bytes gauge -# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes. # TYPE go_memstats_stack_inuse_bytes gauge -# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes. # TYPE go_memstats_stack_sys_bytes gauge -# HELP go_memstats_sys_bytes Number of bytes obtained from system. +# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte. # TYPE go_memstats_sys_bytes gauge +# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads +# TYPE go_sched_gomaxprocs_threads gauge # HELP go_threads Number of OS threads created. # TYPE go_threads gauge # HELP node_arp_entries ARP entries by device @@ -4589,6 +4593,10 @@ node_zoneinfo_spanned_pages{node="0",zone="Normal"} 7.806976e+06 # TYPE process_cpu_seconds_total counter # HELP process_max_fds Maximum number of open file descriptors. # TYPE process_max_fds gauge +# HELP process_network_receive_bytes_total Number of bytes received by the process over the network. +# TYPE process_network_receive_bytes_total counter +# HELP process_network_transmit_bytes_total Number of bytes sent by the process over the network. +# TYPE process_network_transmit_bytes_total counter # HELP process_open_fds Number of open file descriptors. # TYPE process_open_fds gauge # HELP process_resident_memory_bytes Resident memory size in bytes. diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 39b8c2b940..a80f6b6304 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -1,55 +1,59 @@ -# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. +# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles. # TYPE go_gc_duration_seconds summary +# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent +# TYPE go_gc_gogc_percent gauge +# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes +# TYPE go_gc_gomemlimit_bytes gauge # HELP go_goroutines Number of goroutines that currently exist. # TYPE go_goroutines gauge # HELP go_info Information about the Go environment. # TYPE go_info gauge -# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes. # TYPE go_memstats_alloc_bytes gauge -# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes. # TYPE go_memstats_alloc_bytes_total counter -# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes. # TYPE go_memstats_buck_hash_sys_bytes gauge -# HELP go_memstats_frees_total Total number of frees. +# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects. # TYPE go_memstats_frees_total counter -# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes. # TYPE go_memstats_gc_sys_bytes gauge -# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes. # TYPE go_memstats_heap_alloc_bytes gauge -# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes. # TYPE go_memstats_heap_idle_bytes gauge -# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes # TYPE go_memstats_heap_inuse_bytes gauge -# HELP go_memstats_heap_objects Number of allocated objects. +# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects. # TYPE go_memstats_heap_objects gauge -# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. +# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes. # TYPE go_memstats_heap_released_bytes gauge -# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes. # TYPE go_memstats_heap_sys_bytes gauge # HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. # TYPE go_memstats_last_gc_time_seconds gauge -# HELP go_memstats_lookups_total Total number of pointer lookups. -# TYPE go_memstats_lookups_total counter -# HELP go_memstats_mallocs_total Total number of mallocs. +# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects. # TYPE go_memstats_mallocs_total counter -# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes. # TYPE go_memstats_mcache_inuse_bytes gauge -# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes. # TYPE go_memstats_mcache_sys_bytes gauge -# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes. # TYPE go_memstats_mspan_inuse_bytes gauge -# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes. # TYPE go_memstats_mspan_sys_bytes gauge -# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes. # TYPE go_memstats_next_gc_bytes gauge -# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes. # TYPE go_memstats_other_sys_bytes gauge -# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes. # TYPE go_memstats_stack_inuse_bytes gauge -# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes. # TYPE go_memstats_stack_sys_bytes gauge -# HELP go_memstats_sys_bytes Number of bytes obtained from system. +# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte. # TYPE go_memstats_sys_bytes gauge +# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads +# TYPE go_sched_gomaxprocs_threads gauge # HELP go_threads Number of OS threads created. # TYPE go_threads gauge # HELP node_arp_entries ARP entries by device @@ -4611,6 +4615,10 @@ node_zoneinfo_spanned_pages{node="0",zone="Normal"} 7.806976e+06 # TYPE process_cpu_seconds_total counter # HELP process_max_fds Maximum number of open file descriptors. # TYPE process_max_fds gauge +# HELP process_network_receive_bytes_total Number of bytes received by the process over the network. +# TYPE process_network_receive_bytes_total counter +# HELP process_network_transmit_bytes_total Number of bytes sent by the process over the network. +# TYPE process_network_transmit_bytes_total counter # HELP process_open_fds Number of open file descriptors. # TYPE process_open_fds gauge # HELP process_resident_memory_bytes Resident memory size in bytes. diff --git a/go.mod b/go.mod index 4c1a572be3..a1938530e8 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/prometheus/node_exporter -go 1.21 +go 1.22.0 require ( github.com/alecthomas/kingpin/v2 v2.4.0 @@ -17,31 +17,32 @@ require ( github.com/jsimonetti/rtnetlink v1.4.2 github.com/lufia/iostat v1.2.1 github.com/mattn/go-xmlrpc v0.0.3 - github.com/mdlayher/ethtool v0.1.0 + github.com/mdlayher/ethtool v0.2.0 github.com/mdlayher/netlink v1.7.2 github.com/mdlayher/wifi v0.2.0 github.com/opencontainers/selinux v1.11.0 github.com/prometheus-community/go-runit v0.1.0 - github.com/prometheus/client_golang v1.19.1 + github.com/prometheus/client_golang v1.20.3 github.com/prometheus/client_model v0.6.1 - github.com/prometheus/common v0.55.0 + github.com/prometheus/common v0.59.1 github.com/prometheus/exporter-toolkit v0.11.0 github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 - golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f - golang.org/x/sys v0.22.0 + golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 + golang.org/x/sys v0.25.0 howett.net/plist v1.0.1 ) require ( github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/dennwc/ioctl v1.0.0 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect + github.com/klauspost/compress v1.17.9 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect github.com/mdlayher/genetlink v1.3.2 // indirect github.com/mdlayher/socket v0.4.1 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -50,11 +51,11 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.24.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/text v0.17.0 // indirect google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index bde5ad21f5..af511d4c21 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/beevik/ntp v1.4.3 h1:PlbTvE5NNy4QHmA4Mg57n7mcFTmr1W1j3gcK7L1lqho= github.com/beevik/ntp v1.4.3/go.mod h1:Unr8Zg+2dRn7d8bHFuehIMSvvUYssHMxW3Q5Nx4RW5Q= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= @@ -43,16 +43,20 @@ github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2E github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jsimonetti/rtnetlink v1.4.2 h1:Df9w9TZ3npHTyDn0Ev9e1uzmN2odmXd0QX+J5GTEn90= github.com/jsimonetti/rtnetlink v1.4.2/go.mod h1:92s6LJdE+1iOrw+F2/RO7LYI2Qd8pPpFNNUYW06gcoM= +github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= +github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= github.com/lufia/iostat v1.2.1/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg= github.com/mattn/go-xmlrpc v0.0.3 h1:Y6WEMLEsqs3RviBrAa1/7qmbGB7DVD3brZIbqMbQdGY= github.com/mattn/go-xmlrpc v0.0.3/go.mod h1:mqc2dz7tP5x5BKlCahN/n+hs7OSZKJkS9JsHNBRlrxA= -github.com/mdlayher/ethtool v0.1.0 h1:XAWHsmKhyPOo42qq/yTPb0eFBGUKKTR1rE0dVrWVQ0Y= -github.com/mdlayher/ethtool v0.1.0/go.mod h1:fBMLn2UhfRGtcH5ZFjr+6GUiHEjZsItFD7fSn7jbZVQ= +github.com/mdlayher/ethtool v0.2.0 h1:akcA4WZVWozzirPASeMq8qgLkxpF3ykftVXwnrMKrhY= +github.com/mdlayher/ethtool v0.2.0/go.mod h1:W0pIBrNPK1TslIN4Z9wt1EVbay66Kbvek2z2f29VBfw= github.com/mdlayher/genetlink v1.3.2 h1:KdrNKe+CTu+IbZnm/GVUMXSqBBLqcGpRDa0xkQy56gw= github.com/mdlayher/genetlink v1.3.2/go.mod h1:tcC3pkCrPUGIKKsCsp0B3AdaaKuHtaxoJRz3cc+528o= github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g= @@ -71,12 +75,12 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4= +github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= -github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0= +github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= @@ -98,22 +102,22 @@ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= -golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= -golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From fbb01deb3fe122d1f5f9ca11416273a799321d77 Mon Sep 17 00:00:00 2001 From: tomvil Date: Wed, 11 Sep 2024 10:26:34 +0300 Subject: [PATCH 119/151] Add ifAlias label to netdev collector (#3087) Signed-off-by: Tomas Vilemaitis Signed-off-by: Vitaly Zhuravlev --- collector/netdev_common.go | 24 ++++++++++++++++++++---- collector/netdev_darwin.go | 5 +++++ collector/netdev_linux.go | 27 ++++++++++++++++++++++++++- collector/netdev_openbsd.go | 5 +++++ collector/netdev_openbsd_amd64.go | 8 +++++++- 5 files changed, 63 insertions(+), 6 deletions(-) diff --git a/collector/netdev_common.go b/collector/netdev_common.go index 089f1e5870..c6abd7ac0a 100644 --- a/collector/netdev_common.go +++ b/collector/netdev_common.go @@ -93,7 +93,7 @@ func NewNetDevCollector(logger log.Logger) (Collector, error) { }, nil } -func (c *netDevCollector) metricDesc(key string) *prometheus.Desc { +func (c *netDevCollector) metricDesc(key string, labels []string) *prometheus.Desc { c.metricDescsMutex.Lock() defer c.metricDescsMutex.Unlock() @@ -101,7 +101,7 @@ func (c *netDevCollector) metricDesc(key string) *prometheus.Desc { c.metricDescs[key] = prometheus.NewDesc( prometheus.BuildFQName(namespace, c.subsystem, key+"_total"), fmt.Sprintf("Network device statistic %s.", key), - []string{"device"}, + labels, nil, ) } @@ -114,13 +114,29 @@ func (c *netDevCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { return fmt.Errorf("couldn't get netstats: %w", err) } + + netDevLabels, err := getNetDevLabels() + if err != nil { + return fmt.Errorf("couldn't get netdev labels: %w", err) + } + for dev, devStats := range netDev { if !*netdevDetailedMetrics { legacy(devStats) } + + labels := []string{"device"} + labelValues := []string{dev} + if devLabels, exists := netDevLabels[dev]; exists { + for labelName, labelValue := range devLabels { + labels = append(labels, labelName) + labelValues = append(labelValues, labelValue) + } + } + for key, value := range devStats { - desc := c.metricDesc(key) - ch <- prometheus.MustNewConstMetric(desc, prometheus.CounterValue, float64(value), dev) + desc := c.metricDesc(key, labels) + ch <- prometheus.MustNewConstMetric(desc, prometheus.CounterValue, float64(value), labelValues...) } } if *netdevAddressInfo { diff --git a/collector/netdev_darwin.go b/collector/netdev_darwin.go index c08f1f8ede..e3d50e2692 100644 --- a/collector/netdev_darwin.go +++ b/collector/netdev_darwin.go @@ -118,3 +118,8 @@ type ifData64 struct { Xmittiming uint32 Lastchange unix.Timeval32 } + +func getNetDevLabels() (map[string]map[string]string, error) { + // to be implemented if needed + return nil, nil +} diff --git a/collector/netdev_linux.go b/collector/netdev_linux.go index f3348cda73..0767c70615 100644 --- a/collector/netdev_linux.go +++ b/collector/netdev_linux.go @@ -24,10 +24,12 @@ import ( "github.com/go-kit/log/level" "github.com/jsimonetti/rtnetlink" "github.com/prometheus/procfs" + "github.com/prometheus/procfs/sysfs" ) var ( - netDevNetlink = kingpin.Flag("collector.netdev.netlink", "Use netlink to gather stats instead of /proc/net/dev.").Default("true").Bool() + netDevNetlink = kingpin.Flag("collector.netdev.netlink", "Use netlink to gather stats instead of /proc/net/dev.").Default("true").Bool() + netdevLabelIfAlias = kingpin.Flag("collector.netdev.label-ifalias", "Add ifAlias label").Default("false").Bool() ) func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { @@ -184,3 +186,26 @@ func procNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, erro return metrics, nil } + +func getNetDevLabels() (map[string]map[string]string, error) { + if !*netdevLabelIfAlias { + return nil, nil + } + + fs, err := sysfs.NewFS(*sysPath) + if err != nil { + return nil, err + } + + interfaces, err := fs.NetClass() + if err != nil { + return nil, err + } + + labels := make(map[string]map[string]string) + for iface, params := range interfaces { + labels[iface] = map[string]string{"ifalias": params.IfAlias} + } + + return labels, nil +} diff --git a/collector/netdev_openbsd.go b/collector/netdev_openbsd.go index b90e3ba7ab..177309fd54 100644 --- a/collector/netdev_openbsd.go +++ b/collector/netdev_openbsd.go @@ -72,3 +72,8 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error return netDev, nil } + +func getNetDevLabels() (map[string]map[string]string, error) { + // to be implemented if needed + return nil, nil +} diff --git a/collector/netdev_openbsd_amd64.go b/collector/netdev_openbsd_amd64.go index da8a81f34e..25702c12d1 100644 --- a/collector/netdev_openbsd_amd64.go +++ b/collector/netdev_openbsd_amd64.go @@ -20,8 +20,9 @@ import ( "github.com/go-kit/log" "github.com/go-kit/log/level" - "golang.org/x/sys/unix" "unsafe" + + "golang.org/x/sys/unix" ) func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { @@ -76,3 +77,8 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error } return netDev, nil } + +func getNetDevLabels() (map[string]map[string]string, error) { + // to be implemented if needed + return nil, nil +} From 881d882f67ec270bb579c367b7bb542727774066 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Wed, 11 Sep 2024 10:51:28 +0200 Subject: [PATCH 120/151] Update logging (#3097) Switch from promlog/go-kit to promslog/slog for logging. * Update Go build to 1.23. Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- .golangci.yml | 2 - collector/arp_linux.go | 6 +-- collector/bcache_linux.go | 6 +-- collector/bonding_linux.go | 9 ++-- collector/boot_time_bsd.go | 6 +-- collector/boot_time_solaris.go | 6 +-- collector/btrfs_linux.go | 23 +++++---- collector/buddyinfo.go | 9 ++-- collector/cgroups_linux.go | 6 +-- collector/collector.go | 21 ++++----- collector/conntrack_linux.go | 9 ++-- collector/cpu_darwin.go | 6 +-- collector/cpu_dragonfly.go | 6 +-- collector/cpu_freebsd.go | 11 ++--- collector/cpu_linux.go | 43 +++++++++-------- collector/cpu_linux_test.go | 5 +- collector/cpu_netbsd.go | 9 ++-- collector/cpu_openbsd.go | 6 +-- collector/cpu_solaris.go | 6 +-- collector/cpu_vulnerabilities_linux.go | 4 +- collector/cpufreq_linux.go | 6 +-- collector/cpufreq_solaris.go | 6 +-- collector/devstat_dragonfly.go | 6 +-- collector/devstat_freebsd.go | 6 +-- collector/diskstats_common.go | 11 ++--- collector/diskstats_darwin.go | 6 +-- collector/diskstats_linux.go | 15 +++--- collector/diskstats_linux_test.go | 8 ++-- collector/diskstats_openbsd.go | 6 +-- collector/diskstats_openbsd_amd64.go | 6 +-- collector/dmi.go | 7 ++- collector/drbd_linux.go | 13 +++--- collector/drm_linux.go | 6 +-- collector/edac_linux.go | 6 +-- collector/entropy_linux.go | 6 +-- collector/ethtool_linux.go | 37 +++++++-------- collector/ethtool_linux_test.go | 9 ++-- collector/exec_bsd.go | 6 +-- collector/fibrechannel_linux.go | 9 ++-- collector/filefd_linux.go | 6 +-- collector/filesystem_bsd.go | 6 +-- collector/filesystem_common.go | 15 +++--- collector/filesystem_freebsd.go | 7 ++- collector/filesystem_linux.go | 21 ++++----- collector/filesystem_linux_test.go | 9 ++-- collector/filesystem_openbsd.go | 5 +- collector/hwmon_linux.go | 13 +++--- collector/infiniband_linux.go | 9 ++-- collector/interrupts_common.go | 6 +-- collector/interrupts_linux.go | 5 +- collector/interrupts_openbsd.go | 5 +- collector/interrupts_openbsd_amd64.go | 5 +- collector/ipvs_linux.go | 11 ++--- collector/ipvs_linux_test.go | 8 ++-- collector/ksmd_linux.go | 6 +-- collector/lnstat_linux.go | 6 +-- collector/loadavg.go | 9 ++-- collector/logind_linux.go | 6 +-- collector/mdadm_linux.go | 11 ++--- collector/meminfo.go | 3 +- collector/meminfo_darwin.go | 6 +-- collector/meminfo_linux.go | 6 +-- collector/meminfo_linux_test.go | 7 ++- collector/meminfo_netbsd.go | 6 +-- collector/meminfo_numa_linux.go | 6 +-- collector/meminfo_openbsd.go | 7 ++- collector/meminfo_openbsd_amd64.go | 6 +-- collector/memory_bsd.go | 6 +-- collector/mountstats_linux.go | 9 ++-- collector/netclass_linux.go | 9 ++-- collector/netclass_rtnl_linux.go | 3 +- collector/netdev_bsd.go | 8 ++-- collector/netdev_common.go | 15 +++--- collector/netdev_darwin.go | 9 ++-- collector/netdev_linux.go | 19 ++++---- collector/netdev_linux_test.go | 14 +++--- collector/netdev_openbsd.go | 8 ++-- collector/netdev_openbsd_amd64.go | 7 ++- collector/netisr_freebsd.go | 6 +-- collector/netstat_linux.go | 6 +-- collector/network_route_linux.go | 6 +-- collector/nfs_linux.go | 9 ++-- collector/nfsd_linux.go | 9 ++-- collector/ntp.go | 9 ++-- collector/nvme_linux.go | 9 ++-- collector/os_release.go | 9 ++-- collector/os_release_test.go | 6 +-- collector/perf_linux.go | 13 +++--- collector/perf_linux_test.go | 7 +-- collector/powersupplyclass.go | 6 +-- collector/pressure_linux.go | 19 ++++---- collector/processes_linux.go | 21 ++++----- collector/processes_linux_test.go | 5 +- collector/qdisc_linux.go | 11 ++--- collector/rapl_linux.go | 13 +++--- collector/runit.go | 13 +++--- collector/schedstat_linux.go | 9 ++-- collector/selinux_linux.go | 6 +-- collector/slabinfo_linux.go | 6 +-- collector/sockstat_linux.go | 11 ++--- collector/softirqs_common.go | 6 +-- collector/softnet_linux.go | 6 +-- collector/stat_linux.go | 6 +-- collector/supervisord.go | 11 ++--- collector/sysctl_linux.go | 6 +-- collector/systemd_linux.go | 65 +++++++++++++------------- collector/systemd_linux_test.go | 7 +-- collector/tapestats_linux.go | 11 ++--- collector/tcpstat_linux.go | 6 +-- collector/textfile.go | 17 ++++--- collector/textfile_test.go | 13 +++--- collector/thermal_darwin.go | 6 +-- collector/thermal_zone_linux.go | 9 ++-- collector/time.go | 11 ++--- collector/time_linux.go | 3 +- collector/timex.go | 9 ++-- collector/udp_queues_linux.go | 11 ++--- collector/uname.go | 6 +-- collector/vmstat_linux.go | 6 +-- collector/watchdog.go | 9 ++-- collector/watchdog_test.go | 6 +-- collector/wifi_linux.go | 17 ++++--- collector/xfrm.go | 6 +-- collector/xfrm_test.go | 6 +-- collector/xfs_linux.go | 6 +-- collector/zfs.go | 11 ++--- collector/zfs_freebsd.go | 9 ++-- collector/zfs_linux.go | 11 ++--- collector/zfs_solaris.go | 6 +-- collector/zoneinfo_linux.go | 7 ++- go.mod | 5 +- go.sum | 10 ++-- node_exporter.go | 42 ++++++++--------- 133 files changed, 601 insertions(+), 671 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 472b3a5e13..1f1b0f633a 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -32,8 +32,6 @@ linters-settings: exclude-functions: # Used in HTTP handlers, any error is handled by the server itself. - (net/http.ResponseWriter).Write - # Never check for logger errors. - - (github.com/go-kit/log.Logger).Log revive: rules: # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter diff --git a/collector/arp_linux.go b/collector/arp_linux.go index c7861156f3..4b5ac65e7d 100644 --- a/collector/arp_linux.go +++ b/collector/arp_linux.go @@ -19,10 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "net" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/jsimonetti/rtnetlink" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" @@ -39,7 +39,7 @@ type arpCollector struct { fs procfs.FS deviceFilter deviceFilter entries *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -47,7 +47,7 @@ func init() { } // NewARPCollector returns a new Collector exposing ARP stats. -func NewARPCollector(logger log.Logger) (Collector, error) { +func NewARPCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/bcache_linux.go b/collector/bcache_linux.go index 1d402d3ff5..97064e2197 100644 --- a/collector/bcache_linux.go +++ b/collector/bcache_linux.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/bcache" ) @@ -36,12 +36,12 @@ func init() { // A bcacheCollector is a Collector which gathers metrics from Linux bcache. type bcacheCollector struct { fs bcache.FS - logger log.Logger + logger *slog.Logger } // NewBcacheCollector returns a newly allocated bcacheCollector. // It exposes a number of Linux bcache statistics. -func NewBcacheCollector(logger log.Logger) (Collector, error) { +func NewBcacheCollector(logger *slog.Logger) (Collector, error) { fs, err := bcache.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) diff --git a/collector/bonding_linux.go b/collector/bonding_linux.go index d9d04e222c..bfec32fd70 100644 --- a/collector/bonding_linux.go +++ b/collector/bonding_linux.go @@ -19,18 +19,17 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "path/filepath" "strings" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) type bondingCollector struct { slaves, active typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -39,7 +38,7 @@ func init() { // NewBondingCollector returns a newly allocated bondingCollector. // It exposes the number of configured and active slave of linux bonding interfaces. -func NewBondingCollector(logger log.Logger) (Collector, error) { +func NewBondingCollector(logger *slog.Logger) (Collector, error) { return &bondingCollector{ slaves: typedDesc{prometheus.NewDesc( prometheus.BuildFQName(namespace, "bonding", "slaves"), @@ -61,7 +60,7 @@ func (c *bondingCollector) Update(ch chan<- prometheus.Metric) error { bondingStats, err := readBondingStats(statusfile) if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "Not collecting bonding, file does not exist", "file", statusfile) + c.logger.Debug("Not collecting bonding, file does not exist", "file", statusfile) return ErrNoData } return err diff --git a/collector/boot_time_bsd.go b/collector/boot_time_bsd.go index 8a9c17b31a..d632fef094 100644 --- a/collector/boot_time_bsd.go +++ b/collector/boot_time_bsd.go @@ -18,13 +18,13 @@ package collector import ( - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" + "log/slog" ) type bootTimeCollector struct { - logger log.Logger + logger *slog.Logger } func init() { @@ -32,7 +32,7 @@ func init() { } // newBootTimeCollector returns a new Collector exposing system boot time on BSD systems. -func newBootTimeCollector(logger log.Logger) (Collector, error) { +func newBootTimeCollector(logger *slog.Logger) (Collector, error) { return &bootTimeCollector{ logger: logger, }, nil diff --git a/collector/boot_time_solaris.go b/collector/boot_time_solaris.go index 15955121f7..4c336fb3c9 100644 --- a/collector/boot_time_solaris.go +++ b/collector/boot_time_solaris.go @@ -17,21 +17,21 @@ package collector import ( - "github.com/go-kit/log" "github.com/illumos/go-kstat" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) type bootTimeCollector struct { boottime typedDesc - logger log.Logger + logger *slog.Logger } func init() { registerCollector("boottime", defaultEnabled, newBootTimeCollector) } -func newBootTimeCollector(logger log.Logger) (Collector, error) { +func newBootTimeCollector(logger *slog.Logger) (Collector, error) { return &bootTimeCollector{ boottime: typedDesc{ prometheus.NewDesc( diff --git a/collector/btrfs_linux.go b/collector/btrfs_linux.go index 1e5ef2933f..2dbdf5aa35 100644 --- a/collector/btrfs_linux.go +++ b/collector/btrfs_linux.go @@ -18,13 +18,12 @@ package collector import ( "fmt" + "log/slog" "path" "strings" "syscall" dennwc "github.com/dennwc/btrfs" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/btrfs" ) @@ -32,7 +31,7 @@ import ( // A btrfsCollector is a Collector which gathers metrics from Btrfs filesystems. type btrfsCollector struct { fs btrfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -40,7 +39,7 @@ func init() { } // NewBtrfsCollector returns a new Collector exposing Btrfs statistics. -func NewBtrfsCollector(logger log.Logger) (Collector, error) { +func NewBtrfsCollector(logger *slog.Logger) (Collector, error) { fs, err := btrfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -62,8 +61,8 @@ func (c *btrfsCollector) Update(ch chan<- prometheus.Metric) error { ioctlStatsMap, err := c.getIoctlStats() if err != nil { - level.Debug(c.logger).Log( - "msg", "Error querying btrfs device stats with ioctl", + c.logger.Debug( + "Error querying btrfs device stats with ioctl", "err", err) ioctlStatsMap = make(map[string]*btrfsIoctlFsStats) } @@ -129,8 +128,8 @@ func (c *btrfsCollector) getIoctlStats() (map[string]*btrfsIoctlFsStats, error) if err != nil { // Failed to open this mount point, maybe we didn't have permission // maybe we'll find another mount point for this FS later. - level.Debug(c.logger).Log( - "msg", "Error inspecting btrfs mountpoint", + c.logger.Debug( + "Error inspecting btrfs mountpoint", "mountPoint", mountPath, "err", err) continue @@ -141,8 +140,8 @@ func (c *btrfsCollector) getIoctlStats() (map[string]*btrfsIoctlFsStats, error) if err != nil { // Failed to get the FS info for some reason, // perhaps it'll work with a different mount point - level.Debug(c.logger).Log( - "msg", "Error querying btrfs filesystem", + c.logger.Debug( + "Error querying btrfs filesystem", "mountPoint", mountPath, "err", err) continue @@ -156,8 +155,8 @@ func (c *btrfsCollector) getIoctlStats() (map[string]*btrfsIoctlFsStats, error) deviceStats, err := c.getIoctlDeviceStats(fs, &fsInfo) if err != nil { - level.Debug(c.logger).Log( - "msg", "Error querying btrfs device stats", + c.logger.Debug( + "Error querying btrfs device stats", "mountPoint", mountPath, "err", err) continue diff --git a/collector/buddyinfo.go b/collector/buddyinfo.go index c3cc5e046d..62392b9624 100644 --- a/collector/buddyinfo.go +++ b/collector/buddyinfo.go @@ -18,10 +18,9 @@ package collector import ( "fmt" + "log/slog" "strconv" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -33,7 +32,7 @@ const ( type buddyinfoCollector struct { fs procfs.FS desc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -41,7 +40,7 @@ func init() { } // NewBuddyinfoCollector returns a new Collector exposing buddyinfo stats. -func NewBuddyinfoCollector(logger log.Logger) (Collector, error) { +func NewBuddyinfoCollector(logger *slog.Logger) (Collector, error) { desc := prometheus.NewDesc( prometheus.BuildFQName(namespace, buddyInfoSubsystem, "blocks"), "Count of free blocks according to size.", @@ -62,7 +61,7 @@ func (c *buddyinfoCollector) Update(ch chan<- prometheus.Metric) error { return fmt.Errorf("couldn't get buddyinfo: %w", err) } - level.Debug(c.logger).Log("msg", "Set node_buddy", "buddyInfo", buddyInfo) + c.logger.Debug("Set node_buddy", "buddyInfo", buddyInfo) for _, entry := range buddyInfo { for size, value := range entry.Sizes { ch <- prometheus.MustNewConstMetric( diff --git a/collector/cgroups_linux.go b/collector/cgroups_linux.go index 9f6d01a465..2a4e288e18 100644 --- a/collector/cgroups_linux.go +++ b/collector/cgroups_linux.go @@ -18,8 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -30,7 +30,7 @@ type cgroupSummaryCollector struct { fs procfs.FS cgroups *prometheus.Desc enabled *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -38,7 +38,7 @@ func init() { } // NewCgroupSummaryCollector returns a new Collector exposing a summary of cgroups. -func NewCgroupSummaryCollector(logger log.Logger) (Collector, error) { +func NewCgroupSummaryCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/collector.go b/collector/collector.go index 3112c78970..9768fb6a1c 100644 --- a/collector/collector.go +++ b/collector/collector.go @@ -17,12 +17,11 @@ package collector import ( "errors" "fmt" + "log/slog" "sync" "time" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -50,14 +49,14 @@ const ( ) var ( - factories = make(map[string]func(logger log.Logger) (Collector, error)) + factories = make(map[string]func(logger *slog.Logger) (Collector, error)) initiatedCollectorsMtx = sync.Mutex{} initiatedCollectors = make(map[string]Collector) collectorState = make(map[string]*bool) forcedCollectors = map[string]bool{} // collectors which have been explicitly enabled or disabled ) -func registerCollector(collector string, isDefaultEnabled bool, factory func(logger log.Logger) (Collector, error)) { +func registerCollector(collector string, isDefaultEnabled bool, factory func(logger *slog.Logger) (Collector, error)) { var helpDefaultState string if isDefaultEnabled { helpDefaultState = "enabled" @@ -78,7 +77,7 @@ func registerCollector(collector string, isDefaultEnabled bool, factory func(log // NodeCollector implements the prometheus.Collector interface. type NodeCollector struct { Collectors map[string]Collector - logger log.Logger + logger *slog.Logger } // DisableDefaultCollectors sets the collector state to false for all collectors which @@ -104,7 +103,7 @@ func collectorFlagAction(collector string) func(ctx *kingpin.ParseContext) error } // NewNodeCollector creates a new NodeCollector. -func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, error) { +func NewNodeCollector(logger *slog.Logger, filters ...string) (*NodeCollector, error) { f := make(map[string]bool) for _, filter := range filters { enabled, exist := collectorState[filter] @@ -126,7 +125,7 @@ func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, err if collector, ok := initiatedCollectors[key]; ok { collectors[key] = collector } else { - collector, err := factories[key](log.With(logger, "collector", key)) + collector, err := factories[key](logger.With("collector", key)) if err != nil { return nil, err } @@ -156,7 +155,7 @@ func (n NodeCollector) Collect(ch chan<- prometheus.Metric) { wg.Wait() } -func execute(name string, c Collector, ch chan<- prometheus.Metric, logger log.Logger) { +func execute(name string, c Collector, ch chan<- prometheus.Metric, logger *slog.Logger) { begin := time.Now() err := c.Update(ch) duration := time.Since(begin) @@ -164,13 +163,13 @@ func execute(name string, c Collector, ch chan<- prometheus.Metric, logger log.L if err != nil { if IsNoDataError(err) { - level.Debug(logger).Log("msg", "collector returned no data", "name", name, "duration_seconds", duration.Seconds(), "err", err) + logger.Debug("collector returned no data", "name", name, "duration_seconds", duration.Seconds(), "err", err) } else { - level.Error(logger).Log("msg", "collector failed", "name", name, "duration_seconds", duration.Seconds(), "err", err) + logger.Error("collector failed", "name", name, "duration_seconds", duration.Seconds(), "err", err) } success = 0 } else { - level.Debug(logger).Log("msg", "collector succeeded", "name", name, "duration_seconds", duration.Seconds()) + logger.Debug("collector succeeded", "name", name, "duration_seconds", duration.Seconds()) success = 1 } ch <- prometheus.MustNewConstMetric(scrapeDurationDesc, prometheus.GaugeValue, duration.Seconds(), name) diff --git a/collector/conntrack_linux.go b/collector/conntrack_linux.go index e4ea954900..309857c767 100644 --- a/collector/conntrack_linux.go +++ b/collector/conntrack_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -38,7 +37,7 @@ type conntrackCollector struct { drop *prometheus.Desc earlyDrop *prometheus.Desc searchRestart *prometheus.Desc - logger log.Logger + logger *slog.Logger } type conntrackStatistics struct { @@ -57,7 +56,7 @@ func init() { } // NewConntrackCollector returns a new Collector exposing conntrack stats. -func NewConntrackCollector(logger log.Logger) (Collector, error) { +func NewConntrackCollector(logger *slog.Logger) (Collector, error) { return &conntrackCollector{ current: prometheus.NewDesc( prometheus.BuildFQName(namespace, "", "nf_conntrack_entries"), @@ -154,7 +153,7 @@ func (c *conntrackCollector) Update(ch chan<- prometheus.Metric) error { func (c *conntrackCollector) handleErr(err error) error { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "conntrack probably not loaded") + c.logger.Debug("conntrack probably not loaded") return ErrNoData } return fmt.Errorf("failed to retrieve conntrack stats: %w", err) diff --git a/collector/cpu_darwin.go b/collector/cpu_darwin.go index 6c461cc348..31b11702b0 100644 --- a/collector/cpu_darwin.go +++ b/collector/cpu_darwin.go @@ -23,10 +23,10 @@ import ( "bytes" "encoding/binary" "fmt" + "log/slog" "strconv" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -53,7 +53,7 @@ const ClocksPerSec = float64(C.CLK_TCK) type statCollector struct { cpu *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -61,7 +61,7 @@ func init() { } // NewCPUCollector returns a new Collector exposing CPU stats. -func NewCPUCollector(logger log.Logger) (Collector, error) { +func NewCPUCollector(logger *slog.Logger) (Collector, error) { return &statCollector{ cpu: nodeCPUSecondsDesc, logger: logger, diff --git a/collector/cpu_dragonfly.go b/collector/cpu_dragonfly.go index 61cba1eee4..c53aaef00a 100644 --- a/collector/cpu_dragonfly.go +++ b/collector/cpu_dragonfly.go @@ -18,10 +18,10 @@ package collector import ( "errors" + "log/slog" "strconv" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -78,7 +78,7 @@ const maxCPUTimesLen = C.MAXCPU * C.CPUSTATES type statCollector struct { cpu *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -86,7 +86,7 @@ func init() { } // NewStatCollector returns a new Collector exposing CPU stats. -func NewStatCollector(logger log.Logger) (Collector, error) { +func NewStatCollector(logger *slog.Logger) (Collector, error) { return &statCollector{ cpu: nodeCPUSecondsDesc, logger: logger, diff --git a/collector/cpu_freebsd.go b/collector/cpu_freebsd.go index 96b0f033cb..39b0118567 100644 --- a/collector/cpu_freebsd.go +++ b/collector/cpu_freebsd.go @@ -18,12 +18,11 @@ package collector import ( "fmt" + "log/slog" "math" "strconv" "unsafe" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -85,7 +84,7 @@ func getCPUTimes() ([]cputime, error) { type statCollector struct { cpu typedDesc temp typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -93,7 +92,7 @@ func init() { } // NewStatCollector returns a new Collector exposing CPU stats. -func NewStatCollector(logger log.Logger) (Collector, error) { +func NewStatCollector(logger *slog.Logger) (Collector, error) { return &statCollector{ cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, temp: typedDesc{prometheus.NewDesc( @@ -134,11 +133,11 @@ func (c *statCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { if err == unix.ENOENT { // No temperature information for this CPU - level.Debug(c.logger).Log("msg", "no temperature information for CPU", "cpu", cpu) + c.logger.Debug("no temperature information for CPU", "cpu", cpu) } else { // Unexpected error ch <- c.temp.mustNewConstMetric(math.NaN(), lcpu) - level.Error(c.logger).Log("msg", "failed to query CPU temperature for CPU", "cpu", cpu, "err", err) + c.logger.Error("failed to query CPU temperature for CPU", "cpu", cpu, "err", err) } continue } diff --git a/collector/cpu_linux.go b/collector/cpu_linux.go index 75d2a795b2..1ee7b94d52 100644 --- a/collector/cpu_linux.go +++ b/collector/cpu_linux.go @@ -18,6 +18,7 @@ package collector import ( "fmt" + "log/slog" "os" "path/filepath" "regexp" @@ -26,8 +27,6 @@ import ( "sync" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" "github.com/prometheus/procfs/sysfs" @@ -45,7 +44,7 @@ type cpuCollector struct { cpuCoreThrottle *prometheus.Desc cpuPackageThrottle *prometheus.Desc cpuIsolated *prometheus.Desc - logger log.Logger + logger *slog.Logger cpuStats map[int64]procfs.CPUStat cpuStatsMutex sync.Mutex isolatedCpus []uint16 @@ -70,7 +69,7 @@ func init() { } // NewCPUCollector returns a new Collector exposing kernel/system statistics. -func NewCPUCollector(logger log.Logger) (Collector, error) { +func NewCPUCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -86,7 +85,7 @@ func NewCPUCollector(logger log.Logger) (Collector, error) { if !os.IsNotExist(err) { return nil, fmt.Errorf("Unable to get isolated cpus: %w", err) } - level.Debug(logger).Log("msg", "Could not open isolated file", "error", err) + logger.Debug("Could not open isolated file", "error", err) } c := &cpuCollector{ @@ -146,7 +145,7 @@ func NewCPUCollector(logger log.Logger) (Collector, error) { func (c *cpuCollector) compileIncludeFlags(flagsIncludeFlag, bugsIncludeFlag *string) error { if (*flagsIncludeFlag != "" || *bugsIncludeFlag != "") && !*enableCPUInfo { *enableCPUInfo = true - level.Info(c.logger).Log("msg", "--collector.cpu.info has been set to `true` because you set the following flags, like --collector.cpu.info.flags-include and --collector.cpu.info.bugs-include") + c.logger.Info("--collector.cpu.info has been set to `true` because you set the following flags, like --collector.cpu.info.flags-include and --collector.cpu.info.bugs-include") } var err error @@ -205,7 +204,7 @@ func (c *cpuCollector) updateInfo(ch chan<- prometheus.Metric) error { cpuFreqEnabled, ok := collectorState["cpufreq"] if !ok || cpuFreqEnabled == nil { - level.Debug(c.logger).Log("msg", "cpufreq key missing or nil value in collectorState map") + c.logger.Debug("cpufreq key missing or nil value in collectorState map") } else if !*cpuFreqEnabled { for _, cpu := range info { ch <- prometheus.MustNewConstMetric(c.cpuFrequencyHz, @@ -269,12 +268,12 @@ func (c *cpuCollector) updateThermalThrottle(ch chan<- prometheus.Metric) error // topology/physical_package_id if physicalPackageID, err = readUintFromFile(filepath.Join(cpu, "topology", "physical_package_id")); err != nil { - level.Debug(c.logger).Log("msg", "CPU is missing physical_package_id", "cpu", cpu) + c.logger.Debug("CPU is missing physical_package_id", "cpu", cpu) continue } // topology/core_id if coreID, err = readUintFromFile(filepath.Join(cpu, "topology", "core_id")); err != nil { - level.Debug(c.logger).Log("msg", "CPU is missing core_id", "cpu", cpu) + c.logger.Debug("CPU is missing core_id", "cpu", cpu) continue } @@ -292,7 +291,7 @@ func (c *cpuCollector) updateThermalThrottle(ch chan<- prometheus.Metric) error if coreThrottleCount, err := readUintFromFile(filepath.Join(cpu, "thermal_throttle", "core_throttle_count")); err == nil { packageCoreThrottles[physicalPackageID][coreID] = coreThrottleCount } else { - level.Debug(c.logger).Log("msg", "CPU is missing core_throttle_count", "cpu", cpu) + c.logger.Debug("CPU is missing core_throttle_count", "cpu", cpu) } } @@ -302,7 +301,7 @@ func (c *cpuCollector) updateThermalThrottle(ch chan<- prometheus.Metric) error if packageThrottleCount, err := readUintFromFile(filepath.Join(cpu, "thermal_throttle", "package_throttle_count")); err == nil { packageThrottles[physicalPackageID] = packageThrottleCount } else { - level.Debug(c.logger).Log("msg", "CPU is missing package_throttle_count", "cpu", cpu) + c.logger.Debug("CPU is missing package_throttle_count", "cpu", cpu) } } } @@ -380,68 +379,68 @@ func (c *cpuCollector) updateCPUStats(newStats map[int64]procfs.CPUStat) { // If idle jumps backwards by more than X seconds, assume we had a hotplug event and reset the stats for this CPU. if (cpuStats.Idle - n.Idle) >= jumpBackSeconds { - level.Debug(c.logger).Log("msg", jumpBackDebugMessage, "cpu", i, "old_value", cpuStats.Idle, "new_value", n.Idle) + c.logger.Debug(jumpBackDebugMessage, "cpu", i, "old_value", cpuStats.Idle, "new_value", n.Idle) cpuStats = procfs.CPUStat{} } if n.Idle >= cpuStats.Idle { cpuStats.Idle = n.Idle } else { - level.Debug(c.logger).Log("msg", "CPU Idle counter jumped backwards", "cpu", i, "old_value", cpuStats.Idle, "new_value", n.Idle) + c.logger.Debug("CPU Idle counter jumped backwards", "cpu", i, "old_value", cpuStats.Idle, "new_value", n.Idle) } if n.User >= cpuStats.User { cpuStats.User = n.User } else { - level.Debug(c.logger).Log("msg", "CPU User counter jumped backwards", "cpu", i, "old_value", cpuStats.User, "new_value", n.User) + c.logger.Debug("CPU User counter jumped backwards", "cpu", i, "old_value", cpuStats.User, "new_value", n.User) } if n.Nice >= cpuStats.Nice { cpuStats.Nice = n.Nice } else { - level.Debug(c.logger).Log("msg", "CPU Nice counter jumped backwards", "cpu", i, "old_value", cpuStats.Nice, "new_value", n.Nice) + c.logger.Debug("CPU Nice counter jumped backwards", "cpu", i, "old_value", cpuStats.Nice, "new_value", n.Nice) } if n.System >= cpuStats.System { cpuStats.System = n.System } else { - level.Debug(c.logger).Log("msg", "CPU System counter jumped backwards", "cpu", i, "old_value", cpuStats.System, "new_value", n.System) + c.logger.Debug("CPU System counter jumped backwards", "cpu", i, "old_value", cpuStats.System, "new_value", n.System) } if n.Iowait >= cpuStats.Iowait { cpuStats.Iowait = n.Iowait } else { - level.Debug(c.logger).Log("msg", "CPU Iowait counter jumped backwards", "cpu", i, "old_value", cpuStats.Iowait, "new_value", n.Iowait) + c.logger.Debug("CPU Iowait counter jumped backwards", "cpu", i, "old_value", cpuStats.Iowait, "new_value", n.Iowait) } if n.IRQ >= cpuStats.IRQ { cpuStats.IRQ = n.IRQ } else { - level.Debug(c.logger).Log("msg", "CPU IRQ counter jumped backwards", "cpu", i, "old_value", cpuStats.IRQ, "new_value", n.IRQ) + c.logger.Debug("CPU IRQ counter jumped backwards", "cpu", i, "old_value", cpuStats.IRQ, "new_value", n.IRQ) } if n.SoftIRQ >= cpuStats.SoftIRQ { cpuStats.SoftIRQ = n.SoftIRQ } else { - level.Debug(c.logger).Log("msg", "CPU SoftIRQ counter jumped backwards", "cpu", i, "old_value", cpuStats.SoftIRQ, "new_value", n.SoftIRQ) + c.logger.Debug("CPU SoftIRQ counter jumped backwards", "cpu", i, "old_value", cpuStats.SoftIRQ, "new_value", n.SoftIRQ) } if n.Steal >= cpuStats.Steal { cpuStats.Steal = n.Steal } else { - level.Debug(c.logger).Log("msg", "CPU Steal counter jumped backwards", "cpu", i, "old_value", cpuStats.Steal, "new_value", n.Steal) + c.logger.Debug("CPU Steal counter jumped backwards", "cpu", i, "old_value", cpuStats.Steal, "new_value", n.Steal) } if n.Guest >= cpuStats.Guest { cpuStats.Guest = n.Guest } else { - level.Debug(c.logger).Log("msg", "CPU Guest counter jumped backwards", "cpu", i, "old_value", cpuStats.Guest, "new_value", n.Guest) + c.logger.Debug("CPU Guest counter jumped backwards", "cpu", i, "old_value", cpuStats.Guest, "new_value", n.Guest) } if n.GuestNice >= cpuStats.GuestNice { cpuStats.GuestNice = n.GuestNice } else { - level.Debug(c.logger).Log("msg", "CPU GuestNice counter jumped backwards", "cpu", i, "old_value", cpuStats.GuestNice, "new_value", n.GuestNice) + c.logger.Debug("CPU GuestNice counter jumped backwards", "cpu", i, "old_value", cpuStats.GuestNice, "new_value", n.GuestNice) } c.cpuStats[i] = cpuStats diff --git a/collector/cpu_linux_test.go b/collector/cpu_linux_test.go index b148ffcd93..158ae8ff40 100644 --- a/collector/cpu_linux_test.go +++ b/collector/cpu_linux_test.go @@ -17,10 +17,11 @@ package collector import ( + "io" + "log/slog" "reflect" "testing" - "github.com/go-kit/log" "github.com/prometheus/procfs" ) @@ -35,7 +36,7 @@ func makeTestCPUCollector(s map[int64]procfs.CPUStat) *cpuCollector { dup := make(map[int64]procfs.CPUStat, len(s)) copyStats(dup, s) return &cpuCollector{ - logger: log.NewNopLogger(), + logger: slog.New(slog.NewTextHandler(io.Discard, nil)), cpuStats: dup, } } diff --git a/collector/cpu_netbsd.go b/collector/cpu_netbsd.go index 7fc95c8081..e7c8b1cece 100644 --- a/collector/cpu_netbsd.go +++ b/collector/cpu_netbsd.go @@ -18,6 +18,7 @@ package collector import ( "errors" + "log/slog" "math" "regexp" "sort" @@ -25,8 +26,6 @@ import ( "strings" "unsafe" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" @@ -214,7 +213,7 @@ func getCPUTimes() ([]cputime, error) { type statCollector struct { cpu typedDesc temp typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -222,7 +221,7 @@ func init() { } // NewStatCollector returns a new Collector exposing CPU stats. -func NewStatCollector(logger log.Logger) (Collector, error) { +func NewStatCollector(logger *slog.Logger) (Collector, error) { return &statCollector{ cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, temp: typedDesc{prometheus.NewDesc( @@ -269,7 +268,7 @@ func (c *statCollector) Update(ch chan<- prometheus.Metric) error { if temp, ok := cpuTemperatures[cpu]; ok { ch <- c.temp.mustNewConstMetric(temp, lcpu) } else { - level.Debug(c.logger).Log("msg", "no temperature information for CPU", "cpu", cpu) + c.logger.Debug("no temperature information for CPU", "cpu", cpu) ch <- c.temp.mustNewConstMetric(math.NaN(), lcpu) } } diff --git a/collector/cpu_openbsd.go b/collector/cpu_openbsd.go index 8715ff9885..2d59f5476c 100644 --- a/collector/cpu_openbsd.go +++ b/collector/cpu_openbsd.go @@ -17,10 +17,10 @@ package collector import ( + "log/slog" "strconv" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -45,14 +45,14 @@ const ( type cpuCollector struct { cpu typedDesc - logger log.Logger + logger *slog.Logger } func init() { registerCollector("cpu", defaultEnabled, NewCPUCollector) } -func NewCPUCollector(logger log.Logger) (Collector, error) { +func NewCPUCollector(logger *slog.Logger) (Collector, error) { return &cpuCollector{ cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, logger: logger, diff --git a/collector/cpu_solaris.go b/collector/cpu_solaris.go index c78845423f..550ba37462 100644 --- a/collector/cpu_solaris.go +++ b/collector/cpu_solaris.go @@ -17,9 +17,9 @@ package collector import ( + "log/slog" "strconv" - "github.com/go-kit/log" "github.com/illumos/go-kstat" "github.com/prometheus/client_golang/prometheus" ) @@ -29,14 +29,14 @@ import "C" type cpuCollector struct { cpu typedDesc - logger log.Logger + logger *slog.Logger } func init() { registerCollector("cpu", defaultEnabled, NewCpuCollector) } -func NewCpuCollector(logger log.Logger) (Collector, error) { +func NewCpuCollector(logger *slog.Logger) (Collector, error) { return &cpuCollector{ cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, logger: logger, diff --git a/collector/cpu_vulnerabilities_linux.go b/collector/cpu_vulnerabilities_linux.go index 69a2c587e3..180d56d6c3 100644 --- a/collector/cpu_vulnerabilities_linux.go +++ b/collector/cpu_vulnerabilities_linux.go @@ -15,8 +15,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -40,7 +40,7 @@ func init() { registerCollector(cpuVulerabilitiesCollector, defaultDisabled, NewVulnerabilitySysfsCollector) } -func NewVulnerabilitySysfsCollector(logger log.Logger) (Collector, error) { +func NewVulnerabilitySysfsCollector(logger *slog.Logger) (Collector, error) { return &cpuVulnerabilitiesCollector{}, nil } diff --git a/collector/cpufreq_linux.go b/collector/cpufreq_linux.go index 3372be1ab6..d6b3e42dd5 100644 --- a/collector/cpufreq_linux.go +++ b/collector/cpufreq_linux.go @@ -18,15 +18,15 @@ package collector import ( "fmt" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" + "log/slog" "strings" ) type cpuFreqCollector struct { fs sysfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -34,7 +34,7 @@ func init() { } // NewCPUFreqCollector returns a new Collector exposing kernel/system statistics. -func NewCPUFreqCollector(logger log.Logger) (Collector, error) { +func NewCPUFreqCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) diff --git a/collector/cpufreq_solaris.go b/collector/cpufreq_solaris.go index c3fb9ee687..c13703e14f 100644 --- a/collector/cpufreq_solaris.go +++ b/collector/cpufreq_solaris.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "strconv" - "github.com/go-kit/log" "github.com/illumos/go-kstat" "github.com/prometheus/client_golang/prometheus" ) @@ -29,14 +29,14 @@ import ( import "C" type cpuFreqCollector struct { - logger log.Logger + logger *slog.Logger } func init() { registerCollector("cpufreq", defaultEnabled, NewCpuFreqCollector) } -func NewCpuFreqCollector(logger log.Logger) (Collector, error) { +func NewCpuFreqCollector(logger *slog.Logger) (Collector, error) { return &cpuFreqCollector{ logger: logger, }, nil diff --git a/collector/devstat_dragonfly.go b/collector/devstat_dragonfly.go index 11678054f7..b1796860fa 100644 --- a/collector/devstat_dragonfly.go +++ b/collector/devstat_dragonfly.go @@ -19,8 +19,8 @@ package collector import ( "errors" "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -98,7 +98,7 @@ type devstatCollector struct { bytesDesc *prometheus.Desc transfersDesc *prometheus.Desc blocksDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -106,7 +106,7 @@ func init() { } // NewDevstatCollector returns a new Collector exposing Device stats. -func NewDevstatCollector(logger log.Logger) (Collector, error) { +func NewDevstatCollector(logger *slog.Logger) (Collector, error) { return &devstatCollector{ bytesDesc: prometheus.NewDesc( prometheus.BuildFQName(namespace, devstatSubsystem, "bytes_total"), diff --git a/collector/devstat_freebsd.go b/collector/devstat_freebsd.go index 20cdc27674..a9d4272003 100644 --- a/collector/devstat_freebsd.go +++ b/collector/devstat_freebsd.go @@ -19,10 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "sync" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -43,7 +43,7 @@ type devstatCollector struct { duration typedDesc busyTime typedDesc blocks typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -51,7 +51,7 @@ func init() { } // NewDevstatCollector returns a new Collector exposing Device stats. -func NewDevstatCollector(logger log.Logger) (Collector, error) { +func NewDevstatCollector(logger *slog.Logger) (Collector, error) { return &devstatCollector{ devinfo: &C.struct_devinfo{}, bytes: typedDesc{prometheus.NewDesc( diff --git a/collector/diskstats_common.go b/collector/diskstats_common.go index 2ab84438e7..dc1df4d792 100644 --- a/collector/diskstats_common.go +++ b/collector/diskstats_common.go @@ -19,10 +19,9 @@ package collector import ( "errors" + "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -93,10 +92,10 @@ var ( ) ) -func newDiskstatsDeviceFilter(logger log.Logger) (deviceFilter, error) { +func newDiskstatsDeviceFilter(logger *slog.Logger) (deviceFilter, error) { if *oldDiskstatsDeviceExclude != "" { if !diskstatsDeviceExcludeSet { - level.Warn(logger).Log("msg", "--collector.diskstats.ignored-devices is DEPRECATED and will be removed in 2.0.0, use --collector.diskstats.device-exclude") + logger.Warn("--collector.diskstats.ignored-devices is DEPRECATED and will be removed in 2.0.0, use --collector.diskstats.device-exclude") *diskstatsDeviceExclude = *oldDiskstatsDeviceExclude } else { return deviceFilter{}, errors.New("--collector.diskstats.ignored-devices and --collector.diskstats.device-exclude are mutually exclusive") @@ -108,11 +107,11 @@ func newDiskstatsDeviceFilter(logger log.Logger) (deviceFilter, error) { } if *diskstatsDeviceExclude != "" { - level.Info(logger).Log("msg", "Parsed flag --collector.diskstats.device-exclude", "flag", *diskstatsDeviceExclude) + logger.Info("Parsed flag --collector.diskstats.device-exclude", "flag", *diskstatsDeviceExclude) } if *diskstatsDeviceInclude != "" { - level.Info(logger).Log("msg", "Parsed Flag --collector.diskstats.device-include", "flag", *diskstatsDeviceInclude) + logger.Info("Parsed Flag --collector.diskstats.device-include", "flag", *diskstatsDeviceInclude) } return newDeviceFilter(*diskstatsDeviceExclude, *diskstatsDeviceInclude), nil diff --git a/collector/diskstats_darwin.go b/collector/diskstats_darwin.go index b5f6c53844..98052fe7db 100644 --- a/collector/diskstats_darwin.go +++ b/collector/diskstats_darwin.go @@ -18,8 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/lufia/iostat" "github.com/prometheus/client_golang/prometheus" ) @@ -35,7 +35,7 @@ type diskstatsCollector struct { descs []typedDescFunc deviceFilter deviceFilter - logger log.Logger + logger *slog.Logger } func init() { @@ -43,7 +43,7 @@ func init() { } // NewDiskstatsCollector returns a new Collector exposing disk device stats. -func NewDiskstatsCollector(logger log.Logger) (Collector, error) { +func NewDiskstatsCollector(logger *slog.Logger) (Collector, error) { var diskLabelNames = []string{"device"} deviceFilter, err := newDiskstatsDeviceFilter(logger) diff --git a/collector/diskstats_linux.go b/collector/diskstats_linux.go index ed5d044a61..134c19e299 100644 --- a/collector/diskstats_linux.go +++ b/collector/diskstats_linux.go @@ -19,12 +19,11 @@ package collector import ( "bufio" "fmt" + "log/slog" "os" "strconv" "strings" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/blockdevice" ) @@ -85,7 +84,7 @@ type diskstatsCollector struct { filesystemInfoDesc typedFactorDesc deviceMapperInfoDesc typedFactorDesc ataDescs map[string]typedFactorDesc - logger log.Logger + logger *slog.Logger getUdevDeviceProperties func(uint32, uint32) (udevInfo, error) } @@ -95,7 +94,7 @@ func init() { // NewDiskstatsCollector returns a new Collector exposing disk device stats. // Docs from https://www.kernel.org/doc/Documentation/iostats.txt -func NewDiskstatsCollector(logger log.Logger) (Collector, error) { +func NewDiskstatsCollector(logger *slog.Logger) (Collector, error) { var diskLabelNames = []string{"device"} fs, err := blockdevice.NewFS(*procPath, *sysPath) if err != nil { @@ -262,7 +261,7 @@ func NewDiskstatsCollector(logger log.Logger) (Collector, error) { // Only enable getting device properties from udev if the directory is readable. if stat, err := os.Stat(*udevDataPath); err != nil || !stat.IsDir() { - level.Error(logger).Log("msg", "Failed to open directory, disabling udev device properties", "path", *udevDataPath) + logger.Error("Failed to open directory, disabling udev device properties", "path", *udevDataPath) } else { collector.getUdevDeviceProperties = getUdevDeviceProperties } @@ -284,7 +283,7 @@ func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { info, err := getUdevDeviceProperties(stats.MajorNumber, stats.MinorNumber) if err != nil { - level.Debug(c.logger).Log("msg", "Failed to parse udev info", "err", err) + c.logger.Debug("Failed to parse udev info", "err", err) } // This is usually the serial printed on the disk label. @@ -355,14 +354,14 @@ func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { for attr, desc := range c.ataDescs { str, ok := info[attr] if !ok { - level.Debug(c.logger).Log("msg", "Udev attribute does not exist", "attribute", attr) + c.logger.Debug("Udev attribute does not exist", "attribute", attr) continue } if value, err := strconv.ParseFloat(str, 64); err == nil { ch <- desc.mustNewConstMetric(value, dev) } else { - level.Error(c.logger).Log("msg", "Failed to parse ATA value", "err", err) + c.logger.Error("Failed to parse ATA value", "err", err) } } } diff --git a/collector/diskstats_linux_test.go b/collector/diskstats_linux_test.go index 88d8c8265e..8c45d1c37f 100644 --- a/collector/diskstats_linux_test.go +++ b/collector/diskstats_linux_test.go @@ -18,11 +18,11 @@ package collector import ( "fmt" - "os" + "io" + "log/slog" "strings" "testing" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/testutil" ) @@ -39,7 +39,7 @@ func (c testDiskStatsCollector) Describe(ch chan<- *prometheus.Desc) { prometheus.DescribeByCollect(c, ch) } -func NewTestDiskStatsCollector(logger log.Logger) (prometheus.Collector, error) { +func NewTestDiskStatsCollector(logger *slog.Logger) (prometheus.Collector, error) { dsc, err := NewDiskstatsCollector(logger) if err != nil { return testDiskStatsCollector{}, err @@ -317,7 +317,7 @@ node_disk_written_bytes_total{device="sr0"} 0 node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 ` - logger := log.NewLogfmtLogger(os.Stderr) + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) collector, err := NewDiskstatsCollector(logger) if err != nil { t.Fatal(err) diff --git a/collector/diskstats_openbsd.go b/collector/diskstats_openbsd.go index 2a69042aac..49415c17f4 100644 --- a/collector/diskstats_openbsd.go +++ b/collector/diskstats_openbsd.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -41,7 +41,7 @@ type diskstatsCollector struct { time typedDesc deviceFilter deviceFilter - logger log.Logger + logger *slog.Logger } func init() { @@ -49,7 +49,7 @@ func init() { } // NewDiskstatsCollector returns a new Collector exposing disk device stats. -func NewDiskstatsCollector(logger log.Logger) (Collector, error) { +func NewDiskstatsCollector(logger *slog.Logger) (Collector, error) { deviceFilter, err := newDiskstatsDeviceFilter(logger) if err != nil { return nil, fmt.Errorf("failed to parse device filter flags: %w", err) diff --git a/collector/diskstats_openbsd_amd64.go b/collector/diskstats_openbsd_amd64.go index a39cabb538..b290d88920 100644 --- a/collector/diskstats_openbsd_amd64.go +++ b/collector/diskstats_openbsd_amd64.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -52,7 +52,7 @@ type diskstatsCollector struct { time typedDesc deviceFilter deviceFilter - logger log.Logger + logger *slog.Logger } func init() { @@ -60,7 +60,7 @@ func init() { } // NewDiskstatsCollector returns a new Collector exposing disk device stats. -func NewDiskstatsCollector(logger log.Logger) (Collector, error) { +func NewDiskstatsCollector(logger *slog.Logger) (Collector, error) { deviceFilter, err := newDiskstatsDeviceFilter(logger) if err != nil { return nil, fmt.Errorf("failed to parse device filter flags: %w", err) diff --git a/collector/dmi.go b/collector/dmi.go index 794755076a..2282d7bd00 100644 --- a/collector/dmi.go +++ b/collector/dmi.go @@ -19,11 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "strings" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -38,7 +37,7 @@ func init() { } // NewDMICollector returns a new Collector exposing DMI information. -func NewDMICollector(logger log.Logger) (Collector, error) { +func NewDMICollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -47,7 +46,7 @@ func NewDMICollector(logger log.Logger) (Collector, error) { dmi, err := fs.DMIClass() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(logger).Log("msg", "Platform does not support Desktop Management Interface (DMI) information", "err", err) + logger.Debug("Platform does not support Desktop Management Interface (DMI) information", "err", err) dmi = &sysfs.DMIClass{} } else { return nil, fmt.Errorf("failed to read Desktop Management Interface (DMI) information: %w", err) diff --git a/collector/drbd_linux.go b/collector/drbd_linux.go index f192a24c6f..cbaf816193 100644 --- a/collector/drbd_linux.go +++ b/collector/drbd_linux.go @@ -20,12 +20,11 @@ import ( "bufio" "errors" "fmt" + "log/slog" "os" "strconv" "strings" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -79,14 +78,14 @@ type drbdCollector struct { numerical map[string]drbdNumericalMetric stringPair map[string]drbdStringPairMetric connected *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { registerCollector("drbd", defaultDisabled, newDRBDCollector) } -func newDRBDCollector(logger log.Logger) (Collector, error) { +func newDRBDCollector(logger *slog.Logger) (Collector, error) { return &drbdCollector{ numerical: map[string]drbdNumericalMetric{ "ns": newDRBDNumericalMetric( @@ -191,7 +190,7 @@ func (c *drbdCollector) Update(ch chan<- prometheus.Metric) error { file, err := os.Open(statsFile) if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "stats file does not exist, skipping", "file", statsFile, "err", err) + c.logger.Debug("stats file does not exist, skipping", "file", statsFile, "err", err) return ErrNoData } @@ -208,7 +207,7 @@ func (c *drbdCollector) Update(ch chan<- prometheus.Metric) error { kv := strings.Split(field, ":") if len(kv) != 2 { - level.Debug(c.logger).Log("msg", "skipping invalid key:value pair", "field", field) + c.logger.Debug("skipping invalid key:value pair", "field", field) continue } @@ -274,7 +273,7 @@ func (c *drbdCollector) Update(ch chan<- prometheus.Metric) error { continue } - level.Debug(c.logger).Log("msg", "unhandled key-value pair", "key", kv[0], "value", kv[1]) + c.logger.Debug("unhandled key-value pair", "key", kv[0], "value", kv[1]) } return scanner.Err() diff --git a/collector/drm_linux.go b/collector/drm_linux.go index 11b8c6283b..61bb59ac77 100644 --- a/collector/drm_linux.go +++ b/collector/drm_linux.go @@ -18,8 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -30,7 +30,7 @@ const ( type drmCollector struct { fs sysfs.FS - logger log.Logger + logger *slog.Logger CardInfo *prometheus.Desc GPUBusyPercent *prometheus.Desc MemoryGTTSize *prometheus.Desc @@ -46,7 +46,7 @@ func init() { } // NewDrmCollector returns a new Collector exposing /sys/class/drm/card?/device stats. -func NewDrmCollector(logger log.Logger) (Collector, error) { +func NewDrmCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) diff --git a/collector/edac_linux.go b/collector/edac_linux.go index c7719b7a64..c14c96c36e 100644 --- a/collector/edac_linux.go +++ b/collector/edac_linux.go @@ -18,10 +18,10 @@ package collector import ( "fmt" + "log/slog" "path/filepath" "regexp" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -39,7 +39,7 @@ type edacCollector struct { ueCount *prometheus.Desc csRowCECount *prometheus.Desc csRowUECount *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -47,7 +47,7 @@ func init() { } // NewEdacCollector returns a new Collector exposing edac stats. -func NewEdacCollector(logger log.Logger) (Collector, error) { +func NewEdacCollector(logger *slog.Logger) (Collector, error) { return &edacCollector{ ceCount: prometheus.NewDesc( prometheus.BuildFQName(namespace, edacSubsystem, "correctable_errors_total"), diff --git a/collector/entropy_linux.go b/collector/entropy_linux.go index 909d2ff4c2..6da61125c6 100644 --- a/collector/entropy_linux.go +++ b/collector/entropy_linux.go @@ -18,8 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -28,7 +28,7 @@ type entropyCollector struct { fs procfs.FS entropyAvail *prometheus.Desc entropyPoolSize *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -36,7 +36,7 @@ func init() { } // NewEntropyCollector returns a new Collector exposing entropy stats. -func NewEntropyCollector(logger log.Logger) (Collector, error) { +func NewEntropyCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/ethtool_linux.go b/collector/ethtool_linux.go index 45c35851d6..da6be30bd1 100644 --- a/collector/ethtool_linux.go +++ b/collector/ethtool_linux.go @@ -23,6 +23,7 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "regexp" "sort" @@ -31,8 +32,6 @@ import ( "syscall" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" "github.com/safchain/ethtool" @@ -79,13 +78,13 @@ type ethtoolCollector struct { deviceFilter deviceFilter infoDesc *prometheus.Desc metricsPattern *regexp.Regexp - logger log.Logger + logger *slog.Logger } // makeEthtoolCollector is the internal constructor for EthtoolCollector. // This allows NewEthtoolTestCollector to override its .ethtool interface // for testing. -func makeEthtoolCollector(logger log.Logger) (*ethtoolCollector, error) { +func makeEthtoolCollector(logger *slog.Logger) (*ethtoolCollector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -97,13 +96,13 @@ func makeEthtoolCollector(logger log.Logger) (*ethtoolCollector, error) { } if *ethtoolDeviceInclude != "" { - level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.device-include", "flag", *ethtoolDeviceInclude) + logger.Info("Parsed flag --collector.ethtool.device-include", "flag", *ethtoolDeviceInclude) } if *ethtoolDeviceExclude != "" { - level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.device-exclude", "flag", *ethtoolDeviceExclude) + logger.Info("Parsed flag --collector.ethtool.device-exclude", "flag", *ethtoolDeviceExclude) } if *ethtoolIncludedMetrics != "" { - level.Info(logger).Log("msg", "Parsed flag --collector.ethtool.metrics-include", "flag", *ethtoolIncludedMetrics) + logger.Info("Parsed flag --collector.ethtool.metrics-include", "flag", *ethtoolIncludedMetrics) } // Pre-populate some common ethtool metrics. @@ -223,7 +222,7 @@ func buildEthtoolFQName(metric string) string { } // NewEthtoolCollector returns a new Collector exposing ethtool stats. -func NewEthtoolCollector(logger log.Logger) (Collector, error) { +func NewEthtoolCollector(logger *slog.Logger) (Collector, error) { return makeEthtoolCollector(logger) } @@ -376,7 +375,7 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { netClass, err := c.fs.NetClass() if err != nil { if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "Could not read netclass file", "err", err) + c.logger.Debug("Could not read netclass file", "err", err) return ErrNoData } return fmt.Errorf("could not get net class info: %w", err) @@ -405,12 +404,12 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { } else { if errno, ok := err.(syscall.Errno); ok { if err == unix.EOPNOTSUPP { - level.Debug(c.logger).Log("msg", "ethtool link info error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Debug("ethtool link info error", "err", err, "device", device, "errno", uint(errno)) } else if errno != 0 { - level.Error(c.logger).Log("msg", "ethtool link info error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Error("ethtool link info error", "err", err, "device", device, "errno", uint(errno)) } } else { - level.Error(c.logger).Log("msg", "ethtool link info error", "err", err, "device", device) + c.logger.Error("ethtool link info error", "err", err, "device", device) } } @@ -422,12 +421,12 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { } else { if errno, ok := err.(syscall.Errno); ok { if err == unix.EOPNOTSUPP { - level.Debug(c.logger).Log("msg", "ethtool driver info error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Debug("ethtool driver info error", "err", err, "device", device, "errno", uint(errno)) } else if errno != 0 { - level.Error(c.logger).Log("msg", "ethtool driver info error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Error("ethtool driver info error", "err", err, "device", device, "errno", uint(errno)) } } else { - level.Error(c.logger).Log("msg", "ethtool driver info error", "err", err, "device", device) + c.logger.Error("ethtool driver info error", "err", err, "device", device) } } @@ -438,12 +437,12 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { if errno, ok := err.(syscall.Errno); ok { if err == unix.EOPNOTSUPP { - level.Debug(c.logger).Log("msg", "ethtool stats error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Debug("ethtool stats error", "err", err, "device", device, "errno", uint(errno)) } else if errno != 0 { - level.Error(c.logger).Log("msg", "ethtool stats error", "err", err, "device", device, "errno", uint(errno)) + c.logger.Error("ethtool stats error", "err", err, "device", device, "errno", uint(errno)) } } else { - level.Error(c.logger).Log("msg", "ethtool stats error", "err", err, "device", device) + c.logger.Error("ethtool stats error", "err", err, "device", device) } } @@ -462,7 +461,7 @@ func (c *ethtoolCollector) Update(ch chan<- prometheus.Metric) error { metricFQName := buildEthtoolFQName(metricName) existingMetric, exists := metricFQNames[metricFQName] if exists { - level.Debug(c.logger).Log("msg", "dropping duplicate metric name", "device", device, + c.logger.Debug("dropping duplicate metric name", "device", device, "metricFQName", metricFQName, "metric1", existingMetric, "metric2", metricName) // Keep the metricName as "deleted" in the dict in case there are 3 duplicates. metricFQNames[metricFQName] = "" diff --git a/collector/ethtool_linux_test.go b/collector/ethtool_linux_test.go index ae7df0ddff..98e66dbc20 100644 --- a/collector/ethtool_linux_test.go +++ b/collector/ethtool_linux_test.go @@ -19,6 +19,8 @@ package collector import ( "bufio" "fmt" + "io" + "log/slog" "os" "path/filepath" "strconv" @@ -26,7 +28,6 @@ import ( "syscall" "testing" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/testutil" "github.com/safchain/ethtool" @@ -49,7 +50,7 @@ func (c testEthtoolCollector) Describe(ch chan<- *prometheus.Desc) { prometheus.DescribeByCollect(c, ch) } -func NewTestEthtoolCollector(logger log.Logger) (prometheus.Collector, error) { +func NewTestEthtoolCollector(logger *slog.Logger) (prometheus.Collector, error) { dsc, err := NewEthtoolTestCollector(logger) if err != nil { return testEthtoolCollector{}, err @@ -255,7 +256,7 @@ func (e *EthtoolFixture) LinkInfo(intf string) (ethtool.EthtoolCmd, error) { return res, err } -func NewEthtoolTestCollector(logger log.Logger) (Collector, error) { +func NewEthtoolTestCollector(logger *slog.Logger) (Collector, error) { collector, err := makeEthtoolCollector(logger) if err != nil { return nil, err @@ -370,7 +371,7 @@ node_network_supported_speed_bytes{device="eth0",duplex="half",mode="10baseT"} 1 ` *sysPath = "fixtures/sys" - logger := log.NewLogfmtLogger(os.Stderr) + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) collector, err := NewEthtoolTestCollector(logger) if err != nil { t.Fatal(err) diff --git a/collector/exec_bsd.go b/collector/exec_bsd.go index 87cb3ceeb4..07de879ee0 100644 --- a/collector/exec_bsd.go +++ b/collector/exec_bsd.go @@ -18,13 +18,13 @@ package collector import ( - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) type execCollector struct { sysctls []bsdSysctl - logger log.Logger + logger *slog.Logger } func init() { @@ -32,7 +32,7 @@ func init() { } // NewExecCollector returns a new Collector exposing system execution statistics. -func NewExecCollector(logger log.Logger) (Collector, error) { +func NewExecCollector(logger *slog.Logger) (Collector, error) { // From sys/vm/vm_meter.c: // All are of type CTLTYPE_UINT. // diff --git a/collector/fibrechannel_linux.go b/collector/fibrechannel_linux.go index 782ad33ee0..cb8be9db1d 100644 --- a/collector/fibrechannel_linux.go +++ b/collector/fibrechannel_linux.go @@ -18,10 +18,9 @@ package collector import ( "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/node_exporter/collector/utils" "github.com/prometheus/procfs/sysfs" @@ -32,7 +31,7 @@ const maxUint64 = ^uint64(0) type fibrechannelCollector struct { fs sysfs.FS metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger subsystem string } @@ -41,7 +40,7 @@ func init() { } // NewFibreChannelCollector returns a new Collector exposing FibreChannel stats. -func NewFibreChannelCollector(logger log.Logger) (Collector, error) { +func NewFibreChannelCollector(logger *slog.Logger) (Collector, error) { var i fibrechannelCollector var err error @@ -99,7 +98,7 @@ func (c *fibrechannelCollector) Update(ch chan<- prometheus.Metric) error { hosts, err := c.fs.FibreChannelClass() if err != nil { if os.IsNotExist(err) { - level.Debug(c.logger).Log("msg", "fibrechannel statistics not found, skipping") + c.logger.Debug("fibrechannel statistics not found, skipping") return ErrNoData } return fmt.Errorf("error obtaining FibreChannel class info: %s", err) diff --git a/collector/filefd_linux.go b/collector/filefd_linux.go index 55069d6c5d..39a72fcd43 100644 --- a/collector/filefd_linux.go +++ b/collector/filefd_linux.go @@ -20,10 +20,10 @@ import ( "bytes" "fmt" "io" + "log/slog" "os" "strconv" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -32,7 +32,7 @@ const ( ) type fileFDStatCollector struct { - logger log.Logger + logger *slog.Logger } func init() { @@ -40,7 +40,7 @@ func init() { } // NewFileFDStatCollector returns a new Collector exposing file-nr stats. -func NewFileFDStatCollector(logger log.Logger) (Collector, error) { +func NewFileFDStatCollector(logger *slog.Logger) (Collector, error) { return &fileFDStatCollector{logger}, nil } diff --git a/collector/filesystem_bsd.go b/collector/filesystem_bsd.go index d3025a0171..2db3fb8ff3 100644 --- a/collector/filesystem_bsd.go +++ b/collector/filesystem_bsd.go @@ -20,8 +20,6 @@ package collector import ( "errors" "unsafe" - - "github.com/go-kit/log/level" ) /* @@ -51,14 +49,14 @@ func (c *filesystemCollector) GetStats() (stats []filesystemStats, err error) { for i := 0; i < int(count); i++ { mountpoint := C.GoString(&mnt[i].f_mntonname[0]) if c.excludedMountPointsPattern.MatchString(mountpoint) { - level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) + c.logger.Debug("Ignoring mount point", "mountpoint", mountpoint) continue } device := C.GoString(&mnt[i].f_mntfromname[0]) fstype := C.GoString(&mnt[i].f_fstypename[0]) if c.excludedFSTypesPattern.MatchString(fstype) { - level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) + c.logger.Debug("Ignoring fs type", "type", fstype) continue } diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index d224e2c20f..ee61aba8ec 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -19,11 +19,10 @@ package collector import ( "errors" + "log/slog" "regexp" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -70,7 +69,7 @@ type filesystemCollector struct { filesDesc, filesFreeDesc *prometheus.Desc roDesc, deviceErrorDesc *prometheus.Desc mountInfoDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } type filesystemLabels struct { @@ -89,10 +88,10 @@ func init() { } // NewFilesystemCollector returns a new Collector exposing filesystems stats. -func NewFilesystemCollector(logger log.Logger) (Collector, error) { +func NewFilesystemCollector(logger *slog.Logger) (Collector, error) { if *oldMountPointsExcluded != "" { if !mountPointsExcludeSet { - level.Warn(logger).Log("msg", "--collector.filesystem.ignored-mount-points is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.mount-points-exclude") + logger.Warn("--collector.filesystem.ignored-mount-points is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.mount-points-exclude") *mountPointsExclude = *oldMountPointsExcluded } else { return nil, errors.New("--collector.filesystem.ignored-mount-points and --collector.filesystem.mount-points-exclude are mutually exclusive") @@ -101,7 +100,7 @@ func NewFilesystemCollector(logger log.Logger) (Collector, error) { if *oldFSTypesExcluded != "" { if !fsTypesExcludeSet { - level.Warn(logger).Log("msg", "--collector.filesystem.ignored-fs-types is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.fs-types-exclude") + logger.Warn("--collector.filesystem.ignored-fs-types is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.fs-types-exclude") *fsTypesExclude = *oldFSTypesExcluded } else { return nil, errors.New("--collector.filesystem.ignored-fs-types and --collector.filesystem.fs-types-exclude are mutually exclusive") @@ -109,9 +108,9 @@ func NewFilesystemCollector(logger log.Logger) (Collector, error) { } subsystem := "filesystem" - level.Info(logger).Log("msg", "Parsed flag --collector.filesystem.mount-points-exclude", "flag", *mountPointsExclude) + logger.Info("Parsed flag --collector.filesystem.mount-points-exclude", "flag", *mountPointsExclude) mountPointPattern := regexp.MustCompile(*mountPointsExclude) - level.Info(logger).Log("msg", "Parsed flag --collector.filesystem.fs-types-exclude", "flag", *fsTypesExclude) + logger.Info("Parsed flag --collector.filesystem.fs-types-exclude", "flag", *fsTypesExclude) filesystemsTypesPattern := regexp.MustCompile(*fsTypesExclude) sizeDesc := prometheus.NewDesc( diff --git a/collector/filesystem_freebsd.go b/collector/filesystem_freebsd.go index f05702d14f..2a6026d3a2 100644 --- a/collector/filesystem_freebsd.go +++ b/collector/filesystem_freebsd.go @@ -17,7 +17,6 @@ package collector import ( - "github.com/go-kit/log/level" "golang.org/x/sys/unix" ) @@ -41,19 +40,19 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { for _, fs := range buf { mountpoint := unix.ByteSliceToString(fs.Mntonname[:]) if c.excludedMountPointsPattern.MatchString(mountpoint) { - level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) + c.logger.Debug("Ignoring mount point", "mountpoint", mountpoint) continue } device := unix.ByteSliceToString(fs.Mntfromname[:]) fstype := unix.ByteSliceToString(fs.Fstypename[:]) if c.excludedFSTypesPattern.MatchString(fstype) { - level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) + c.logger.Debug("Ignoring fs type", "type", fstype) continue } if (fs.Flags & unix.MNT_IGNORE) != 0 { - level.Debug(c.logger).Log("msg", "Ignoring mount flagged as ignore", "mountpoint", mountpoint) + c.logger.Debug("Ignoring mount flagged as ignore", "mountpoint", mountpoint) continue } diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 728e8cca43..19c3971760 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -21,14 +21,13 @@ import ( "errors" "fmt" "io" + "log/slog" "os" "strings" "sync" "time" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "golang.org/x/sys/unix" ) @@ -75,11 +74,11 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { go func() { for _, labels := range mps { if c.excludedMountPointsPattern.MatchString(labels.mountPoint) { - level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", labels.mountPoint) + c.logger.Debug("Ignoring mount point", "mountpoint", labels.mountPoint) continue } if c.excludedFSTypesPattern.MatchString(labels.fsType) { - level.Debug(c.logger).Log("msg", "Ignoring fs", "type", labels.fsType) + c.logger.Debug("Ignoring fs", "type", labels.fsType) continue } @@ -90,7 +89,7 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { labels: labels, deviceError: 1, }) - level.Debug(c.logger).Log("msg", "Mount point is in an unresponsive state", "mountpoint", labels.mountPoint) + c.logger.Debug("Mount point is in an unresponsive state", "mountpoint", labels.mountPoint) stuckMountsMtx.Unlock() continue } @@ -128,14 +127,14 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta // If the mount has been marked as stuck, unmark it and log it's recovery. if _, ok := stuckMounts[labels.mountPoint]; ok { - level.Debug(c.logger).Log("msg", "Mount point has recovered, monitoring will resume", "mountpoint", labels.mountPoint) + c.logger.Debug("Mount point has recovered, monitoring will resume", "mountpoint", labels.mountPoint) delete(stuckMounts, labels.mountPoint) } stuckMountsMtx.Unlock() if err != nil { labels.deviceError = err.Error() - level.Debug(c.logger).Log("msg", "Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err) + c.logger.Debug("Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err) return filesystemStats{ labels: labels, deviceError: 1, @@ -157,7 +156,7 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta // stuckMountWatcher listens on the given success channel and if the channel closes // then the watcher does nothing. If instead the timeout is reached, the // mount point that is being watched is marked as stuck. -func stuckMountWatcher(mountPoint string, success chan struct{}, logger log.Logger) { +func stuckMountWatcher(mountPoint string, success chan struct{}, logger *slog.Logger) { mountCheckTimer := time.NewTimer(*mountTimeout) defer mountCheckTimer.Stop() select { @@ -170,18 +169,18 @@ func stuckMountWatcher(mountPoint string, success chan struct{}, logger log.Logg case <-success: // Success came in just after the timeout was reached, don't label the mount as stuck default: - level.Debug(logger).Log("msg", "Mount point timed out, it is being labeled as stuck and will not be monitored", "mountpoint", mountPoint) + logger.Debug("Mount point timed out, it is being labeled as stuck and will not be monitored", "mountpoint", mountPoint) stuckMounts[mountPoint] = struct{}{} } stuckMountsMtx.Unlock() } } -func mountPointDetails(logger log.Logger) ([]filesystemLabels, error) { +func mountPointDetails(logger *slog.Logger) ([]filesystemLabels, error) { file, err := os.Open(procFilePath("1/mountinfo")) if errors.Is(err, os.ErrNotExist) { // Fallback to `/proc/self/mountinfo` if `/proc/1/mountinfo` is missing due hidepid. - level.Debug(logger).Log("msg", "Reading root mounts failed, falling back to self mounts", "err", err) + logger.Debug("Reading root mounts failed, falling back to self mounts", "err", err) file, err = os.Open(procFilePath("self/mountinfo")) } if err != nil { diff --git a/collector/filesystem_linux_test.go b/collector/filesystem_linux_test.go index e29385527c..d088598f3c 100644 --- a/collector/filesystem_linux_test.go +++ b/collector/filesystem_linux_test.go @@ -17,11 +17,12 @@ package collector import ( + "io" + "log/slog" "strings" "testing" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" ) func Test_parseFilesystemLabelsError(t *testing.T) { @@ -82,7 +83,7 @@ func TestMountPointDetails(t *testing.T) { "/var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[vsanDatastore] bafb9e5a-8856-7e6c-699c-801844e77a4a/kubernetes-dynamic-pvc-3eba5bba-48a3-11e8-89ab-005056b92113.vmdk": "", } - filesystems, err := mountPointDetails(log.NewNopLogger()) + filesystems, err := mountPointDetails(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Log(err) } @@ -111,7 +112,7 @@ func TestMountsFallback(t *testing.T) { "/": "", } - filesystems, err := mountPointDetails(log.NewNopLogger()) + filesystems, err := mountPointDetails(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Log(err) } @@ -139,7 +140,7 @@ func TestPathRootfs(t *testing.T) { "/sys/fs/cgroup": "", } - filesystems, err := mountPointDetails(log.NewNopLogger()) + filesystems, err := mountPointDetails(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Log(err) } diff --git a/collector/filesystem_openbsd.go b/collector/filesystem_openbsd.go index 1c1e479e1f..d7489364f9 100644 --- a/collector/filesystem_openbsd.go +++ b/collector/filesystem_openbsd.go @@ -17,7 +17,6 @@ package collector import ( - "github.com/go-kit/log/level" "golang.org/x/sys/unix" ) @@ -43,14 +42,14 @@ func (c *filesystemCollector) GetStats() (stats []filesystemStats, err error) { for _, v := range mnt { mountpoint := unix.ByteSliceToString(v.F_mntonname[:]) if c.excludedMountPointsPattern.MatchString(mountpoint) { - level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) + c.logger.Debug("Ignoring mount point", "mountpoint", mountpoint) continue } device := unix.ByteSliceToString(v.F_mntfromname[:]) fstype := unix.ByteSliceToString(v.F_fstypename[:]) if c.excludedFSTypesPattern.MatchString(fstype) { - level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) + c.logger.Debug("Ignoring fs type", "type", fstype) continue } diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index ed46f0f808..3d53995c8d 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -18,6 +18,7 @@ package collector import ( "errors" + "log/slog" "os" "path/filepath" "regexp" @@ -25,8 +26,6 @@ import ( "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -55,12 +54,12 @@ func init() { type hwMonCollector struct { deviceFilter deviceFilter sensorFilter deviceFilter - logger log.Logger + logger *slog.Logger } // NewHwMonCollector returns a new Collector exposing /sys/class/hwmon stats // (similar to lm-sensors). -func NewHwMonCollector(logger log.Logger) (Collector, error) { +func NewHwMonCollector(logger *slog.Logger) (Collector, error) { return &hwMonCollector{ logger: logger, @@ -168,7 +167,7 @@ func (c *hwMonCollector) updateHwmon(ch chan<- prometheus.Metric, dir string) er } if c.deviceFilter.ignored(hwmonName) { - level.Debug(c.logger).Log("msg", "ignoring hwmon chip", "chip", hwmonName) + c.logger.Debug("ignoring hwmon chip", "chip", hwmonName) return nil } @@ -211,7 +210,7 @@ func (c *hwMonCollector) updateHwmon(ch chan<- prometheus.Metric, dir string) er // sensors on specific devices. For example, to exclude the sensor "temp3" on // the device "platform_coretemp_0", use "platform_coretemp_0;temp3" if c.sensorFilter.ignored(hwmonName + ";" + sensor) { - level.Debug(c.logger).Log("msg", "ignoring sensor", "sensor", sensor) + c.logger.Debug("ignoring sensor", "sensor", sensor) continue } @@ -450,7 +449,7 @@ func (c *hwMonCollector) Update(ch chan<- prometheus.Metric) error { hwmonFiles, err := os.ReadDir(hwmonPathName) if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "hwmon collector metrics are not available for this system") + c.logger.Debug("hwmon collector metrics are not available for this system") return ErrNoData } diff --git a/collector/infiniband_linux.go b/collector/infiniband_linux.go index b0928da3cf..7b1c438157 100644 --- a/collector/infiniband_linux.go +++ b/collector/infiniband_linux.go @@ -19,11 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "strconv" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -31,7 +30,7 @@ import ( type infinibandCollector struct { fs sysfs.FS metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger subsystem string } @@ -40,7 +39,7 @@ func init() { } // NewInfiniBandCollector returns a new Collector exposing InfiniBand stats. -func NewInfiniBandCollector(logger log.Logger) (Collector, error) { +func NewInfiniBandCollector(logger *slog.Logger) (Collector, error) { var i infinibandCollector var err error @@ -116,7 +115,7 @@ func (c *infinibandCollector) Update(ch chan<- prometheus.Metric) error { devices, err := c.fs.InfiniBandClass() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "infiniband statistics not found, skipping") + c.logger.Debug("infiniband statistics not found, skipping") return ErrNoData } return fmt.Errorf("error obtaining InfiniBand class info: %w", err) diff --git a/collector/interrupts_common.go b/collector/interrupts_common.go index a0996e91f4..08baa1060d 100644 --- a/collector/interrupts_common.go +++ b/collector/interrupts_common.go @@ -19,13 +19,13 @@ package collector import ( "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) type interruptsCollector struct { desc typedDesc - logger log.Logger + logger *slog.Logger nameFilter deviceFilter includeZeros bool } @@ -41,7 +41,7 @@ var ( ) // NewInterruptsCollector returns a new Collector exposing interrupts stats. -func NewInterruptsCollector(logger log.Logger) (Collector, error) { +func NewInterruptsCollector(logger *slog.Logger) (Collector, error) { return &interruptsCollector{ desc: typedDesc{prometheus.NewDesc( namespace+"_interrupts_total", diff --git a/collector/interrupts_linux.go b/collector/interrupts_linux.go index 3d3bd03762..77caf423c0 100644 --- a/collector/interrupts_linux.go +++ b/collector/interrupts_linux.go @@ -25,7 +25,6 @@ import ( "strconv" "strings" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -42,7 +41,7 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) (err error) { for cpuNo, value := range interrupt.values { filterName := name + ";" + interrupt.info + ";" + interrupt.devices if c.nameFilter.ignored(filterName) { - level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + c.logger.Debug("ignoring interrupt name", "filter_name", filterName) continue } fv, err := strconv.ParseFloat(value, 64) @@ -50,7 +49,7 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) (err error) { return fmt.Errorf("invalid value %s in interrupts: %w", value, err) } if !c.includeZeros && fv == 0.0 { - level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + c.logger.Debug("ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) continue } ch <- c.desc.mustNewConstMetric(fv, strconv.Itoa(cpuNo), name, interrupt.info, interrupt.devices) diff --git a/collector/interrupts_openbsd.go b/collector/interrupts_openbsd.go index 049f640764..60fcbf1d74 100644 --- a/collector/interrupts_openbsd.go +++ b/collector/interrupts_openbsd.go @@ -20,7 +20,6 @@ import ( "fmt" "strconv" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -110,11 +109,11 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) error { interruptType := fmt.Sprintf("%d", interrupt.vector) filterName := interruptType + ";" + dev if c.nameFilter.ignored(filterName) { - level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + c.logger.Debug("ignoring interrupt name", "filter_name", filterName) continue } if !c.includeZeros && value == 0.0 { - level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + c.logger.Debug("ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) continue } ch <- c.desc.mustNewConstMetric( diff --git a/collector/interrupts_openbsd_amd64.go b/collector/interrupts_openbsd_amd64.go index 4ce4edfdba..69851a222f 100644 --- a/collector/interrupts_openbsd_amd64.go +++ b/collector/interrupts_openbsd_amd64.go @@ -21,7 +21,6 @@ import ( "strconv" "unsafe" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -81,11 +80,11 @@ func (c *interruptsCollector) Update(ch chan<- prometheus.Metric) error { interruptType := fmt.Sprintf("%d", interrupt.vector) filterName := interruptType + ";" + dev if c.nameFilter.ignored(filterName) { - level.Debug(c.logger).Log("msg", "ignoring interrupt name", "filter_name", filterName) + c.logger.Debug("ignoring interrupt name", "filter_name", filterName) continue } if !c.includeZeros && value == 0.0 { - level.Debug(c.logger).Log("msg", "ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) + c.logger.Debug("ignoring interrupt with zero value", "filter_name", filterName, "cpu", cpuNo) continue } ch <- c.desc.mustNewConstMetric( diff --git a/collector/ipvs_linux.go b/collector/ipvs_linux.go index 63a3a1a8a8..7d7bae54a6 100644 --- a/collector/ipvs_linux.go +++ b/collector/ipvs_linux.go @@ -19,14 +19,13 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "sort" "strconv" "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -37,7 +36,7 @@ type ipvsCollector struct { backendLabels []string backendConnectionsActive, backendConnectionsInact, backendWeight typedDesc connections, incomingPackets, outgoingPackets, incomingBytes, outgoingBytes typedDesc - logger log.Logger + logger *slog.Logger } type ipvsBackendStatus struct { @@ -73,11 +72,11 @@ func init() { // NewIPVSCollector sets up a new collector for IPVS metrics. It accepts the // "procfs" config parameter to override the default proc location (/proc). -func NewIPVSCollector(logger log.Logger) (Collector, error) { +func NewIPVSCollector(logger *slog.Logger) (Collector, error) { return newIPVSCollector(logger) } -func newIPVSCollector(logger log.Logger) (*ipvsCollector, error) { +func newIPVSCollector(logger *slog.Logger) (*ipvsCollector, error) { var ( c ipvsCollector err error @@ -143,7 +142,7 @@ func (c *ipvsCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { // Cannot access ipvs metrics, report no error. if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "ipvs collector metrics are not available for this system") + c.logger.Debug("ipvs collector metrics are not available for this system") return ErrNoData } return fmt.Errorf("could not get IPVS stats: %w", err) diff --git a/collector/ipvs_linux_test.go b/collector/ipvs_linux_test.go index 6ee41b299b..bc3e40f975 100644 --- a/collector/ipvs_linux_test.go +++ b/collector/ipvs_linux_test.go @@ -19,14 +19,14 @@ package collector import ( "errors" "fmt" + "io" + "log/slog" "net/http" "net/http/httptest" "os" "strings" "testing" - "github.com/go-kit/log" - "github.com/alecthomas/kingpin/v2" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -114,7 +114,7 @@ func TestIPVSCollector(t *testing.T) { if _, err := kingpin.CommandLine.Parse(args); err != nil { t.Fatal(err) } - collector, err := newIPVSCollector(log.NewNopLogger()) + collector, err := newIPVSCollector(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { if test.err == nil { t.Fatal(err) @@ -182,7 +182,7 @@ func TestIPVSCollectorResponse(t *testing.T) { if _, err := kingpin.CommandLine.Parse(args); err != nil { t.Fatal(err) } - collector, err := NewIPVSCollector(log.NewNopLogger()) + collector, err := NewIPVSCollector(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Fatal(err) } diff --git a/collector/ksmd_linux.go b/collector/ksmd_linux.go index 6d4142ae9a..d504fe300d 100644 --- a/collector/ksmd_linux.go +++ b/collector/ksmd_linux.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "path/filepath" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -31,7 +31,7 @@ var ( type ksmdCollector struct { metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -50,7 +50,7 @@ func getCanonicalMetricName(filename string) string { } // NewKsmdCollector returns a new Collector exposing kernel/system statistics. -func NewKsmdCollector(logger log.Logger) (Collector, error) { +func NewKsmdCollector(logger *slog.Logger) (Collector, error) { subsystem := "ksmd" descs := make(map[string]*prometheus.Desc) diff --git a/collector/lnstat_linux.go b/collector/lnstat_linux.go index b3c90dc06e..43bd7e0590 100644 --- a/collector/lnstat_linux.go +++ b/collector/lnstat_linux.go @@ -18,22 +18,22 @@ package collector import ( "fmt" + "log/slog" "strconv" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) type lnstatCollector struct { - logger log.Logger + logger *slog.Logger } func init() { registerCollector("lnstat", defaultDisabled, NewLnstatCollector) } -func NewLnstatCollector(logger log.Logger) (Collector, error) { +func NewLnstatCollector(logger *slog.Logger) (Collector, error) { return &lnstatCollector{logger}, nil } diff --git a/collector/loadavg.go b/collector/loadavg.go index cb7b2cb142..09280ebfd6 100644 --- a/collector/loadavg.go +++ b/collector/loadavg.go @@ -19,15 +19,14 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) type loadavgCollector struct { metric []typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -35,7 +34,7 @@ func init() { } // NewLoadavgCollector returns a new Collector exposing load average stats. -func NewLoadavgCollector(logger log.Logger) (Collector, error) { +func NewLoadavgCollector(logger *slog.Logger) (Collector, error) { return &loadavgCollector{ metric: []typedDesc{ {prometheus.NewDesc(namespace+"_load1", "1m load average.", nil, nil), prometheus.GaugeValue}, @@ -52,7 +51,7 @@ func (c *loadavgCollector) Update(ch chan<- prometheus.Metric) error { return fmt.Errorf("couldn't get load: %w", err) } for i, load := range loads { - level.Debug(c.logger).Log("msg", "return load", "index", i, "load", load) + c.logger.Debug("return load", "index", i, "load", load) ch <- c.metric[i].mustNewConstMetric(load) } return err diff --git a/collector/logind_linux.go b/collector/logind_linux.go index de5b0d18ad..f5606ee123 100644 --- a/collector/logind_linux.go +++ b/collector/logind_linux.go @@ -18,10 +18,10 @@ package collector import ( "fmt" + "log/slog" "os" "strconv" - "github.com/go-kit/log" "github.com/godbus/dbus/v5" "github.com/prometheus/client_golang/prometheus" ) @@ -46,7 +46,7 @@ var ( ) type logindCollector struct { - logger log.Logger + logger *slog.Logger } type logindDbus struct { @@ -86,7 +86,7 @@ func init() { } // NewLogindCollector returns a new Collector exposing logind statistics. -func NewLogindCollector(logger log.Logger) (Collector, error) { +func NewLogindCollector(logger *slog.Logger) (Collector, error) { return &logindCollector{logger}, nil } diff --git a/collector/mdadm_linux.go b/collector/mdadm_linux.go index 89c56b75d0..5f274ca2a2 100644 --- a/collector/mdadm_linux.go +++ b/collector/mdadm_linux.go @@ -19,16 +19,15 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) type mdadmCollector struct { - logger log.Logger + logger *slog.Logger } func init() { @@ -36,7 +35,7 @@ func init() { } // NewMdadmCollector returns a new Collector exposing raid statistics. -func NewMdadmCollector(logger log.Logger) (Collector, error) { +func NewMdadmCollector(logger *slog.Logger) (Collector, error) { return &mdadmCollector{logger}, nil } @@ -112,7 +111,7 @@ func (c *mdadmCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "Not collecting mdstat, file does not exist", "file", *procPath) + c.logger.Debug("Not collecting mdstat, file does not exist", "file", *procPath) return ErrNoData } @@ -120,7 +119,7 @@ func (c *mdadmCollector) Update(ch chan<- prometheus.Metric) error { } for _, mdStat := range mdStats { - level.Debug(c.logger).Log("msg", "collecting metrics for device", "device", mdStat.Name) + c.logger.Debug("collecting metrics for device", "device", mdStat.Name) stateVals := make(map[string]float64) stateVals[mdStat.ActivityState] = 1 diff --git a/collector/meminfo.go b/collector/meminfo.go index 0a6390d828..55e1360460 100644 --- a/collector/meminfo.go +++ b/collector/meminfo.go @@ -21,7 +21,6 @@ import ( "fmt" "strings" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -41,7 +40,7 @@ func (c *meminfoCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { return fmt.Errorf("couldn't get meminfo: %w", err) } - level.Debug(c.logger).Log("msg", "Set node_mem", "memInfo", fmt.Sprintf("%v", memInfo)) + c.logger.Debug("Set node_mem", "memInfo", fmt.Sprintf("%v", memInfo)) for k, v := range memInfo { if strings.HasSuffix(k, "_total") { metricType = prometheus.CounterValue diff --git a/collector/meminfo_darwin.go b/collector/meminfo_darwin.go index 21316fb57e..b5b10b4b92 100644 --- a/collector/meminfo_darwin.go +++ b/collector/meminfo_darwin.go @@ -24,18 +24,18 @@ import "C" import ( "encoding/binary" "fmt" + "log/slog" "unsafe" - "github.com/go-kit/log" "golang.org/x/sys/unix" ) type meminfoCollector struct { - logger log.Logger + logger *slog.Logger } // NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { return &meminfoCollector{ logger: logger, }, nil diff --git a/collector/meminfo_linux.go b/collector/meminfo_linux.go index 40e0699055..98d5a5c06b 100644 --- a/collector/meminfo_linux.go +++ b/collector/meminfo_linux.go @@ -18,18 +18,18 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/procfs" ) type meminfoCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger } // NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/meminfo_linux_test.go b/collector/meminfo_linux_test.go index 523426d0d0..41a0133fe5 100644 --- a/collector/meminfo_linux_test.go +++ b/collector/meminfo_linux_test.go @@ -17,15 +17,14 @@ package collector import ( - "os" + "io" + "log/slog" "testing" - - "github.com/go-kit/log" ) func TestMemInfo(t *testing.T) { *procPath = "fixtures/proc" - logger := log.NewLogfmtLogger(os.Stderr) + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) collector, err := NewMeminfoCollector(logger) if err != nil { diff --git a/collector/meminfo_netbsd.go b/collector/meminfo_netbsd.go index f8b131e51f..54d23a128e 100644 --- a/collector/meminfo_netbsd.go +++ b/collector/meminfo_netbsd.go @@ -17,16 +17,16 @@ package collector import ( - "github.com/go-kit/log" "golang.org/x/sys/unix" + "log/slog" ) type meminfoCollector struct { - logger log.Logger + logger *slog.Logger } // NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { return &meminfoCollector{ logger: logger, }, nil diff --git a/collector/meminfo_numa_linux.go b/collector/meminfo_numa_linux.go index 5ce08e99d9..fc26eba499 100644 --- a/collector/meminfo_numa_linux.go +++ b/collector/meminfo_numa_linux.go @@ -20,13 +20,13 @@ import ( "bufio" "fmt" "io" + "log/slog" "os" "path/filepath" "regexp" "strconv" "strings" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -45,7 +45,7 @@ type meminfoMetric struct { type meminfoNumaCollector struct { metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -53,7 +53,7 @@ func init() { } // NewMeminfoNumaCollector returns a new Collector exposing memory stats. -func NewMeminfoNumaCollector(logger log.Logger) (Collector, error) { +func NewMeminfoNumaCollector(logger *slog.Logger) (Collector, error) { return &meminfoNumaCollector{ metricDescs: map[string]*prometheus.Desc{}, logger: logger, diff --git a/collector/meminfo_openbsd.go b/collector/meminfo_openbsd.go index 4a4682a325..ca9f46ad8e 100644 --- a/collector/meminfo_openbsd.go +++ b/collector/meminfo_openbsd.go @@ -18,8 +18,7 @@ package collector import ( "fmt" - - "github.com/go-kit/log" + "log/slog" ) /* @@ -56,11 +55,11 @@ sysctl_bcstats(struct bcachestats *bcstats) import "C" type meminfoCollector struct { - logger log.Logger + logger *slog.Logger } // NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { return &meminfoCollector{ logger: logger, }, nil diff --git a/collector/meminfo_openbsd_amd64.go b/collector/meminfo_openbsd_amd64.go index 2f81c79ed4..906a36e41f 100644 --- a/collector/meminfo_openbsd_amd64.go +++ b/collector/meminfo_openbsd_amd64.go @@ -17,9 +17,9 @@ package collector import ( + "log/slog" "unsafe" - "github.com/go-kit/log" "golang.org/x/sys/unix" ) @@ -51,11 +51,11 @@ type bcachestats struct { } type meminfoCollector struct { - logger log.Logger + logger *slog.Logger } // NewMeminfoCollector returns a new Collector exposing memory stats. -func NewMeminfoCollector(logger log.Logger) (Collector, error) { +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { return &meminfoCollector{ logger: logger, }, nil diff --git a/collector/memory_bsd.go b/collector/memory_bsd.go index 6af9d8aaa4..1c3710523d 100644 --- a/collector/memory_bsd.go +++ b/collector/memory_bsd.go @@ -19,8 +19,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -33,7 +33,7 @@ type memoryCollector struct { pageSize uint64 sysctls []bsdSysctl kvm kvm - logger log.Logger + logger *slog.Logger } func init() { @@ -41,7 +41,7 @@ func init() { } // NewMemoryCollector returns a new Collector exposing memory stats. -func NewMemoryCollector(logger log.Logger) (Collector, error) { +func NewMemoryCollector(logger *slog.Logger) (Collector, error) { tmp32, err := unix.SysctlUint32("vm.stats.vm.v_page_size") if err != nil { return nil, fmt.Errorf("sysctl(vm.stats.vm.v_page_size) failed: %w", err) diff --git a/collector/mountstats_linux.go b/collector/mountstats_linux.go index cdd84ea16c..03f1a9b676 100644 --- a/collector/mountstats_linux.go +++ b/collector/mountstats_linux.go @@ -18,9 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -96,7 +95,7 @@ type mountStatsCollector struct { proc procfs.Proc - logger log.Logger + logger *slog.Logger } // used to uniquely identify an NFS mount to prevent duplicates @@ -111,7 +110,7 @@ func init() { } // NewMountStatsCollector returns a new Collector exposing NFS statistics. -func NewMountStatsCollector(logger log.Logger) (Collector, error) { +func NewMountStatsCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -542,7 +541,7 @@ func (c *mountStatsCollector) Update(ch chan<- prometheus.Metric) error { deviceIdentifier := nfsDeviceIdentifier{m.Device, stats.Transport[k].Protocol, mountAddress} i := deviceList[deviceIdentifier] if i { - level.Debug(c.logger).Log("msg", "Skipping duplicate device entry", "device", deviceIdentifier) + c.logger.Debug("Skipping duplicate device entry", "device", deviceIdentifier) break } deviceList[deviceIdentifier] = true diff --git a/collector/netclass_linux.go b/collector/netclass_linux.go index 327c89aaf4..87763c3b6e 100644 --- a/collector/netclass_linux.go +++ b/collector/netclass_linux.go @@ -19,14 +19,13 @@ package collector import ( "errors" "fmt" + "log/slog" "net" "os" "regexp" "sync" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -43,7 +42,7 @@ type netClassCollector struct { ignoredDevicesPattern *regexp.Regexp metricDescs map[string]*prometheus.Desc metricDescsMu sync.Mutex - logger log.Logger + logger *slog.Logger } func init() { @@ -51,7 +50,7 @@ func init() { } // NewNetClassCollector returns a new Collector exposing network class stats. -func NewNetClassCollector(logger log.Logger) (Collector, error) { +func NewNetClassCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -77,7 +76,7 @@ func (c *netClassCollector) netClassSysfsUpdate(ch chan<- prometheus.Metric) err netClass, err := c.getNetClassInfo() if err != nil { if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "Could not read netclass file", "err", err) + c.logger.Debug("Could not read netclass file", "err", err) return ErrNoData } return fmt.Errorf("could not get net class info: %w", err) diff --git a/collector/netclass_rtnl_linux.go b/collector/netclass_rtnl_linux.go index ef963715e5..96feb8bc68 100644 --- a/collector/netclass_rtnl_linux.go +++ b/collector/netclass_rtnl_linux.go @@ -23,7 +23,6 @@ import ( "path/filepath" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log/level" "github.com/jsimonetti/rtnetlink" "github.com/mdlayher/ethtool" "github.com/prometheus/client_golang/prometheus" @@ -45,7 +44,7 @@ func (c *netClassCollector) netClassRTNLUpdate(ch chan<- prometheus.Metric) erro if !errors.Is(errors.Unwrap(err), fs.ErrNotExist) { return fmt.Errorf("could not get link modes: %w", err) } - level.Info(c.logger).Log("msg", "ETHTOOL netlink interface unavailable, duplex and linkspeed are not scraped.") + c.logger.Info("ETHTOOL netlink interface unavailable, duplex and linkspeed are not scraped.") } else { for _, lm := range lms { if c.ignoredDevicesPattern.MatchString(lm.Interface.Name) { diff --git a/collector/netdev_bsd.go b/collector/netdev_bsd.go index 691bbec4ad..2c3e7f4cd0 100644 --- a/collector/netdev_bsd.go +++ b/collector/netdev_bsd.go @@ -19,9 +19,7 @@ package collector import ( "errors" - - "github.com/go-kit/log" - "github.com/go-kit/log/level" + "log/slog" ) /* @@ -34,7 +32,7 @@ import ( */ import "C" -func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { netDev := netDevStats{} var ifap, ifa *C.struct_ifaddrs @@ -50,7 +48,7 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error dev := C.GoString(ifa.ifa_name) if filter.ignored(dev) { - level.Debug(logger).Log("msg", "Ignoring device", "device", dev) + logger.Debug("Ignoring device", "device", dev) continue } diff --git a/collector/netdev_common.go b/collector/netdev_common.go index c6abd7ac0a..893f6afa89 100644 --- a/collector/netdev_common.go +++ b/collector/netdev_common.go @@ -20,13 +20,12 @@ package collector import ( "errors" "fmt" + "log/slog" "net" "strconv" "sync" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -44,7 +43,7 @@ type netDevCollector struct { deviceFilter deviceFilter metricDescsMutex sync.Mutex metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger } type netDevStats map[string]map[string]uint64 @@ -54,10 +53,10 @@ func init() { } // NewNetDevCollector returns a new Collector exposing network device stats. -func NewNetDevCollector(logger log.Logger) (Collector, error) { +func NewNetDevCollector(logger *slog.Logger) (Collector, error) { if *oldNetdevDeviceInclude != "" { if *netdevDeviceInclude == "" { - level.Warn(logger).Log("msg", "--collector.netdev.device-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-include") + logger.Warn("--collector.netdev.device-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-include") *netdevDeviceInclude = *oldNetdevDeviceInclude } else { return nil, errors.New("--collector.netdev.device-whitelist and --collector.netdev.device-include are mutually exclusive") @@ -66,7 +65,7 @@ func NewNetDevCollector(logger log.Logger) (Collector, error) { if *oldNetdevDeviceExclude != "" { if *netdevDeviceExclude == "" { - level.Warn(logger).Log("msg", "--collector.netdev.device-blacklist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-exclude") + logger.Warn("--collector.netdev.device-blacklist is DEPRECATED and will be removed in 2.0.0, use --collector.netdev.device-exclude") *netdevDeviceExclude = *oldNetdevDeviceExclude } else { return nil, errors.New("--collector.netdev.device-blacklist and --collector.netdev.device-exclude are mutually exclusive") @@ -78,11 +77,11 @@ func NewNetDevCollector(logger log.Logger) (Collector, error) { } if *netdevDeviceExclude != "" { - level.Info(logger).Log("msg", "Parsed flag --collector.netdev.device-exclude", "flag", *netdevDeviceExclude) + logger.Info("Parsed flag --collector.netdev.device-exclude", "flag", *netdevDeviceExclude) } if *netdevDeviceInclude != "" { - level.Info(logger).Log("msg", "Parsed Flag --collector.netdev.device-include", "flag", *netdevDeviceInclude) + logger.Info("Parsed Flag --collector.netdev.device-include", "flag", *netdevDeviceInclude) } return &netDevCollector{ diff --git a/collector/netdev_darwin.go b/collector/netdev_darwin.go index e3d50e2692..2367ebe5c6 100644 --- a/collector/netdev_darwin.go +++ b/collector/netdev_darwin.go @@ -20,14 +20,13 @@ import ( "bytes" "encoding/binary" "fmt" + "log/slog" "net" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "golang.org/x/sys/unix" ) -func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { netDev := netDevStats{} ifs, err := net.Interfaces() @@ -37,13 +36,13 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error for _, iface := range ifs { if filter.ignored(iface.Name) { - level.Debug(logger).Log("msg", "Ignoring device", "device", iface.Name) + logger.Debug("Ignoring device", "device", iface.Name) continue } ifaceData, err := getIfaceData(iface.Index) if err != nil { - level.Debug(logger).Log("msg", "failed to load data for interface", "device", iface.Name, "err", err) + logger.Debug("failed to load data for interface", "device", iface.Name, "err", err) continue } diff --git a/collector/netdev_linux.go b/collector/netdev_linux.go index 0767c70615..f449980a1d 100644 --- a/collector/netdev_linux.go +++ b/collector/netdev_linux.go @@ -18,10 +18,9 @@ package collector import ( "fmt" + "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/jsimonetti/rtnetlink" "github.com/prometheus/procfs" "github.com/prometheus/procfs/sysfs" @@ -32,14 +31,14 @@ var ( netdevLabelIfAlias = kingpin.Flag("collector.netdev.label-ifalias", "Add ifAlias label").Default("false").Bool() ) -func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { if *netDevNetlink { return netlinkStats(filter, logger) } return procNetDevStats(filter, logger) } -func netlinkStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func netlinkStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { conn, err := rtnetlink.Dial(nil) if err != nil { return nil, err @@ -54,12 +53,12 @@ func netlinkStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) return parseNetlinkStats(links, filter, logger), nil } -func parseNetlinkStats(links []rtnetlink.LinkMessage, filter *deviceFilter, logger log.Logger) netDevStats { +func parseNetlinkStats(links []rtnetlink.LinkMessage, filter *deviceFilter, logger *slog.Logger) netDevStats { metrics := netDevStats{} for _, msg := range links { if msg.Attributes == nil { - level.Debug(logger).Log("msg", "No netlink attributes, skipping") + logger.Debug("No netlink attributes, skipping") continue } name := msg.Attributes.Name @@ -95,13 +94,13 @@ func parseNetlinkStats(links []rtnetlink.LinkMessage, filter *deviceFilter, logg } if filter.ignored(name) { - level.Debug(logger).Log("msg", "Ignoring device", "device", name) + logger.Debug("Ignoring device", "device", name) continue } // Make sure we don't panic when accessing `stats` attributes below. if stats == nil { - level.Debug(logger).Log("msg", "No netlink stats, skipping") + logger.Debug("No netlink stats, skipping") continue } @@ -143,7 +142,7 @@ func parseNetlinkStats(links []rtnetlink.LinkMessage, filter *deviceFilter, logg return metrics } -func procNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func procNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { metrics := netDevStats{} fs, err := procfs.NewFS(*procPath) @@ -160,7 +159,7 @@ func procNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, erro name := stats.Name if filter.ignored(name) { - level.Debug(logger).Log("msg", "Ignoring device", "device", name) + logger.Debug("Ignoring device", "device", name) continue } diff --git a/collector/netdev_linux_test.go b/collector/netdev_linux_test.go index 7909d01821..cb27a81b0a 100644 --- a/collector/netdev_linux_test.go +++ b/collector/netdev_linux_test.go @@ -17,10 +17,10 @@ package collector import ( + "io" + "log/slog" "testing" - "github.com/go-kit/log" - "github.com/jsimonetti/rtnetlink" ) @@ -166,7 +166,7 @@ var links = []rtnetlink.LinkMessage{ func TestNetDevStatsIgnore(t *testing.T) { filter := newDeviceFilter("^veth", "") - netStats := parseNetlinkStats(links, &filter, log.NewNopLogger()) + netStats := parseNetlinkStats(links, &filter, slog.New(slog.NewTextHandler(io.Discard, nil))) if want, got := uint64(10437182923), netStats["wlan0"]["receive_bytes"]; want != got { t.Errorf("want netstat wlan0 bytes %v, got %v", want, got) @@ -199,7 +199,7 @@ func TestNetDevStatsIgnore(t *testing.T) { func TestNetDevStatsAccept(t *testing.T) { filter := newDeviceFilter("", "^💩0$") - netStats := parseNetlinkStats(links, &filter, log.NewNopLogger()) + netStats := parseNetlinkStats(links, &filter, slog.New(slog.NewTextHandler(io.Discard, nil))) if want, got := 1, len(netStats); want != got { t.Errorf("want count of devices to be %d, got %d", want, got) @@ -230,7 +230,7 @@ func TestNetDevLegacyMetricNames(t *testing.T) { } filter := newDeviceFilter("", "") - netStats := parseNetlinkStats(links, &filter, log.NewNopLogger()) + netStats := parseNetlinkStats(links, &filter, slog.New(slog.NewTextHandler(io.Discard, nil))) for dev, devStats := range netStats { legacy(devStats) @@ -263,7 +263,7 @@ func TestNetDevLegacyMetricValues(t *testing.T) { } filter := newDeviceFilter("", "^enp0s0f0$") - netStats := parseNetlinkStats(links, &filter, log.NewNopLogger()) + netStats := parseNetlinkStats(links, &filter, slog.New(slog.NewTextHandler(io.Discard, nil))) metrics, ok := netStats["enp0s0f0"] if !ok { t.Error("expected stats for interface enp0s0f0") @@ -285,7 +285,7 @@ func TestNetDevLegacyMetricValues(t *testing.T) { func TestNetDevMetricValues(t *testing.T) { filter := newDeviceFilter("", "") - netStats := parseNetlinkStats(links, &filter, log.NewNopLogger()) + netStats := parseNetlinkStats(links, &filter, slog.New(slog.NewTextHandler(io.Discard, nil))) for _, msg := range links { device := msg.Attributes.Name diff --git a/collector/netdev_openbsd.go b/collector/netdev_openbsd.go index 177309fd54..31c2640bb6 100644 --- a/collector/netdev_openbsd.go +++ b/collector/netdev_openbsd.go @@ -18,9 +18,7 @@ package collector import ( "errors" - - "github.com/go-kit/log" - "github.com/go-kit/log/level" + "log/slog" ) /* @@ -31,7 +29,7 @@ import ( */ import "C" -func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { netDev := netDevStats{} var ifap, ifa *C.struct_ifaddrs @@ -47,7 +45,7 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error dev := C.GoString(ifa.ifa_name) if filter.ignored(dev) { - level.Debug(logger).Log("msg", "Ignoring device", "device", dev) + logger.Debug("Ignoring device", "device", dev) continue } diff --git a/collector/netdev_openbsd_amd64.go b/collector/netdev_openbsd_amd64.go index 25702c12d1..e98571648e 100644 --- a/collector/netdev_openbsd_amd64.go +++ b/collector/netdev_openbsd_amd64.go @@ -17,15 +17,14 @@ package collector import ( - "github.com/go-kit/log" - "github.com/go-kit/log/level" + "log/slog" "unsafe" "golang.org/x/sys/unix" ) -func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error) { +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { netDev := netDevStats{} mib := [6]_C_int{unix.CTL_NET, unix.AF_ROUTE, 0, 0, unix.NET_RT_IFLIST, 0} @@ -55,7 +54,7 @@ func getNetDevStats(filter *deviceFilter, logger log.Logger) (netDevStats, error data := ifm.Data dev := int8ToString(dl.Data[:dl.Nlen]) if filter.ignored(dev) { - level.Debug(logger).Log("msg", "Ignoring device", "device", dev) + logger.Debug("Ignoring device", "device", dev) continue } diff --git a/collector/netisr_freebsd.go b/collector/netisr_freebsd.go index 442bcdc6a7..b3a4451c5c 100644 --- a/collector/netisr_freebsd.go +++ b/collector/netisr_freebsd.go @@ -18,14 +18,14 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) type netisrCollector struct { sysctls []bsdSysctl - logger log.Logger + logger *slog.Logger } const ( @@ -36,7 +36,7 @@ func init() { registerCollector("netisr", defaultEnabled, NewNetisrCollector) } -func NewNetisrCollector(logger log.Logger) (Collector, error) { +func NewNetisrCollector(logger *slog.Logger) (Collector, error) { return &netisrCollector{ sysctls: []bsdSysctl{ { diff --git a/collector/netstat_linux.go b/collector/netstat_linux.go index afbf8d5835..1aa9234004 100644 --- a/collector/netstat_linux.go +++ b/collector/netstat_linux.go @@ -21,13 +21,13 @@ import ( "errors" "fmt" "io" + "log/slog" "os" "regexp" "strconv" "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -41,7 +41,7 @@ var ( type netStatCollector struct { fieldPattern *regexp.Regexp - logger log.Logger + logger *slog.Logger } func init() { @@ -50,7 +50,7 @@ func init() { // NewNetStatCollector takes and returns // a new Collector exposing network stats. -func NewNetStatCollector(logger log.Logger) (Collector, error) { +func NewNetStatCollector(logger *slog.Logger) (Collector, error) { pattern := regexp.MustCompile(*netStatFields) return &netStatCollector{ fieldPattern: pattern, diff --git a/collector/network_route_linux.go b/collector/network_route_linux.go index c77e175109..8eb141d633 100644 --- a/collector/network_route_linux.go +++ b/collector/network_route_linux.go @@ -19,10 +19,10 @@ package collector import ( "fmt" "golang.org/x/sys/unix" + "log/slog" "net" "strconv" - "github.com/go-kit/log" "github.com/jsimonetti/rtnetlink" "github.com/prometheus/client_golang/prometheus" ) @@ -30,7 +30,7 @@ import ( type networkRouteCollector struct { routeInfoDesc *prometheus.Desc routesDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -38,7 +38,7 @@ func init() { } // NewNetworkRouteCollector returns a new Collector exposing systemd statistics. -func NewNetworkRouteCollector(logger log.Logger) (Collector, error) { +func NewNetworkRouteCollector(logger *slog.Logger) (Collector, error) { const subsystem = "network" routeInfoDesc := prometheus.NewDesc( diff --git a/collector/nfs_linux.go b/collector/nfs_linux.go index e08acdbad7..ea2a1b5259 100644 --- a/collector/nfs_linux.go +++ b/collector/nfs_linux.go @@ -19,11 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "reflect" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/nfs" ) @@ -40,7 +39,7 @@ type nfsCollector struct { nfsRPCRetransmissionsDesc *prometheus.Desc nfsRPCAuthenticationRefreshesDesc *prometheus.Desc nfsProceduresDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -48,7 +47,7 @@ func init() { } // NewNfsCollector returns a new Collector exposing NFS statistics. -func NewNfsCollector(logger log.Logger) (Collector, error) { +func NewNfsCollector(logger *slog.Logger) (Collector, error) { fs, err := nfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -100,7 +99,7 @@ func (c *nfsCollector) Update(ch chan<- prometheus.Metric) error { stats, err := c.fs.ClientRPCStats() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "Not collecting NFS metrics", "err", err) + c.logger.Debug("Not collecting NFS metrics", "err", err) return ErrNoData } return fmt.Errorf("failed to retrieve nfs stats: %w", err) diff --git a/collector/nfsd_linux.go b/collector/nfsd_linux.go index 8b310ea23c..7f1bc24072 100644 --- a/collector/nfsd_linux.go +++ b/collector/nfsd_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/nfs" ) @@ -32,7 +31,7 @@ import ( type nfsdCollector struct { fs nfs.FS requestsDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -44,7 +43,7 @@ const ( ) // NewNFSdCollector returns a new Collector exposing /proc/net/rpc/nfsd statistics. -func NewNFSdCollector(logger log.Logger) (Collector, error) { +func NewNFSdCollector(logger *slog.Logger) (Collector, error) { fs, err := nfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -66,7 +65,7 @@ func (c *nfsdCollector) Update(ch chan<- prometheus.Metric) error { stats, err := c.fs.ServerRPCStats() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "Not collecting NFSd metrics", "err", err) + c.logger.Debug("Not collecting NFSd metrics", "err", err) return ErrNoData } return fmt.Errorf("failed to retrieve nfsd stats: %w", err) diff --git a/collector/ntp.go b/collector/ntp.go index 8b8db8a950..10e639b1d9 100644 --- a/collector/ntp.go +++ b/collector/ntp.go @@ -18,14 +18,13 @@ package collector import ( "fmt" + "log/slog" "net" "sync" "time" "github.com/alecthomas/kingpin/v2" "github.com/beevik/ntp" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -51,7 +50,7 @@ var ( type ntpCollector struct { stratum, leap, rtt, offset, reftime, rootDelay, rootDispersion, sanity typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -62,7 +61,7 @@ func init() { // Default definition of "local" is: // - collector.ntp.server address is a loopback address (or collector.ntp.server-is-mine flag is turned on) // - the server is reachable with outgoin IP_TTL = 1 -func NewNtpCollector(logger log.Logger) (Collector, error) { +func NewNtpCollector(logger *slog.Logger) (Collector, error) { ipaddr := net.ParseIP(*ntpServer) if !*ntpServerIsLocal && (ipaddr == nil || !ipaddr.IsLoopback()) { return nil, fmt.Errorf("only IP address of local NTP server is valid for --collector.ntp.server") @@ -80,7 +79,7 @@ func NewNtpCollector(logger log.Logger) (Collector, error) { return nil, fmt.Errorf("invalid NTP port number %d; must be between 1 and 65535 inclusive", *ntpServerPort) } - level.Warn(logger).Log("msg", "This collector is deprecated and will be removed in the next major version release.") + logger.Warn("This collector is deprecated and will be removed in the next major version release.") return &ntpCollector{ stratum: typedDesc{prometheus.NewDesc( prometheus.BuildFQName(namespace, ntpSubsystem, "stratum"), diff --git a/collector/nvme_linux.go b/collector/nvme_linux.go index 81d4ab2985..d1a9a87b55 100644 --- a/collector/nvme_linux.go +++ b/collector/nvme_linux.go @@ -19,17 +19,16 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) type nvmeCollector struct { fs sysfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -37,7 +36,7 @@ func init() { } // NewNVMeCollector returns a new Collector exposing NVMe stats. -func NewNVMeCollector(logger log.Logger) (Collector, error) { +func NewNVMeCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -53,7 +52,7 @@ func (c *nvmeCollector) Update(ch chan<- prometheus.Metric) error { devices, err := c.fs.NVMeClass() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "nvme statistics not found, skipping") + c.logger.Debug("nvme statistics not found, skipping") return ErrNoData } return fmt.Errorf("error obtaining NVMe class info: %w", err) diff --git a/collector/os_release.go b/collector/os_release.go index 4c86740e61..06bba6ab7c 100644 --- a/collector/os_release.go +++ b/collector/os_release.go @@ -17,6 +17,7 @@ import ( "encoding/xml" "errors" "io" + "log/slog" "os" "regexp" "strconv" @@ -24,8 +25,6 @@ import ( "sync" "time" - "github.com/go-kit/log" - "github.com/go-kit/log/level" envparse "github.com/hashicorp/go-envparse" "github.com/prometheus/client_golang/prometheus" ) @@ -58,7 +57,7 @@ type osRelease struct { type osReleaseCollector struct { infoDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger os *osRelease osMutex sync.RWMutex osReleaseFilenames []string // all os-release file names to check @@ -82,7 +81,7 @@ func init() { } // NewOSCollector returns a new Collector exposing os-release information. -func NewOSCollector(logger log.Logger) (Collector, error) { +func NewOSCollector(logger *slog.Logger) (Collector, error) { return &osReleaseCollector{ logger: logger, infoDesc: prometheus.NewDesc( @@ -178,7 +177,7 @@ func (c *osReleaseCollector) Update(ch chan<- prometheus.Metric) error { } if errors.Is(err, os.ErrNotExist) { if i >= (len(c.osReleaseFilenames) - 1) { - level.Debug(c.logger).Log("msg", "no os-release file found", "files", strings.Join(c.osReleaseFilenames, ",")) + c.logger.Debug("no os-release file found", "files", strings.Join(c.osReleaseFilenames, ",")) return ErrNoData } continue diff --git a/collector/os_release_test.go b/collector/os_release_test.go index b45ee0edfa..e5d6b501f0 100644 --- a/collector/os_release_test.go +++ b/collector/os_release_test.go @@ -14,12 +14,12 @@ package collector import ( + "io" + "log/slog" "os" "reflect" "strings" "testing" - - "github.com/go-kit/log" ) const debianBullseye string = `PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" @@ -129,7 +129,7 @@ func TestUpdateStruct(t *testing.T) { } wantedVersion := 20.04 - collector, err := NewOSCollector(log.NewNopLogger()) + collector, err := NewOSCollector(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Fatal(err) } diff --git a/collector/perf_linux.go b/collector/perf_linux.go index 8934371ad0..b62d9b8016 100644 --- a/collector/perf_linux.go +++ b/collector/perf_linux.go @@ -18,13 +18,12 @@ package collector import ( "fmt" + "log/slog" "runtime" "strconv" "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/hodgesds/perf-utils" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" @@ -189,7 +188,7 @@ type perfCollector struct { perfSwProfilers map[int]*perf.SoftwareProfiler perfCacheProfilers map[int]*perf.CacheProfiler desc map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger tracepointCollector *perfTracepointCollector } @@ -199,7 +198,7 @@ type perfTracepointCollector struct { // collection order is the sorted configured collection order of the profiler. collectionOrder []string - logger log.Logger + logger *slog.Logger profilers map[int]perf.GroupProfiler } @@ -218,7 +217,7 @@ func (c *perfTracepointCollector) updateCPU(cpu int, ch chan<- prometheus.Metric profiler := c.profilers[cpu] p := &perf.GroupProfileValue{} if err := profiler.Profile(p); err != nil { - level.Error(c.logger).Log("msg", "Failed to collect tracepoint profile", "err", err) + c.logger.Error("Failed to collect tracepoint profile", "err", err) return err } @@ -240,7 +239,7 @@ func (c *perfTracepointCollector) updateCPU(cpu int, ch chan<- prometheus.Metric // newPerfTracepointCollector returns a configured perfTracepointCollector. func newPerfTracepointCollector( - logger log.Logger, + logger *slog.Logger, tracepointsFlag []string, cpus []int, ) (*perfTracepointCollector, error) { @@ -301,7 +300,7 @@ func newPerfTracepointCollector( // NewPerfCollector returns a new perf based collector, it creates a profiler // per CPU. -func NewPerfCollector(logger log.Logger) (Collector, error) { +func NewPerfCollector(logger *slog.Logger) (Collector, error) { collector := &perfCollector{ perfHwProfilers: map[int]*perf.HardwareProfiler{}, perfSwProfilers: map[int]*perf.SoftwareProfiler{}, diff --git a/collector/perf_linux_test.go b/collector/perf_linux_test.go index fc557ffd32..e385851153 100644 --- a/collector/perf_linux_test.go +++ b/collector/perf_linux_test.go @@ -17,13 +17,14 @@ package collector import ( + "io" + "log/slog" "os" "runtime" "strconv" "strings" "testing" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -44,7 +45,7 @@ func canTestPerf(t *testing.T) { func TestPerfCollector(t *testing.T) { canTestPerf(t) - collector, err := NewPerfCollector(log.NewNopLogger()) + collector, err := NewPerfCollector(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Fatal(err) } @@ -97,7 +98,7 @@ func TestPerfCollectorStride(t *testing.T) { } } perfCPUsFlag = &test.flag - collector, err := NewPerfCollector(log.NewNopLogger()) + collector, err := NewPerfCollector(slog.New(slog.NewTextHandler(io.Discard, nil))) if err != nil { t.Fatal(err) } diff --git a/collector/powersupplyclass.go b/collector/powersupplyclass.go index 7f231dac47..a5e648c098 100644 --- a/collector/powersupplyclass.go +++ b/collector/powersupplyclass.go @@ -18,10 +18,10 @@ package collector import ( + "log/slog" "regexp" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -33,14 +33,14 @@ type powerSupplyClassCollector struct { subsystem string ignoredPattern *regexp.Regexp metricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { registerCollector("powersupplyclass", defaultEnabled, NewPowerSupplyClassCollector) } -func NewPowerSupplyClassCollector(logger log.Logger) (Collector, error) { +func NewPowerSupplyClassCollector(logger *slog.Logger) (Collector, error) { pattern := regexp.MustCompile(*powerSupplyClassIgnoredPowerSupplies) return &powerSupplyClassCollector{ subsystem: "power_supply", diff --git a/collector/pressure_linux.go b/collector/pressure_linux.go index 36e0650562..7338b7e650 100644 --- a/collector/pressure_linux.go +++ b/collector/pressure_linux.go @@ -19,11 +19,10 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "syscall" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -42,7 +41,7 @@ type pressureStatsCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -50,7 +49,7 @@ func init() { } // NewPressureStatsCollector returns a Collector exposing pressure stall information -func NewPressureStatsCollector(logger log.Logger) (Collector, error) { +func NewPressureStatsCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -95,15 +94,15 @@ func NewPressureStatsCollector(logger log.Logger) (Collector, error) { // Update calls procfs.NewPSIStatsForResource for the different resources and updates the values func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { for _, res := range psiResources { - level.Debug(c.logger).Log("msg", "collecting statistics for resource", "resource", res) + c.logger.Debug("collecting statistics for resource", "resource", res) vals, err := c.fs.PSIStatsForResource(res) if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "pressure information is unavailable, you need a Linux kernel >= 4.20 and/or CONFIG_PSI enabled for your kernel") + c.logger.Debug("pressure information is unavailable, you need a Linux kernel >= 4.20 and/or CONFIG_PSI enabled for your kernel") return ErrNoData } if errors.Is(err, syscall.ENOTSUP) { - level.Debug(c.logger).Log("msg", "pressure information is disabled, add psi=1 kernel command line to enable it") + c.logger.Debug("pressure information is disabled, add psi=1 kernel command line to enable it") return ErrNoData } return fmt.Errorf("failed to retrieve pressure stats: %w", err) @@ -111,11 +110,11 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { // IRQ pressure does not have 'some' data. // See https://github.com/torvalds/linux/blob/v6.9/include/linux/psi_types.h#L65 if vals.Some == nil && res != "irq" { - level.Debug(c.logger).Log("msg", "pressure information returned no 'some' data") + c.logger.Debug("pressure information returned no 'some' data") return ErrNoData } if vals.Full == nil && res != "cpu" { - level.Debug(c.logger).Log("msg", "pressure information returned no 'full' data") + c.logger.Debug("pressure information returned no 'full' data") return ErrNoData } switch res { @@ -130,7 +129,7 @@ func (c *pressureStatsCollector) Update(ch chan<- prometheus.Metric) error { case "irq": ch <- prometheus.MustNewConstMetric(c.irqFull, prometheus.CounterValue, float64(vals.Full.Total)/1000.0/1000.0) default: - level.Debug(c.logger).Log("msg", "did not account for resource", "resource", res) + c.logger.Debug("did not account for resource", "resource", res) } } diff --git a/collector/processes_linux.go b/collector/processes_linux.go index 798aeaeb30..653045e553 100644 --- a/collector/processes_linux.go +++ b/collector/processes_linux.go @@ -19,14 +19,13 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "path" "strconv" "strings" "syscall" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -39,7 +38,7 @@ type processCollector struct { procsState *prometheus.Desc pidUsed *prometheus.Desc pidMax *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -47,7 +46,7 @@ func init() { } // NewProcessStatCollector returns a new Collector exposing process data read from the proc filesystem. -func NewProcessStatCollector(logger log.Logger) (Collector, error) { +func NewProcessStatCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -130,10 +129,10 @@ func (c *processCollector) getAllocatedThreads() (int, map[string]int32, int, ma if err != nil { // PIDs can vanish between getting the list and getting stats. if c.isIgnoredError(err) { - level.Debug(c.logger).Log("msg", "file not found when retrieving stats for pid", "pid", pid.PID, "err", err) + c.logger.Debug("file not found when retrieving stats for pid", "pid", pid.PID, "err", err) continue } - level.Debug(c.logger).Log("msg", "error reading stat for pid", "pid", pid.PID, "err", err) + c.logger.Debug("error reading stat for pid", "pid", pid.PID, "err", err) return 0, nil, 0, nil, fmt.Errorf("error reading stat for pid %d: %w", pid.PID, err) } pids++ @@ -151,17 +150,17 @@ func (c *processCollector) getThreadStates(pid int, pidStat procfs.ProcStat, thr fs, err := procfs.NewFS(procFilePath(path.Join(strconv.Itoa(pid), "task"))) if err != nil { if c.isIgnoredError(err) { - level.Debug(c.logger).Log("msg", "file not found when retrieving tasks for pid", "pid", pid, "err", err) + c.logger.Debug("file not found when retrieving tasks for pid", "pid", pid, "err", err) return nil } - level.Debug(c.logger).Log("msg", "error reading tasks for pid", "pid", pid, "err", err) + c.logger.Debug("error reading tasks for pid", "pid", pid, "err", err) return fmt.Errorf("error reading task for pid %d: %w", pid, err) } t, err := fs.AllProcs() if err != nil { if c.isIgnoredError(err) { - level.Debug(c.logger).Log("msg", "file not found when retrieving tasks for pid", "pid", pid, "err", err) + c.logger.Debug("file not found when retrieving tasks for pid", "pid", pid, "err", err) return nil } return fmt.Errorf("unable to list all threads for pid: %d %w", pid, err) @@ -175,10 +174,10 @@ func (c *processCollector) getThreadStates(pid int, pidStat procfs.ProcStat, thr threadStat, err := thread.Stat() if err != nil { if c.isIgnoredError(err) { - level.Debug(c.logger).Log("msg", "file not found when retrieving stats for thread", "pid", pid, "threadId", thread.PID, "err", err) + c.logger.Debug("file not found when retrieving stats for thread", "pid", pid, "threadId", thread.PID, "err", err) continue } - level.Debug(c.logger).Log("msg", "error reading stat for thread", "pid", pid, "threadId", thread.PID, "err", err) + c.logger.Debug("error reading stat for thread", "pid", pid, "threadId", thread.PID, "err", err) return fmt.Errorf("error reading stat for pid:%d thread:%d err:%w", pid, thread.PID, err) } threadStates[threadStat.State]++ diff --git a/collector/processes_linux_test.go b/collector/processes_linux_test.go index e2814a0104..c50d16c8db 100644 --- a/collector/processes_linux_test.go +++ b/collector/processes_linux_test.go @@ -17,10 +17,11 @@ package collector import ( + "io" + "log/slog" "testing" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/procfs" ) @@ -33,7 +34,7 @@ func TestReadProcessStatus(t *testing.T) { if err != nil { t.Errorf("failed to open procfs: %v", err) } - c := processCollector{fs: fs, logger: log.NewNopLogger()} + c := processCollector{fs: fs, logger: slog.New(slog.NewTextHandler(io.Discard, nil))} pids, states, threads, _, err := c.getAllocatedThreads() if err != nil { t.Fatalf("Cannot retrieve data from procfs getAllocatedThreads function: %v ", err) diff --git a/collector/qdisc_linux.go b/collector/qdisc_linux.go index 06ab6a88d6..93a78e3b19 100644 --- a/collector/qdisc_linux.go +++ b/collector/qdisc_linux.go @@ -19,18 +19,17 @@ package collector import ( "encoding/json" "fmt" + "log/slog" "os" "path/filepath" "github.com/alecthomas/kingpin/v2" "github.com/ema/qdisc" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) type qdiscStatCollector struct { - logger log.Logger + logger *slog.Logger deviceFilter deviceFilter bytes typedDesc packets typedDesc @@ -54,10 +53,10 @@ func init() { } // NewQdiscStatCollector returns a new Collector exposing queuing discipline statistics. -func NewQdiscStatCollector(logger log.Logger) (Collector, error) { +func NewQdiscStatCollector(logger *slog.Logger) (Collector, error) { if *oldCollectorQdiskDeviceInclude != "" { if *collectorQdiscDeviceInclude == "" { - level.Warn(logger).Log("msg", "--collector.qdisk.device-include is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-include") + logger.Warn("--collector.qdisk.device-include is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-include") *collectorQdiscDeviceInclude = *oldCollectorQdiskDeviceInclude } else { return nil, fmt.Errorf("--collector.qdisk.device-include and --collector.qdisc.device-include are mutually exclusive") @@ -66,7 +65,7 @@ func NewQdiscStatCollector(logger log.Logger) (Collector, error) { if *oldCollectorQdiskDeviceExclude != "" { if *collectorQdiscDeviceExclude == "" { - level.Warn(logger).Log("msg", "--collector.qdisk.device-exclude is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-exclude") + logger.Warn("--collector.qdisk.device-exclude is DEPRECATED and will be removed in 2.0.0, use --collector.qdisc.device-exclude") *collectorQdiscDeviceExclude = *oldCollectorQdiskDeviceExclude } else { return nil, fmt.Errorf("--collector.qdisk.device-exclude and --collector.qdisc.device-exclude are mutually exclusive") diff --git a/collector/rapl_linux.go b/collector/rapl_linux.go index 642de6c146..25d78f295c 100644 --- a/collector/rapl_linux.go +++ b/collector/rapl_linux.go @@ -19,12 +19,11 @@ package collector import ( "errors" "fmt" + "log/slog" "os" "strconv" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -33,7 +32,7 @@ const raplCollectorSubsystem = "rapl" type raplCollector struct { fs sysfs.FS - logger log.Logger + logger *slog.Logger joulesMetricDesc *prometheus.Desc } @@ -47,7 +46,7 @@ var ( ) // NewRaplCollector returns a new Collector exposing RAPL metrics. -func NewRaplCollector(logger log.Logger) (Collector, error) { +func NewRaplCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { @@ -74,11 +73,11 @@ func (c *raplCollector) Update(ch chan<- prometheus.Metric) error { zones, err := sysfs.GetRaplZones(c.fs) if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "Platform doesn't have powercap files present", "err", err) + c.logger.Debug("Platform doesn't have powercap files present", "err", err) return ErrNoData } if errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "Can't access powercap files", "err", err) + c.logger.Debug("Can't access powercap files", "err", err) return ErrNoData } return fmt.Errorf("failed to retrieve rapl stats: %w", err) @@ -88,7 +87,7 @@ func (c *raplCollector) Update(ch chan<- prometheus.Metric) error { microJoules, err := rz.GetEnergyMicrojoules() if err != nil { if errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "Can't access energy_uj file", "zone", rz, "err", err) + c.logger.Debug("Can't access energy_uj file", "zone", rz, "err", err) return ErrNoData } return err diff --git a/collector/runit.go b/collector/runit.go index 3cae657c33..8065d90c0c 100644 --- a/collector/runit.go +++ b/collector/runit.go @@ -18,10 +18,9 @@ package collector import ( "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus-community/go-runit/runit" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) var runitServiceDir = kingpin.Flag("collector.runit.servicedir", "Path to runit service directory.").Default("/etc/service").String() @@ -31,7 +30,7 @@ type runitCollector struct { stateDesired typedDesc stateNormal typedDesc stateTimestamp typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -39,14 +38,14 @@ func init() { } // NewRunitCollector returns a new Collector exposing runit statistics. -func NewRunitCollector(logger log.Logger) (Collector, error) { +func NewRunitCollector(logger *slog.Logger) (Collector, error) { var ( subsystem = "service" constLabels = prometheus.Labels{"supervisor": "runit"} labelNames = []string{"service"} ) - level.Warn(logger).Log("msg", "This collector is deprecated and will be removed in the next major version release.") + logger.Warn("This collector is deprecated and will be removed in the next major version release.") return &runitCollector{ state: typedDesc{prometheus.NewDesc( @@ -82,11 +81,11 @@ func (c *runitCollector) Update(ch chan<- prometheus.Metric) error { for _, service := range services { status, err := service.Status() if err != nil { - level.Debug(c.logger).Log("msg", "Couldn't get status", "service", service.Name, "err", err) + c.logger.Debug("Couldn't get status", "service", service.Name, "err", err) continue } - level.Debug(c.logger).Log("msg", "duration", "service", service.Name, "status", status.State, "pid", status.Pid, "duration_seconds", status.Duration) + c.logger.Debug("duration", "service", service.Name, "status", status.State, "pid", status.Pid, "duration_seconds", status.Duration) ch <- c.state.mustNewConstMetric(float64(status.State), service.Name) ch <- c.stateDesired.mustNewConstMetric(float64(status.Want), service.Name) ch <- c.stateTimestamp.mustNewConstMetric(float64(status.Timestamp.Unix()), service.Name) diff --git a/collector/schedstat_linux.go b/collector/schedstat_linux.go index e5016561da..59b2bd8e1e 100644 --- a/collector/schedstat_linux.go +++ b/collector/schedstat_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -53,7 +52,7 @@ var ( ) // NewSchedstatCollector returns a new Collector exposing task scheduler statistics -func NewSchedstatCollector(logger log.Logger) (Collector, error) { +func NewSchedstatCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -64,7 +63,7 @@ func NewSchedstatCollector(logger log.Logger) (Collector, error) { type schedstatCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -75,7 +74,7 @@ func (c *schedstatCollector) Update(ch chan<- prometheus.Metric) error { stats, err := c.fs.Schedstat() if err != nil { if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "schedstat file does not exist") + c.logger.Debug("schedstat file does not exist") return ErrNoData } return err diff --git a/collector/selinux_linux.go b/collector/selinux_linux.go index 79316362fe..9000fe0d66 100644 --- a/collector/selinux_linux.go +++ b/collector/selinux_linux.go @@ -17,16 +17,16 @@ package collector import ( - "github.com/go-kit/log" "github.com/opencontainers/selinux/go-selinux" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) type selinuxCollector struct { configMode *prometheus.Desc currentMode *prometheus.Desc enabled *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -34,7 +34,7 @@ func init() { } // NewSelinuxCollector returns a new Collector exposing SELinux statistics. -func NewSelinuxCollector(logger log.Logger) (Collector, error) { +func NewSelinuxCollector(logger *slog.Logger) (Collector, error) { const subsystem = "selinux" return &selinuxCollector{ diff --git a/collector/slabinfo_linux.go b/collector/slabinfo_linux.go index 70241a08e8..aa871548f0 100644 --- a/collector/slabinfo_linux.go +++ b/collector/slabinfo_linux.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -32,7 +32,7 @@ var ( type slabinfoCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger subsystem string labels []string slabNameFilter deviceFilter @@ -42,7 +42,7 @@ func init() { registerCollector("slabinfo", defaultDisabled, NewSlabinfoCollector) } -func NewSlabinfoCollector(logger log.Logger) (Collector, error) { +func NewSlabinfoCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/sockstat_linux.go b/collector/sockstat_linux.go index 480c83b1da..73a3bf6836 100644 --- a/collector/sockstat_linux.go +++ b/collector/sockstat_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -35,7 +34,7 @@ const ( var pageSize = os.Getpagesize() type sockStatCollector struct { - logger log.Logger + logger *slog.Logger } func init() { @@ -43,7 +42,7 @@ func init() { } // NewSockStatCollector returns a new Collector exposing socket stats. -func NewSockStatCollector(logger log.Logger) (Collector, error) { +func NewSockStatCollector(logger *slog.Logger) (Collector, error) { return &sockStatCollector{logger}, nil } @@ -58,7 +57,7 @@ func (c *sockStatCollector) Update(ch chan<- prometheus.Metric) error { switch { case err == nil: case errors.Is(err, os.ErrNotExist): - level.Debug(c.logger).Log("msg", "IPv4 sockstat statistics not found, skipping") + c.logger.Debug("IPv4 sockstat statistics not found, skipping") default: return fmt.Errorf("failed to get IPv4 sockstat data: %w", err) } @@ -67,7 +66,7 @@ func (c *sockStatCollector) Update(ch chan<- prometheus.Metric) error { switch { case err == nil: case errors.Is(err, os.ErrNotExist): - level.Debug(c.logger).Log("msg", "IPv6 sockstat statistics not found, skipping") + c.logger.Debug("IPv6 sockstat statistics not found, skipping") default: return fmt.Errorf("failed to get IPv6 sockstat data: %w", err) } diff --git a/collector/softirqs_common.go b/collector/softirqs_common.go index 08ef780f26..cd9ccb9457 100644 --- a/collector/softirqs_common.go +++ b/collector/softirqs_common.go @@ -18,15 +18,15 @@ package collector import ( "fmt" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" + "log/slog" ) type softirqsCollector struct { fs procfs.FS desc typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -34,7 +34,7 @@ func init() { } // NewSoftirqsCollector returns a new Collector exposing softirq stats. -func NewSoftirqsCollector(logger log.Logger) (Collector, error) { +func NewSoftirqsCollector(logger *slog.Logger) (Collector, error) { desc := typedDesc{prometheus.NewDesc( namespace+"_softirqs_functions_total", "Softirq counts per CPU.", diff --git a/collector/softnet_linux.go b/collector/softnet_linux.go index 42d47780e3..296e587587 100644 --- a/collector/softnet_linux.go +++ b/collector/softnet_linux.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "strconv" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -34,7 +34,7 @@ type softnetCollector struct { receivedRps *prometheus.Desc flowLimitCount *prometheus.Desc softnetBacklogLen *prometheus.Desc - logger log.Logger + logger *slog.Logger } const ( @@ -46,7 +46,7 @@ func init() { } // NewSoftnetCollector returns a new Collector exposing softnet metrics. -func NewSoftnetCollector(logger log.Logger) (Collector, error) { +func NewSoftnetCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/stat_linux.go b/collector/stat_linux.go index 9974ae7aa7..0b99cc3236 100644 --- a/collector/stat_linux.go +++ b/collector/stat_linux.go @@ -18,9 +18,9 @@ package collector import ( "fmt" + "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -34,7 +34,7 @@ type statCollector struct { procsRunning *prometheus.Desc procsBlocked *prometheus.Desc softIRQ *prometheus.Desc - logger log.Logger + logger *slog.Logger } var statSoftirqFlag = kingpin.Flag("collector.stat.softirq", "Export softirq calls per vector").Default("false").Bool() @@ -44,7 +44,7 @@ func init() { } // NewStatCollector returns a new Collector exposing kernel/system statistics. -func NewStatCollector(logger log.Logger) (Collector, error) { +func NewStatCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/supervisord.go b/collector/supervisord.go index 9b517f0a42..ae5e2297a0 100644 --- a/collector/supervisord.go +++ b/collector/supervisord.go @@ -19,14 +19,13 @@ package collector import ( "context" "fmt" + "log/slog" "net" "net/http" "net/url" "time" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/mattn/go-xmlrpc" "github.com/prometheus/client_golang/prometheus" ) @@ -41,7 +40,7 @@ type supervisordCollector struct { stateDesc *prometheus.Desc exitStatusDesc *prometheus.Desc startTimeDesc *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -49,7 +48,7 @@ func init() { } // NewSupervisordCollector returns a new Collector exposing supervisord statistics. -func NewSupervisordCollector(logger log.Logger) (Collector, error) { +func NewSupervisordCollector(logger *slog.Logger) (Collector, error) { var ( subsystem = "supervisord" labelNames = []string{"name", "group"} @@ -69,7 +68,7 @@ func NewSupervisordCollector(logger log.Logger) (Collector, error) { xrpc = xmlrpc.NewClient(*supervisordURL) } - level.Warn(logger).Log("msg", "This collector is deprecated and will be removed in the next major version release.") + logger.Warn("This collector is deprecated and will be removed in the next major version release.") return &supervisordCollector{ upDesc: prometheus.NewDesc( @@ -174,7 +173,7 @@ func (c *supervisordCollector) Update(ch chan<- prometheus.Metric) error { } else { ch <- prometheus.MustNewConstMetric(c.upDesc, prometheus.GaugeValue, 0, labels...) } - level.Debug(c.logger).Log("msg", "process info", "group", info.Group, "name", info.Name, "state", info.StateName, "pid", info.PID) + c.logger.Debug("process info", "group", info.Group, "name", info.Name, "state", info.StateName, "pid", info.PID) } return nil diff --git a/collector/sysctl_linux.go b/collector/sysctl_linux.go index c14341db85..ac7022fbdd 100644 --- a/collector/sysctl_linux.go +++ b/collector/sysctl_linux.go @@ -15,11 +15,11 @@ package collector import ( "fmt" + "log/slog" "strconv" "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -33,7 +33,7 @@ var ( type sysctlCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger sysctls []*sysctl } @@ -41,7 +41,7 @@ func init() { registerCollector("sysctl", defaultDisabled, NewSysctlCollector) } -func NewSysctlCollector(logger log.Logger) (Collector, error) { +func NewSysctlCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) diff --git a/collector/systemd_linux.go b/collector/systemd_linux.go index e0d35bcde6..ee2ded8d4a 100644 --- a/collector/systemd_linux.go +++ b/collector/systemd_linux.go @@ -20,6 +20,7 @@ import ( "context" "errors" "fmt" + "log/slog" "math" "regexp" "strconv" @@ -29,8 +30,6 @@ import ( "github.com/alecthomas/kingpin/v2" "github.com/coreos/go-systemd/v22/dbus" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -78,7 +77,7 @@ type systemdCollector struct { // Use regexps for more flexibility than device_filter.go allows systemdUnitIncludePattern *regexp.Regexp systemdUnitExcludePattern *regexp.Regexp - logger log.Logger + logger *slog.Logger } var unitStatesName = []string{"active", "activating", "deactivating", "inactive", "failed"} @@ -88,7 +87,7 @@ func init() { } // NewSystemdCollector returns a new Collector exposing systemd statistics. -func NewSystemdCollector(logger log.Logger) (Collector, error) { +func NewSystemdCollector(logger *slog.Logger) (Collector, error) { const subsystem = "systemd" unitDesc := prometheus.NewDesc( @@ -136,7 +135,7 @@ func NewSystemdCollector(logger log.Logger) (Collector, error) { if *oldSystemdUnitExclude != "" { if !systemdUnitExcludeSet { - level.Warn(logger).Log("msg", "--collector.systemd.unit-blacklist is DEPRECATED and will be removed in 2.0.0, use --collector.systemd.unit-exclude") + logger.Warn("--collector.systemd.unit-blacklist is DEPRECATED and will be removed in 2.0.0, use --collector.systemd.unit-exclude") *systemdUnitExclude = *oldSystemdUnitExclude } else { return nil, errors.New("--collector.systemd.unit-blacklist and --collector.systemd.unit-exclude are mutually exclusive") @@ -144,15 +143,15 @@ func NewSystemdCollector(logger log.Logger) (Collector, error) { } if *oldSystemdUnitInclude != "" { if !systemdUnitIncludeSet { - level.Warn(logger).Log("msg", "--collector.systemd.unit-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.systemd.unit-include") + logger.Warn("--collector.systemd.unit-whitelist is DEPRECATED and will be removed in 2.0.0, use --collector.systemd.unit-include") *systemdUnitInclude = *oldSystemdUnitInclude } else { return nil, errors.New("--collector.systemd.unit-whitelist and --collector.systemd.unit-include are mutually exclusive") } } - level.Info(logger).Log("msg", "Parsed flag --collector.systemd.unit-include", "flag", *systemdUnitInclude) + logger.Info("Parsed flag --collector.systemd.unit-include", "flag", *systemdUnitInclude) systemdUnitIncludePattern := regexp.MustCompile(fmt.Sprintf("^(?:%s)$", *systemdUnitInclude)) - level.Info(logger).Log("msg", "Parsed flag --collector.systemd.unit-exclude", "flag", *systemdUnitExclude) + logger.Info("Parsed flag --collector.systemd.unit-exclude", "flag", *systemdUnitExclude) systemdUnitExcludePattern := regexp.MustCompile(fmt.Sprintf("^(?:%s)$", *systemdUnitExclude)) return &systemdCollector{ @@ -186,7 +185,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { systemdVersion, systemdVersionFull := c.getSystemdVersion(conn) if systemdVersion < minSystemdVersionSystemState { - level.Debug(c.logger).Log("msg", "Detected systemd version is lower than minimum, some systemd state and timer metrics will not be available", "current", systemdVersion, "minimum", minSystemdVersionSystemState) + c.logger.Debug("Detected systemd version is lower than minimum, some systemd state and timer metrics will not be available", "current", systemdVersion, "minimum", minSystemdVersionSystemState) } ch <- prometheus.MustNewConstMetric( c.systemdVersionDesc, @@ -199,16 +198,16 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { return fmt.Errorf("couldn't get units: %w", err) } - level.Debug(c.logger).Log("msg", "getAllUnits took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("getAllUnits took", "duration_seconds", time.Since(begin).Seconds()) begin = time.Now() summary := summarizeUnits(allUnits) c.collectSummaryMetrics(ch, summary) - level.Debug(c.logger).Log("msg", "collectSummaryMetrics took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectSummaryMetrics took", "duration_seconds", time.Since(begin).Seconds()) begin = time.Now() units := filterUnits(allUnits, c.systemdUnitIncludePattern, c.systemdUnitExcludePattern, c.logger) - level.Debug(c.logger).Log("msg", "filterUnits took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("filterUnits took", "duration_seconds", time.Since(begin).Seconds()) var wg sync.WaitGroup defer wg.Wait() @@ -218,7 +217,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { defer wg.Done() begin = time.Now() c.collectUnitStatusMetrics(conn, ch, units) - level.Debug(c.logger).Log("msg", "collectUnitStatusMetrics took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectUnitStatusMetrics took", "duration_seconds", time.Since(begin).Seconds()) }() if *enableStartTimeMetrics { @@ -227,7 +226,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { defer wg.Done() begin = time.Now() c.collectUnitStartTimeMetrics(conn, ch, units) - level.Debug(c.logger).Log("msg", "collectUnitStartTimeMetrics took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectUnitStartTimeMetrics took", "duration_seconds", time.Since(begin).Seconds()) }() } @@ -237,7 +236,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { defer wg.Done() begin = time.Now() c.collectUnitTasksMetrics(conn, ch, units) - level.Debug(c.logger).Log("msg", "collectUnitTasksMetrics took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectUnitTasksMetrics took", "duration_seconds", time.Since(begin).Seconds()) }() } @@ -247,7 +246,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { defer wg.Done() begin = time.Now() c.collectTimers(conn, ch, units) - level.Debug(c.logger).Log("msg", "collectTimers took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectTimers took", "duration_seconds", time.Since(begin).Seconds()) }() } @@ -256,13 +255,13 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { defer wg.Done() begin = time.Now() c.collectSockets(conn, ch, units) - level.Debug(c.logger).Log("msg", "collectSockets took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectSockets took", "duration_seconds", time.Since(begin).Seconds()) }() if systemdVersion >= minSystemdVersionSystemState { begin = time.Now() err = c.collectSystemState(conn, ch) - level.Debug(c.logger).Log("msg", "collectSystemState took", "duration_seconds", time.Since(begin).Seconds()) + c.logger.Debug("collectSystemState took", "duration_seconds", time.Since(begin).Seconds()) } return err @@ -274,14 +273,14 @@ func (c *systemdCollector) collectUnitStatusMetrics(conn *dbus.Conn, ch chan<- p if strings.HasSuffix(unit.Name, ".service") { serviceTypeProperty, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Service", "Type") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit type", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit type", "unit", unit.Name, "err", err) } else { serviceType = serviceTypeProperty.Value.Value().(string) } } else if strings.HasSuffix(unit.Name, ".mount") { serviceTypeProperty, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Mount", "Type") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit type", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit type", "unit", unit.Name, "err", err) } else { serviceType = serviceTypeProperty.Value.Value().(string) } @@ -299,7 +298,7 @@ func (c *systemdCollector) collectUnitStatusMetrics(conn *dbus.Conn, ch chan<- p // NRestarts wasn't added until systemd 235. restartsCount, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Service", "NRestarts") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit NRestarts", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit NRestarts", "unit", unit.Name, "err", err) } else { ch <- prometheus.MustNewConstMetric( c.nRestartsDesc, prometheus.CounterValue, @@ -317,7 +316,7 @@ func (c *systemdCollector) collectSockets(conn *dbus.Conn, ch chan<- prometheus. acceptedConnectionCount, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Socket", "NAccepted") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit NAccepted", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit NAccepted", "unit", unit.Name, "err", err) continue } ch <- prometheus.MustNewConstMetric( @@ -326,7 +325,7 @@ func (c *systemdCollector) collectSockets(conn *dbus.Conn, ch chan<- prometheus. currentConnectionCount, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Socket", "NConnections") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit NConnections", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit NConnections", "unit", unit.Name, "err", err) continue } ch <- prometheus.MustNewConstMetric( @@ -352,7 +351,7 @@ func (c *systemdCollector) collectUnitStartTimeMetrics(conn *dbus.Conn, ch chan< } else { timestampValue, err := conn.GetUnitPropertyContext(context.TODO(), unit.Name, "ActiveEnterTimestamp") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit StartTimeUsec", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit StartTimeUsec", "unit", unit.Name, "err", err) continue } startTimeUsec = timestampValue.Value.Value().(uint64) @@ -370,7 +369,7 @@ func (c *systemdCollector) collectUnitTasksMetrics(conn *dbus.Conn, ch chan<- pr if strings.HasSuffix(unit.Name, ".service") { tasksCurrentCount, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Service", "TasksCurrent") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit TasksCurrent", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit TasksCurrent", "unit", unit.Name, "err", err) } else { val = tasksCurrentCount.Value.Value().(uint64) // Don't set if tasksCurrent if dbus reports MaxUint64. @@ -382,7 +381,7 @@ func (c *systemdCollector) collectUnitTasksMetrics(conn *dbus.Conn, ch chan<- pr } tasksMaxCount, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Service", "TasksMax") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit TasksMax", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit TasksMax", "unit", unit.Name, "err", err) } else { val = tasksMaxCount.Value.Value().(uint64) // Don't set if tasksMax if dbus reports MaxUint64. @@ -404,7 +403,7 @@ func (c *systemdCollector) collectTimers(conn *dbus.Conn, ch chan<- prometheus.M lastTriggerValue, err := conn.GetUnitTypePropertyContext(context.TODO(), unit.Name, "Timer", "LastTriggerUSec") if err != nil { - level.Debug(c.logger).Log("msg", "couldn't get unit LastTriggerUSec", "unit", unit.Name, "err", err) + c.logger.Debug("couldn't get unit LastTriggerUSec", "unit", unit.Name, "err", err) continue } @@ -476,14 +475,14 @@ func summarizeUnits(units []unit) map[string]float64 { return summarized } -func filterUnits(units []unit, includePattern, excludePattern *regexp.Regexp, logger log.Logger) []unit { +func filterUnits(units []unit, includePattern, excludePattern *regexp.Regexp, logger *slog.Logger) []unit { filtered := make([]unit, 0, len(units)) for _, unit := range units { if includePattern.MatchString(unit.Name) && !excludePattern.MatchString(unit.Name) && unit.LoadState == "loaded" { - level.Debug(logger).Log("msg", "Adding unit", "unit", unit.Name) + logger.Debug("Adding unit", "unit", unit.Name) filtered = append(filtered, unit) } else { - level.Debug(logger).Log("msg", "Ignoring unit", "unit", unit.Name) + logger.Debug("Ignoring unit", "unit", unit.Name) } } @@ -493,15 +492,15 @@ func filterUnits(units []unit, includePattern, excludePattern *regexp.Regexp, lo func (c *systemdCollector) getSystemdVersion(conn *dbus.Conn) (float64, string) { version, err := conn.GetManagerProperty("Version") if err != nil { - level.Debug(c.logger).Log("msg", "Unable to get systemd version property, defaulting to 0") + c.logger.Debug("Unable to get systemd version property, defaulting to 0") return 0, "" } version = strings.TrimPrefix(strings.TrimSuffix(version, `"`), `"`) - level.Debug(c.logger).Log("msg", "Got systemd version", "version", version) + c.logger.Debug("Got systemd version", "version", version) parsedVersion := systemdVersionRE.FindString(version) v, err := strconv.ParseFloat(parsedVersion, 64) if err != nil { - level.Debug(c.logger).Log("msg", "Got invalid systemd version", "version", version) + c.logger.Debug("Got invalid systemd version", "version", version) return 0, "" } return v, version diff --git a/collector/systemd_linux_test.go b/collector/systemd_linux_test.go index d4e300d1d2..1c290377e6 100644 --- a/collector/systemd_linux_test.go +++ b/collector/systemd_linux_test.go @@ -17,11 +17,12 @@ package collector import ( + "io" + "log/slog" "regexp" "testing" "github.com/coreos/go-systemd/v22/dbus" - "github.com/go-kit/log" ) // Creates mock UnitLists @@ -94,7 +95,7 @@ func TestSystemdIgnoreFilter(t *testing.T) { fixtures := getUnitListFixtures() includePattern := regexp.MustCompile("^foo$") excludePattern := regexp.MustCompile("^bar$") - filtered := filterUnits(fixtures[0], includePattern, excludePattern, log.NewNopLogger()) + filtered := filterUnits(fixtures[0], includePattern, excludePattern, slog.New(slog.NewTextHandler(io.Discard, nil))) for _, unit := range filtered { if excludePattern.MatchString(unit.Name) || !includePattern.MatchString(unit.Name) { t.Error(unit.Name, "should not be in the filtered list") @@ -102,7 +103,7 @@ func TestSystemdIgnoreFilter(t *testing.T) { } } func TestSystemdIgnoreFilterDefaultKeepsAll(t *testing.T) { - logger := log.NewNopLogger() + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) c, err := NewSystemdCollector(logger) if err != nil { t.Fatal(err) diff --git a/collector/tapestats_linux.go b/collector/tapestats_linux.go index 264c2210f1..c74c11d04c 100644 --- a/collector/tapestats_linux.go +++ b/collector/tapestats_linux.go @@ -18,12 +18,11 @@ package collector import ( "fmt" + "log/slog" "os" "regexp" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -45,7 +44,7 @@ type tapestatsCollector struct { writeTimeSeconds *prometheus.Desc residualTotal *prometheus.Desc fs sysfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -54,7 +53,7 @@ func init() { // NewTapestatsCollector returns a new Collector exposing tape device stats. // Docs from https://www.kernel.org/doc/html/latest/scsi/st.html#sysfs-and-statistics-for-tape-devices -func NewTapestatsCollector(logger log.Logger) (Collector, error) { +func NewTapestatsCollector(logger *slog.Logger) (Collector, error) { var tapeLabelNames = []string{"device"} fs, err := sysfs.NewFS(*sysPath) @@ -126,7 +125,7 @@ func (c *tapestatsCollector) Update(ch chan<- prometheus.Metric) error { tapes, err := c.fs.SCSITapeClass() if err != nil { if os.IsNotExist(err) { - level.Debug(c.logger).Log("msg", "scsi_tape stats not found, skipping") + c.logger.Debug("scsi_tape stats not found, skipping") return ErrNoData } return fmt.Errorf("error obtaining SCSITape class info: %s", err) @@ -134,7 +133,7 @@ func (c *tapestatsCollector) Update(ch chan<- prometheus.Metric) error { for _, tape := range tapes { if c.ignoredDevicesPattern.MatchString(tape.Name) { - level.Debug(c.logger).Log("msg", "Ignoring device", "device", tape.Name) + c.logger.Debug("Ignoring device", "device", tape.Name) continue } ch <- prometheus.MustNewConstMetric(c.ioNow, prometheus.GaugeValue, float64(tape.Counters.InFlight), tape.Name) diff --git a/collector/tcpstat_linux.go b/collector/tcpstat_linux.go index 99e33bc6a3..476a9b47bf 100644 --- a/collector/tcpstat_linux.go +++ b/collector/tcpstat_linux.go @@ -18,11 +18,11 @@ package collector import ( "fmt" + "log/slog" "os" "syscall" "unsafe" - "github.com/go-kit/log" "github.com/mdlayher/netlink" "github.com/prometheus/client_golang/prometheus" ) @@ -60,7 +60,7 @@ const ( type tcpStatCollector struct { desc typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -68,7 +68,7 @@ func init() { } // NewTCPStatCollector returns a new Collector exposing network stats. -func NewTCPStatCollector(logger log.Logger) (Collector, error) { +func NewTCPStatCollector(logger *slog.Logger) (Collector, error) { return &tcpStatCollector{ desc: typedDesc{prometheus.NewDesc( prometheus.BuildFQName(namespace, "tcp", "connection_states"), diff --git a/collector/textfile.go b/collector/textfile.go index 4f1fd0b8c7..6c831489b0 100644 --- a/collector/textfile.go +++ b/collector/textfile.go @@ -18,6 +18,7 @@ package collector import ( "fmt" + "log/slog" "os" "path/filepath" "sort" @@ -25,8 +26,6 @@ import ( "time" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" dto "github.com/prometheus/client_model/go" "github.com/prometheus/common/expfmt" @@ -46,7 +45,7 @@ type textFileCollector struct { path string // Only set for testing to get predictable output. mtime *float64 - logger log.Logger + logger *slog.Logger } func init() { @@ -55,7 +54,7 @@ func init() { // NewTextFileCollector returns a new Collector exposing metrics read from files // in the given textfile directory. -func NewTextFileCollector(logger log.Logger) (Collector, error) { +func NewTextFileCollector(logger *slog.Logger) (Collector, error) { c := &textFileCollector{ path: *textFileDirectory, logger: logger, @@ -63,7 +62,7 @@ func NewTextFileCollector(logger log.Logger) (Collector, error) { return c, nil } -func convertMetricFamily(metricFamily *dto.MetricFamily, ch chan<- prometheus.Metric, logger log.Logger) { +func convertMetricFamily(metricFamily *dto.MetricFamily, ch chan<- prometheus.Metric, logger *slog.Logger) { var valType prometheus.ValueType var val float64 @@ -79,7 +78,7 @@ func convertMetricFamily(metricFamily *dto.MetricFamily, ch chan<- prometheus.Me for _, metric := range metricFamily.Metric { if metric.TimestampMs != nil { - level.Warn(logger).Log("msg", "Ignoring unsupported custom timestamp on textfile collector metric", "metric", metric) + logger.Warn("Ignoring unsupported custom timestamp on textfile collector metric", "metric", metric) } labels := metric.GetLabel() @@ -207,7 +206,7 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { files, err := os.ReadDir(path) if err != nil && path != "" { errored = true - level.Error(c.logger).Log("msg", "failed to read textfile collector directory", "path", path, "err", err) + c.logger.Error("failed to read textfile collector directory", "path", path, "err", err) } for _, f := range files { @@ -224,7 +223,7 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { if mf.Help != nil && helpTexts[0] != *mf.Help || helpTexts[1] != "" { metricsNamesToHelpTexts[*mf.Name] = [2]string{helpTexts[0], *mf.Help} errored = true - level.Error(c.logger).Log("msg", "inconsistent metric help text", + c.logger.Error("inconsistent metric help text", "metric", *mf.Name, "original_help_text", helpTexts[0], "new_help_text", *mf.Help, @@ -242,7 +241,7 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { errored = true - level.Error(c.logger).Log("msg", "failed to collect textfile data", "file", f.Name(), "err", err) + c.logger.Error("failed to collect textfile data", "file", f.Name(), "err", err) continue } diff --git a/collector/textfile_test.go b/collector/textfile_test.go index 95e5966f3e..cd08c64fe9 100644 --- a/collector/textfile_test.go +++ b/collector/textfile_test.go @@ -18,17 +18,18 @@ package collector import ( "fmt" + "io" + "log/slog" "net/http" "net/http/httptest" "os" "testing" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" - "github.com/prometheus/common/promlog" - "github.com/prometheus/common/promlog/flag" + "github.com/prometheus/common/promslog" + "github.com/prometheus/common/promslog/flag" ) type collectorAdapter struct { @@ -121,13 +122,13 @@ func TestTextfileCollector(t *testing.T) { c := &textFileCollector{ path: test.path, mtime: &mtime, - logger: log.NewNopLogger(), + logger: slog.New(slog.NewTextHandler(io.Discard, nil)), } // Suppress a log message about `nonexistent_path` not existing, this is // expected and clutters the test output. - promlogConfig := &promlog.Config{} - flag.AddFlags(kingpin.CommandLine, promlogConfig) + promslogConfig := &promslog.Config{} + flag.AddFlags(kingpin.CommandLine, promslogConfig) if _, err := kingpin.CommandLine.Parse([]string{"--log.level", "debug"}); err != nil { t.Fatal(err) } diff --git a/collector/thermal_darwin.go b/collector/thermal_darwin.go index 25673dcc4d..0a3b8981f4 100644 --- a/collector/thermal_darwin.go +++ b/collector/thermal_darwin.go @@ -47,9 +47,9 @@ import "C" import ( "errors" "fmt" + "log/slog" "unsafe" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -57,7 +57,7 @@ type thermCollector struct { cpuSchedulerLimit typedDesc cpuAvailableCPU typedDesc cpuSpeedLimit typedDesc - logger log.Logger + logger *slog.Logger } const thermal = "thermal" @@ -67,7 +67,7 @@ func init() { } // NewThermCollector returns a new Collector exposing current CPU power levels. -func NewThermCollector(logger log.Logger) (Collector, error) { +func NewThermCollector(logger *slog.Logger) (Collector, error) { return &thermCollector{ cpuSchedulerLimit: typedDesc{ desc: prometheus.NewDesc( diff --git a/collector/thermal_zone_linux.go b/collector/thermal_zone_linux.go index 6eff27321a..95db272340 100644 --- a/collector/thermal_zone_linux.go +++ b/collector/thermal_zone_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -35,7 +34,7 @@ type thermalZoneCollector struct { coolingDeviceCurState *prometheus.Desc coolingDeviceMaxState *prometheus.Desc zoneTemp *prometheus.Desc - logger log.Logger + logger *slog.Logger } func init() { @@ -43,7 +42,7 @@ func init() { } // NewThermalZoneCollector returns a new Collector exposing kernel/system statistics. -func NewThermalZoneCollector(logger log.Logger) (Collector, error) { +func NewThermalZoneCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) @@ -74,7 +73,7 @@ func (c *thermalZoneCollector) Update(ch chan<- prometheus.Metric) error { thermalZones, err := c.fs.ClassThermalZoneStats() if err != nil { if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) || errors.Is(err, os.ErrInvalid) { - level.Debug(c.logger).Log("msg", "Could not read thermal zone stats", "err", err) + c.logger.Debug("Could not read thermal zone stats", "err", err) return ErrNoData } return err diff --git a/collector/time.go b/collector/time.go index 31a6e74e24..a4a81687b4 100644 --- a/collector/time.go +++ b/collector/time.go @@ -17,10 +17,9 @@ package collector import ( + "log/slog" "time" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -29,7 +28,7 @@ type timeCollector struct { zone typedDesc clocksourcesAvailable typedDesc clocksourceCurrent typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -38,7 +37,7 @@ func init() { // NewTimeCollector returns a new Collector exposing the current system time in // seconds since epoch. -func NewTimeCollector(logger log.Logger) (Collector, error) { +func NewTimeCollector(logger *slog.Logger) (Collector, error) { const subsystem = "time" return &timeCollector{ now: typedDesc{prometheus.NewDesc( @@ -70,9 +69,9 @@ func (c *timeCollector) Update(ch chan<- prometheus.Metric) error { nowSec := float64(now.UnixNano()) / 1e9 zone, zoneOffset := now.Zone() - level.Debug(c.logger).Log("msg", "Return time", "now", nowSec) + c.logger.Debug("Return time", "now", nowSec) ch <- c.now.mustNewConstMetric(nowSec) - level.Debug(c.logger).Log("msg", "Zone offset", "offset", zoneOffset, "time_zone", zone) + c.logger.Debug("Zone offset", "offset", zoneOffset, "time_zone", zone) ch <- c.zone.mustNewConstMetric(float64(zoneOffset), zone) return c.update(ch) } diff --git a/collector/time_linux.go b/collector/time_linux.go index dd4afe7592..212ba2280a 100644 --- a/collector/time_linux.go +++ b/collector/time_linux.go @@ -20,7 +20,6 @@ import ( "fmt" "strconv" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) @@ -35,7 +34,7 @@ func (c *timeCollector) update(ch chan<- prometheus.Metric) error { if err != nil { return fmt.Errorf("couldn't get clocksources: %w", err) } - level.Debug(c.logger).Log("msg", "in Update", "clocksources", fmt.Sprintf("%v", clocksources)) + c.logger.Debug("in Update", "clocksources", fmt.Sprintf("%v", clocksources)) for i, clocksource := range clocksources { is := strconv.Itoa(i) diff --git a/collector/timex.go b/collector/timex.go index 69cbc1a1d0..eb21f7c370 100644 --- a/collector/timex.go +++ b/collector/timex.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" ) @@ -61,7 +60,7 @@ type timexCollector struct { stbcnt, tai, syncStatus typedDesc - logger log.Logger + logger *slog.Logger } func init() { @@ -69,7 +68,7 @@ func init() { } // NewTimexCollector returns a new Collector exposing adjtime(3) stats. -func NewTimexCollector(logger log.Logger) (Collector, error) { +func NewTimexCollector(logger *slog.Logger) (Collector, error) { const subsystem = "timex" return &timexCollector{ @@ -170,7 +169,7 @@ func (c *timexCollector) Update(ch chan<- prometheus.Metric) error { status, err := unix.Adjtimex(timex) if err != nil { if errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "Not collecting timex metrics", "err", err) + c.logger.Debug("Not collecting timex metrics", "err", err) return ErrNoData } return fmt.Errorf("failed to retrieve adjtimex stats: %w", err) diff --git a/collector/udp_queues_linux.go b/collector/udp_queues_linux.go index 3fac869198..2923936e38 100644 --- a/collector/udp_queues_linux.go +++ b/collector/udp_queues_linux.go @@ -19,10 +19,9 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -31,7 +30,7 @@ type ( udpQueuesCollector struct { fs procfs.FS desc *prometheus.Desc - logger log.Logger + logger *slog.Logger } ) @@ -40,7 +39,7 @@ func init() { } // NewUDPqueuesCollector returns a new Collector exposing network udp queued bytes. -func NewUDPqueuesCollector(logger log.Logger) (Collector, error) { +func NewUDPqueuesCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -64,7 +63,7 @@ func (c *udpQueuesCollector) Update(ch chan<- prometheus.Metric) error { ch <- prometheus.MustNewConstMetric(c.desc, prometheus.GaugeValue, float64(s4.RxQueueLength), "rx", "v4") } else { if errors.Is(errIPv4, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "not collecting ipv4 based metrics") + c.logger.Debug("not collecting ipv4 based metrics") } else { return fmt.Errorf("couldn't get udp queued bytes: %w", errIPv4) } @@ -76,7 +75,7 @@ func (c *udpQueuesCollector) Update(ch chan<- prometheus.Metric) error { ch <- prometheus.MustNewConstMetric(c.desc, prometheus.GaugeValue, float64(s6.RxQueueLength), "rx", "v6") } else { if errors.Is(errIPv6, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "not collecting ipv6 based metrics") + c.logger.Debug("not collecting ipv6 based metrics") } else { return fmt.Errorf("couldn't get udp6 queued bytes: %w", errIPv6) } diff --git a/collector/uname.go b/collector/uname.go index 76e66b7e33..a333fd487d 100644 --- a/collector/uname.go +++ b/collector/uname.go @@ -18,8 +18,8 @@ package collector import ( - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) var unameDesc = prometheus.NewDesc( @@ -37,7 +37,7 @@ var unameDesc = prometheus.NewDesc( ) type unameCollector struct { - logger log.Logger + logger *slog.Logger } type uname struct { SysName string @@ -53,7 +53,7 @@ func init() { } // NewUnameCollector returns new unameCollector. -func newUnameCollector(logger log.Logger) (Collector, error) { +func newUnameCollector(logger *slog.Logger) (Collector, error) { return &unameCollector{logger}, nil } diff --git a/collector/vmstat_linux.go b/collector/vmstat_linux.go index cde2df5da5..e31be0f7b8 100644 --- a/collector/vmstat_linux.go +++ b/collector/vmstat_linux.go @@ -19,13 +19,13 @@ package collector import ( "bufio" "fmt" + "log/slog" "os" "regexp" "strconv" "strings" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" ) @@ -39,7 +39,7 @@ var ( type vmStatCollector struct { fieldPattern *regexp.Regexp - logger log.Logger + logger *slog.Logger } func init() { @@ -47,7 +47,7 @@ func init() { } // NewvmStatCollector returns a new Collector exposing vmstat stats. -func NewvmStatCollector(logger log.Logger) (Collector, error) { +func NewvmStatCollector(logger *slog.Logger) (Collector, error) { pattern := regexp.MustCompile(*vmStatFields) return &vmStatCollector{ fieldPattern: pattern, diff --git a/collector/watchdog.go b/collector/watchdog.go index 01351be9b5..77fb792ea7 100644 --- a/collector/watchdog.go +++ b/collector/watchdog.go @@ -19,17 +19,16 @@ package collector import ( "errors" "fmt" + "log/slog" "os" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" ) type watchdogCollector struct { fs sysfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -37,7 +36,7 @@ func init() { } // NewWatchdogCollector returns a new Collector exposing watchdog stats. -func NewWatchdogCollector(logger log.Logger) (Collector, error) { +func NewWatchdogCollector(logger *slog.Logger) (Collector, error) { fs, err := sysfs.NewFS(*sysPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) @@ -103,7 +102,7 @@ func (c *watchdogCollector) Update(ch chan<- prometheus.Metric) error { watchdogClass, err := c.fs.WatchdogClass() if err != nil { if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) || errors.Is(err, os.ErrInvalid) { - level.Debug(c.logger).Log("msg", "Could not read watchdog stats", "err", err) + c.logger.Debug("Could not read watchdog stats", "err", err) return ErrNoData } return err diff --git a/collector/watchdog_test.go b/collector/watchdog_test.go index e59382b4c9..baf08995ce 100644 --- a/collector/watchdog_test.go +++ b/collector/watchdog_test.go @@ -18,11 +18,11 @@ package collector import ( "fmt" - "os" + "io" + "log/slog" "strings" "testing" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/testutil" ) @@ -68,7 +68,7 @@ func TestWatchdogStats(t *testing.T) { ` *sysPath = "fixtures/sys" - logger := log.NewLogfmtLogger(os.Stderr) + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) c, err := NewWatchdogCollector(logger) if err != nil { t.Fatal(err) diff --git a/collector/wifi_linux.go b/collector/wifi_linux.go index aff8eb2d36..c84cdd71d4 100644 --- a/collector/wifi_linux.go +++ b/collector/wifi_linux.go @@ -20,12 +20,11 @@ import ( "encoding/json" "errors" "fmt" + "log/slog" "os" "path/filepath" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/mdlayher/wifi" "github.com/prometheus/client_golang/prometheus" ) @@ -45,7 +44,7 @@ type wifiCollector struct { stationTransmitFailedTotal *prometheus.Desc stationBeaconLossTotal *prometheus.Desc - logger log.Logger + logger *slog.Logger } var ( @@ -67,7 +66,7 @@ type wifiStater interface { } // NewWifiCollector returns a new Collector exposing Wifi statistics. -func NewWifiCollector(logger log.Logger) (Collector, error) { +func NewWifiCollector(logger *slog.Logger) (Collector, error) { const ( subsystem = "wifi" ) @@ -169,11 +168,11 @@ func (c *wifiCollector) Update(ch chan<- prometheus.Metric) error { if err != nil { // Cannot access wifi metrics, report no error. if errors.Is(err, os.ErrNotExist) { - level.Debug(c.logger).Log("msg", "wifi collector metrics are not available for this system") + c.logger.Debug("wifi collector metrics are not available for this system") return ErrNoData } if errors.Is(err, os.ErrPermission) { - level.Debug(c.logger).Log("msg", "wifi collector got permission denied when accessing metrics") + c.logger.Debug("wifi collector got permission denied when accessing metrics") return ErrNoData } @@ -192,7 +191,7 @@ func (c *wifiCollector) Update(ch chan<- prometheus.Metric) error { continue } - level.Debug(c.logger).Log("msg", "probing wifi device with type", "wifi", ifi.Name, "type", ifi.Type) + c.logger.Debug("probing wifi device with type", "wifi", ifi.Name, "type", ifi.Type) ch <- prometheus.MustNewConstMetric( c.interfaceFrequencyHertz, @@ -210,7 +209,7 @@ func (c *wifiCollector) Update(ch chan<- prometheus.Metric) error { case err == nil: c.updateBSSStats(ch, ifi.Name, bss) case errors.Is(err, os.ErrNotExist): - level.Debug(c.logger).Log("msg", "BSS information not found for wifi device", "name", ifi.Name) + c.logger.Debug("BSS information not found for wifi device", "name", ifi.Name) default: return fmt.Errorf("failed to retrieve BSS for device %s: %v", ifi.Name, err) @@ -223,7 +222,7 @@ func (c *wifiCollector) Update(ch chan<- prometheus.Metric) error { c.updateStationStats(ch, ifi.Name, station) } case errors.Is(err, os.ErrNotExist): - level.Debug(c.logger).Log("msg", "station information not found for wifi device", "name", ifi.Name) + c.logger.Debug("station information not found for wifi device", "name", ifi.Name) default: return fmt.Errorf("failed to retrieve station info for device %q: %v", ifi.Name, err) diff --git a/collector/xfrm.go b/collector/xfrm.go index cbdcc97f1f..d96ee8aa74 100644 --- a/collector/xfrm.go +++ b/collector/xfrm.go @@ -18,15 +18,15 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) type xfrmCollector struct { fs procfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -34,7 +34,7 @@ func init() { } // NewXfrmCollector returns a new Collector exposing XFRM stats. -func NewXfrmCollector(logger log.Logger) (Collector, error) { +func NewXfrmCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/collector/xfrm_test.go b/collector/xfrm_test.go index 2e1ac02899..e009fc40f5 100644 --- a/collector/xfrm_test.go +++ b/collector/xfrm_test.go @@ -18,11 +18,11 @@ package collector import ( "fmt" - "os" + "io" + "log/slog" "strings" "testing" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/testutil" ) @@ -127,7 +127,7 @@ func TestXfrmStats(t *testing.T) { ` *procPath = "fixtures/proc" - logger := log.NewLogfmtLogger(os.Stderr) + logger := slog.New(slog.NewTextHandler(io.Discard, nil)) c, err := NewXfrmCollector(logger) if err != nil { t.Fatal(err) diff --git a/collector/xfs_linux.go b/collector/xfs_linux.go index bb25acab9f..3eac1d0e84 100644 --- a/collector/xfs_linux.go +++ b/collector/xfs_linux.go @@ -18,8 +18,8 @@ package collector import ( "fmt" + "log/slog" - "github.com/go-kit/log" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/xfs" ) @@ -27,7 +27,7 @@ import ( // An xfsCollector is a Collector which gathers metrics from XFS filesystems. type xfsCollector struct { fs xfs.FS - logger log.Logger + logger *slog.Logger } func init() { @@ -35,7 +35,7 @@ func init() { } // NewXFSCollector returns a new Collector exposing XFS statistics. -func NewXFSCollector(logger log.Logger) (Collector, error) { +func NewXFSCollector(logger *slog.Logger) (Collector, error) { fs, err := xfs.NewFS(*procPath, *sysPath) if err != nil { return nil, fmt.Errorf("failed to open sysfs: %w", err) diff --git a/collector/zfs.go b/collector/zfs.go index 0abb13327d..8581e0a24b 100644 --- a/collector/zfs.go +++ b/collector/zfs.go @@ -18,10 +18,9 @@ package collector import ( "errors" + "log/slog" "strings" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -39,11 +38,11 @@ type zfsCollector struct { linuxZpoolObjsetPath string linuxZpoolStatePath string linuxPathMap map[string]string - logger log.Logger + logger *slog.Logger } // NewZFSCollector returns a new Collector exposing ZFS statistics. -func NewZFSCollector(logger log.Logger) (Collector, error) { +func NewZFSCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ linuxProcpathBase: "spl/kstat/zfs", linuxZpoolIoPath: "/*/io", @@ -70,7 +69,7 @@ func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { if _, err := c.openProcFile(c.linuxProcpathBase); err != nil { if err == errZFSNotAvailable { - level.Debug(c.logger).Log("err", err) + c.logger.Debug(err.Error()) return ErrNoData } } @@ -78,7 +77,7 @@ func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { for subsystem := range c.linuxPathMap { if err := c.updateZfsStats(subsystem, ch); err != nil { if err == errZFSNotAvailable { - level.Debug(c.logger).Log("err", err) + c.logger.Debug(err.Error()) // ZFS /proc files are added as new features to ZFS arrive, it is ok to continue continue } diff --git a/collector/zfs_freebsd.go b/collector/zfs_freebsd.go index 804d4f58a9..654957811c 100644 --- a/collector/zfs_freebsd.go +++ b/collector/zfs_freebsd.go @@ -17,14 +17,13 @@ package collector import ( - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" + "log/slog" ) type zfsCollector struct { sysctls []bsdSysctl - logger log.Logger + logger *slog.Logger } const ( @@ -35,7 +34,7 @@ func init() { registerCollector("zfs", defaultEnabled, NewZfsCollector) } -func NewZfsCollector(logger log.Logger) (Collector, error) { +func NewZfsCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ sysctls: []bsdSysctl{ { @@ -273,7 +272,7 @@ func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { v, err := m.Value() if err != nil { // debug logging - level.Debug(c.logger).Log("name", m.name, "mib", m.mib, "couldn't get sysctl:", err) + c.logger.Debug(m.name, "mib", m.mib, "couldn't get sysctl:", err) continue } diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index e1bf2c97c0..31e610d52d 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -25,7 +25,6 @@ import ( "strconv" "strings" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" ) @@ -50,7 +49,7 @@ func (c *zfsCollector) openProcFile(path string) (*os.File, error) { // file not found error can occur if: // 1. zfs module is not loaded // 2. zfs version does not have the feature with metrics -- ok to ignore - level.Debug(c.logger).Log("msg", "Cannot open file for reading", "path", procFilePath(path)) + c.logger.Debug("Cannot open file for reading", "path", procFilePath(path)) return nil, errZFSNotAvailable } return file, nil @@ -85,7 +84,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { file, err := os.Open(zpoolPath) if err != nil { // this file should exist, but there is a race where an exporting pool can remove the files -- ok to ignore - level.Debug(c.logger).Log("msg", "Cannot open file for reading", "path", zpoolPath) + c.logger.Debug("Cannot open file for reading", "path", zpoolPath) return errZFSNotAvailable } @@ -107,7 +106,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { file, err := os.Open(zpoolPath) if err != nil { // This file should exist, but there is a race where an exporting pool can remove the files. Ok to ignore. - level.Debug(c.logger).Log("msg", "Cannot open file for reading", "path", zpoolPath) + c.logger.Debug("Cannot open file for reading", "path", zpoolPath) return errZFSNotAvailable } @@ -126,7 +125,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { } if zpoolStatePaths == nil { - level.Debug(c.logger).Log("msg", "No pool state files found") + c.logger.Debug("No pool state files found") return nil } @@ -134,7 +133,7 @@ func (c *zfsCollector) updatePoolStats(ch chan<- prometheus.Metric) error { file, err := os.Open(zpoolPath) if err != nil { // This file should exist, but there is a race where an exporting pool can remove the files. Ok to ignore. - level.Debug(c.logger).Log("msg", "Cannot open file for reading", "path", zpoolPath) + c.logger.Debug("Cannot open file for reading", "path", zpoolPath) return errZFSNotAvailable } diff --git a/collector/zfs_solaris.go b/collector/zfs_solaris.go index 52f2500f25..4ff8ceb242 100644 --- a/collector/zfs_solaris.go +++ b/collector/zfs_solaris.go @@ -17,9 +17,9 @@ package collector import ( + "log/slog" "strings" - "github.com/go-kit/log" "github.com/illumos/go-kstat" "github.com/prometheus/client_golang/prometheus" ) @@ -54,7 +54,7 @@ type zfsCollector struct { arcstatsSize *prometheus.Desc zfetchstatsHits *prometheus.Desc zfetchstatsMisses *prometheus.Desc - logger log.Logger + logger *slog.Logger } const ( @@ -65,7 +65,7 @@ func init() { registerCollector("zfs", defaultEnabled, NewZfsCollector) } -func NewZfsCollector(logger log.Logger) (Collector, error) { +func NewZfsCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ abdstatsLinearCount: prometheus.NewDesc( prometheus.BuildFQName(namespace, zfsCollectorSubsystem, "abdstats_linear_count_total"), diff --git a/collector/zoneinfo_linux.go b/collector/zoneinfo_linux.go index 8f7e35d9f1..0b40fd3c59 100644 --- a/collector/zoneinfo_linux.go +++ b/collector/zoneinfo_linux.go @@ -15,10 +15,9 @@ package collector import ( "fmt" + "log/slog" "reflect" - "github.com/go-kit/log" - "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" ) @@ -28,7 +27,7 @@ const zoneinfoSubsystem = "zoneinfo" type zoneinfoCollector struct { gaugeMetricDescs map[string]*prometheus.Desc counterMetricDescs map[string]*prometheus.Desc - logger log.Logger + logger *slog.Logger fs procfs.FS } @@ -37,7 +36,7 @@ func init() { } // NewZoneinfoCollector returns a new Collector exposing zone stats. -func NewZoneinfoCollector(logger log.Logger) (Collector, error) { +func NewZoneinfoCollector(logger *slog.Logger) (Collector, error) { fs, err := procfs.NewFS(*procPath) if err != nil { return nil, fmt.Errorf("failed to open procfs: %w", err) diff --git a/go.mod b/go.mod index a1938530e8..fdb56b5590 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( github.com/coreos/go-systemd/v22 v22.5.0 github.com/dennwc/btrfs v0.0.0-20240418142341-0167142bde7a github.com/ema/qdisc v1.0.0 - github.com/go-kit/log v0.2.1 github.com/godbus/dbus/v5 v5.1.0 github.com/hashicorp/go-envparse v0.1.0 github.com/hodgesds/perf-utils v0.7.0 @@ -25,7 +24,7 @@ require ( github.com/prometheus/client_golang v1.20.3 github.com/prometheus/client_model v0.6.1 github.com/prometheus/common v0.59.1 - github.com/prometheus/exporter-toolkit v0.11.0 + github.com/prometheus/exporter-toolkit v0.13.0 github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 @@ -38,13 +37,13 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/dennwc/ioctl v1.0.0 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/klauspost/compress v1.17.9 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/mdlayher/genetlink v1.3.2 // indirect github.com/mdlayher/socket v0.4.1 // indirect + github.com/mdlayher/vsock v1.2.1 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 // indirect diff --git a/go.sum b/go.sum index af511d4c21..85ff97cda6 100644 --- a/go.sum +++ b/go.sum @@ -21,10 +21,6 @@ github.com/dennwc/ioctl v1.0.0 h1:DsWAAjIxRqNcLn9x6mwfuf2pet3iB7aK90K4tF16rLg= github.com/dennwc/ioctl v1.0.0/go.mod h1:ellh2YB5ldny99SBU/VX7Nq0xiZbHphf1DrtHxxjMk0= github.com/ema/qdisc v1.0.0 h1:EHLG08FVRbWLg8uRICa3xzC9Zm0m7HyMHfXobWFnXYg= github.com/ema/qdisc v1.0.0/go.mod h1:FhIc0fLYi7f+lK5maMsesDqwYojIOh3VfRs8EVd5YJQ= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -63,6 +59,8 @@ github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/ github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U= github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= +github.com/mdlayher/vsock v1.2.1 h1:pC1mTJTvjo1r9n9fbm7S1j04rCgCzhCOS5DY0zqHlnQ= +github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= github.com/mdlayher/wifi v0.2.0 h1:vwbVyu5MWTiFNvOmWdvIx9veBlMVnEasZ90PhUi1DYU= github.com/mdlayher/wifi v0.2.0/go.mod h1:yOfWhVZ4FFJxeHzAxDzt87Om9EkqqcCiY9Gi5gfSXwI= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= @@ -81,8 +79,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0= github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= -github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= -github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= +github.com/prometheus/exporter-toolkit v0.13.0 h1:lmA0Q+8IaXgmFRKw09RldZmZdnvu9wwcDLIXGmTPw1c= +github.com/prometheus/exporter-toolkit v0.13.0/go.mod h1:2uop99EZl80KdXhv/MxVI2181fMcwlsumFOqBecGkG0= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= diff --git a/node_exporter.go b/node_exporter.go index c7285f6fdf..c315d9f404 100644 --- a/node_exporter.go +++ b/node_exporter.go @@ -15,7 +15,7 @@ package main import ( "fmt" - stdlog "log" + "log/slog" "net/http" _ "net/http/pprof" "os" @@ -23,12 +23,10 @@ import ( "runtime" "sort" - "github.com/prometheus/common/promlog" - "github.com/prometheus/common/promlog/flag" + "github.com/prometheus/common/promslog" + "github.com/prometheus/common/promslog/flag" "github.com/alecthomas/kingpin/v2" - "github.com/go-kit/log" - "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" promcollectors "github.com/prometheus/client_golang/prometheus/collectors" versioncollector "github.com/prometheus/client_golang/prometheus/collectors/version" @@ -49,10 +47,10 @@ type handler struct { exporterMetricsRegistry *prometheus.Registry includeExporterMetrics bool maxRequests int - logger log.Logger + logger *slog.Logger } -func newHandler(includeExporterMetrics bool, maxRequests int, logger log.Logger) *handler { +func newHandler(includeExporterMetrics bool, maxRequests int, logger *slog.Logger) *handler { h := &handler{ exporterMetricsRegistry: prometheus.NewRegistry(), includeExporterMetrics: includeExporterMetrics, @@ -76,7 +74,7 @@ func newHandler(includeExporterMetrics bool, maxRequests int, logger log.Logger) // ServeHTTP implements http.Handler. func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { filters := r.URL.Query()["collect[]"] - level.Debug(h.logger).Log("msg", "collect query:", "filters", filters) + h.logger.Debug("collect query:", "filters", filters) if len(filters) == 0 { // No filters, use the prepared unfiltered handler. @@ -86,7 +84,7 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { // To serve filtered metrics, we create a filtering handler on the fly. filteredHandler, err := h.innerHandler(filters...) if err != nil { - level.Warn(h.logger).Log("msg", "Couldn't create filtered metrics handler:", "err", err) + h.logger.Warn("Couldn't create filtered metrics handler:", "err", err) w.WriteHeader(http.StatusBadRequest) w.Write([]byte(fmt.Sprintf("Couldn't create filtered metrics handler: %s", err))) return @@ -108,14 +106,14 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) { // Only log the creation of an unfiltered handler, which should happen // only once upon startup. if len(filters) == 0 { - level.Info(h.logger).Log("msg", "Enabled collectors") + h.logger.Info("Enabled collectors") collectors := []string{} for n := range nc.Collectors { collectors = append(collectors, n) } sort.Strings(collectors) for _, c := range collectors { - level.Info(h.logger).Log("collector", c) + h.logger.Info(c) } } @@ -130,7 +128,7 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) { handler = promhttp.HandlerFor( prometheus.Gatherers{h.exporterMetricsRegistry, r}, promhttp.HandlerOpts{ - ErrorLog: stdlog.New(log.NewStdlibAdapter(level.Error(h.logger)), "", 0), + ErrorLog: slog.NewLogLogger(h.logger.Handler(), slog.LevelError), ErrorHandling: promhttp.ContinueOnError, MaxRequestsInFlight: h.maxRequests, Registry: h.exporterMetricsRegistry, @@ -145,7 +143,7 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) { handler = promhttp.HandlerFor( r, promhttp.HandlerOpts{ - ErrorLog: stdlog.New(log.NewStdlibAdapter(level.Error(h.logger)), "", 0), + ErrorLog: slog.NewLogLogger(h.logger.Handler(), slog.LevelError), ErrorHandling: promhttp.ContinueOnError, MaxRequestsInFlight: h.maxRequests, }, @@ -179,24 +177,24 @@ func main() { toolkitFlags = kingpinflag.AddFlags(kingpin.CommandLine, ":9100") ) - promlogConfig := &promlog.Config{} - flag.AddFlags(kingpin.CommandLine, promlogConfig) + promslogConfig := &promslog.Config{} + flag.AddFlags(kingpin.CommandLine, promslogConfig) kingpin.Version(version.Print("node_exporter")) kingpin.CommandLine.UsageWriter(os.Stdout) kingpin.HelpFlag.Short('h') kingpin.Parse() - logger := promlog.New(promlogConfig) + logger := promslog.New(promslogConfig) if *disableDefaultCollectors { collector.DisableDefaultCollectors() } - level.Info(logger).Log("msg", "Starting node_exporter", "version", version.Info()) - level.Info(logger).Log("msg", "Build context", "build_context", version.BuildContext()) + logger.Info("Starting node_exporter", "version", version.Info()) + logger.Info("Build context", "build_context", version.BuildContext()) if user, err := user.Current(); err == nil && user.Uid == "0" { - level.Warn(logger).Log("msg", "Node Exporter is running as root user. This exporter is designed to run as unprivileged user, root is not required.") + logger.Warn("Node Exporter is running as root user. This exporter is designed to run as unprivileged user, root is not required.") } runtime.GOMAXPROCS(*maxProcs) - level.Debug(logger).Log("msg", "Go MAXPROCS", "procs", runtime.GOMAXPROCS(0)) + logger.Debug("Go MAXPROCS", "procs", runtime.GOMAXPROCS(0)) http.Handle(*metricsPath, newHandler(!*disableExporterMetrics, *maxRequests, logger)) if *metricsPath != "/" { @@ -213,7 +211,7 @@ func main() { } landingPage, err := web.NewLandingPage(landingConfig) if err != nil { - level.Error(logger).Log("err", err) + logger.Error(err.Error()) os.Exit(1) } http.Handle("/", landingPage) @@ -221,7 +219,7 @@ func main() { server := &http.Server{} if err := web.ListenAndServe(server, toolkitFlags, logger); err != nil { - level.Error(logger).Log("err", err) + logger.Error(err.Error()) os.Exit(1) } } From 611c5949a334acbd4fa725a164a85c64ebd758f8 Mon Sep 17 00:00:00 2001 From: Siavash Safi Date: Sat, 14 Sep 2024 19:45:47 +0200 Subject: [PATCH 121/151] Add `exclude[]` parameter (#3116) This PR adds a `exclude[]` URL parameter to exclude specific enabled collectors. Compared to `collect[]` parameter, the `exclude[]` parameter results in a filtered list which equals enabled collectors minus excluded ones. Signed-off-by: Siavash Safi Signed-off-by: Vitaly Zhuravlev --- README.md | 14 +++++++++++--- node_exporter.go | 41 +++++++++++++++++++++++++++++++++-------- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index afe496fd18..44a9d2b1fe 100644 --- a/README.md +++ b/README.md @@ -339,13 +339,21 @@ mv /path/to/directory/role.prom.$$ /path/to/directory/role.prom The `node_exporter` will expose all metrics from enabled collectors by default. This is the recommended way to collect metrics to avoid errors when comparing metrics of different families. -For advanced use the `node_exporter` can be passed an optional list of collectors to filter metrics. The `collect[]` parameter may be used multiple times. In Prometheus configuration you can use this syntax under the [scrape config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#). +For advanced use the `node_exporter` can be passed an optional list of collectors to filter metrics. The parameters `collect[]` and `exclude[]` can be used multiple times (but cannot be combined). In Prometheus configuration you can use this syntax under the [scrape config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#). +Collect only `cpu` and `meminfo` collector metrics: ``` params: collect[]: - - foo - - bar + - cpu + - meminfo +``` + +Collect all enabled collector metrics but exclude `netdev`: +``` + params: + exclude[]: + - netdev ``` This can be useful for having different Prometheus servers collect specific metrics from nodes. diff --git a/node_exporter.go b/node_exporter.go index c315d9f404..88441e1e21 100644 --- a/node_exporter.go +++ b/node_exporter.go @@ -21,6 +21,7 @@ import ( "os" "os/user" "runtime" + "slices" "sort" "github.com/prometheus/common/promslog" @@ -42,6 +43,8 @@ import ( // newHandler. type handler struct { unfilteredHandler http.Handler + // enabledCollectors list is used for logging and filtering + enabledCollectors []string // exporterMetricsRegistry is a separate registry for the metrics about // the exporter itself. exporterMetricsRegistry *prometheus.Registry @@ -73,16 +76,39 @@ func newHandler(includeExporterMetrics bool, maxRequests int, logger *slog.Logge // ServeHTTP implements http.Handler. func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - filters := r.URL.Query()["collect[]"] - h.logger.Debug("collect query:", "filters", filters) + collects := r.URL.Query()["collect[]"] + h.logger.Debug("collect query:", "collects", collects) - if len(filters) == 0 { + excludes := r.URL.Query()["exclude[]"] + h.logger.Debug("exclude query:", "excludes", excludes) + + if len(collects) == 0 && len(excludes) == 0 { // No filters, use the prepared unfiltered handler. h.unfilteredHandler.ServeHTTP(w, r) return } + + if len(collects) > 0 && len(excludes) > 0 { + h.logger.Debug("rejecting combined collect and exclude queries") + w.WriteHeader(http.StatusBadRequest) + w.Write([]byte("Combined collect and exclude queries are not allowed.")) + return + } + + filters := &collects + if len(excludes) > 0 { + // In exclude mode, filtered collectors = enabled - excludeed. + f := []string{} + for _, c := range h.enabledCollectors { + if (slices.Index(excludes, c)) == -1 { + f = append(f, c) + } + } + filters = &f + } + // To serve filtered metrics, we create a filtering handler on the fly. - filteredHandler, err := h.innerHandler(filters...) + filteredHandler, err := h.innerHandler(*filters...) if err != nil { h.logger.Warn("Couldn't create filtered metrics handler:", "err", err) w.WriteHeader(http.StatusBadRequest) @@ -107,12 +133,11 @@ func (h *handler) innerHandler(filters ...string) (http.Handler, error) { // only once upon startup. if len(filters) == 0 { h.logger.Info("Enabled collectors") - collectors := []string{} for n := range nc.Collectors { - collectors = append(collectors, n) + h.enabledCollectors = append(h.enabledCollectors, n) } - sort.Strings(collectors) - for _, c := range collectors { + sort.Strings(h.enabledCollectors) + for _, c := range h.enabledCollectors { h.logger.Info(c) } } From 1bc54bccd107f77260a357666511d1adc32c101b Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Fri, 20 Sep 2024 19:23:06 +0200 Subject: [PATCH 122/151] Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089) Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/arp_linux.go | 2 +- collector/netclass_rtnl_linux.go | 2 +- collector/netdev_linux.go | 2 +- collector/netdev_linux_test.go | 2 +- collector/network_route_linux.go | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/collector/arp_linux.go b/collector/arp_linux.go index 4b5ac65e7d..7f417d824e 100644 --- a/collector/arp_linux.go +++ b/collector/arp_linux.go @@ -23,7 +23,7 @@ import ( "net" "github.com/alecthomas/kingpin/v2" - "github.com/jsimonetti/rtnetlink" + "github.com/jsimonetti/rtnetlink/v2" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs" "golang.org/x/sys/unix" diff --git a/collector/netclass_rtnl_linux.go b/collector/netclass_rtnl_linux.go index 96feb8bc68..44d89f8f05 100644 --- a/collector/netclass_rtnl_linux.go +++ b/collector/netclass_rtnl_linux.go @@ -23,7 +23,7 @@ import ( "path/filepath" "github.com/alecthomas/kingpin/v2" - "github.com/jsimonetti/rtnetlink" + "github.com/jsimonetti/rtnetlink/v2" "github.com/mdlayher/ethtool" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/procfs/sysfs" diff --git a/collector/netdev_linux.go b/collector/netdev_linux.go index f449980a1d..58ac4af578 100644 --- a/collector/netdev_linux.go +++ b/collector/netdev_linux.go @@ -21,7 +21,7 @@ import ( "log/slog" "github.com/alecthomas/kingpin/v2" - "github.com/jsimonetti/rtnetlink" + "github.com/jsimonetti/rtnetlink/v2" "github.com/prometheus/procfs" "github.com/prometheus/procfs/sysfs" ) diff --git a/collector/netdev_linux_test.go b/collector/netdev_linux_test.go index cb27a81b0a..06700fd8ed 100644 --- a/collector/netdev_linux_test.go +++ b/collector/netdev_linux_test.go @@ -21,7 +21,7 @@ import ( "log/slog" "testing" - "github.com/jsimonetti/rtnetlink" + "github.com/jsimonetti/rtnetlink/v2" ) var links = []rtnetlink.LinkMessage{ diff --git a/collector/network_route_linux.go b/collector/network_route_linux.go index 8eb141d633..5a5c34d29d 100644 --- a/collector/network_route_linux.go +++ b/collector/network_route_linux.go @@ -18,13 +18,13 @@ package collector import ( "fmt" - "golang.org/x/sys/unix" "log/slog" "net" "strconv" - "github.com/jsimonetti/rtnetlink" + "github.com/jsimonetti/rtnetlink/v2" "github.com/prometheus/client_golang/prometheus" + "golang.org/x/sys/unix" ) type networkRouteCollector struct { diff --git a/go.mod b/go.mod index fdb56b5590..f6180440eb 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/hodgesds/perf-utils v0.7.0 github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 github.com/josharian/native v1.1.0 - github.com/jsimonetti/rtnetlink v1.4.2 + github.com/jsimonetti/rtnetlink/v2 v2.0.2 github.com/lufia/iostat v1.2.1 github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.2.0 diff --git a/go.sum b/go.sum index 85ff97cda6..29f642ccf3 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtL github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jsimonetti/rtnetlink v1.4.2 h1:Df9w9TZ3npHTyDn0Ev9e1uzmN2odmXd0QX+J5GTEn90= -github.com/jsimonetti/rtnetlink v1.4.2/go.mod h1:92s6LJdE+1iOrw+F2/RO7LYI2Qd8pPpFNNUYW06gcoM= +github.com/jsimonetti/rtnetlink/v2 v2.0.2 h1:ZKlbCujrIpp4/u3V2Ka0oxlf4BCkt6ojkvpy3nZoCBY= +github.com/jsimonetti/rtnetlink/v2 v2.0.2/go.mod h1:7MoNYNbb3UaDHtF8udiJo/RH6VsTKP1pqKLUTVCvToE= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= From b0fce3a2a6e83357bb2997bc59377776873ab34e Mon Sep 17 00:00:00 2001 From: prombot Date: Sun, 14 Jul 2024 17:50:49 +0000 Subject: [PATCH 123/151] Update common Prometheus files Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index bb65d7f607..83ae3906cc 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Install Go uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 with: From 28e1c8488d71890e4654f346f75413592de98166 Mon Sep 17 00:00:00 2001 From: Nils K <24257556+septatrix@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:34:41 +0200 Subject: [PATCH 124/151] Gracefully handle absence of environment configuration file (#3062) node_exporter has reasonable defaults so it is able to start without explicit config. Such a setup is common in /usr/-only images where /etc/ is an empty tmpfs upon boot. Signed-off-by: Nils K <24257556+septatrix@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- examples/systemd/node_exporter.service | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/systemd/node_exporter.service b/examples/systemd/node_exporter.service index 82553e91ee..1ef24442d2 100644 --- a/examples/systemd/node_exporter.service +++ b/examples/systemd/node_exporter.service @@ -4,7 +4,9 @@ Requires=node_exporter.socket [Service] User=node_exporter -EnvironmentFile=/etc/sysconfig/node_exporter +# Fallback when environment file does not exist +Environment=OPTIONS= +EnvironmentFile=-/etc/sysconfig/node_exporter ExecStart=/usr/sbin/node_exporter --web.systemd-socket $OPTIONS [Install] From 0ac19645258410c38f69a1e1e050298ab84f52ae Mon Sep 17 00:00:00 2001 From: Tobias Nygren Date: Sun, 22 Sep 2024 19:51:29 +0200 Subject: [PATCH 125/151] collector: add NetBSD support for filesystem (#3082) Signed-off-by: Tobias Nygren Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_common.go | 4 +- collector/filesystem_netbsd.go | 132 +++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 2 deletions(-) create mode 100644 collector/filesystem_netbsd.go diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index ee61aba8ec..b3b991d3a4 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nofilesystem && (linux || freebsd || openbsd || darwin || dragonfly) +//go:build !nofilesystem && (linux || freebsd || netbsd || openbsd || darwin || dragonfly) // +build !nofilesystem -// +build linux freebsd openbsd darwin dragonfly +// +build linux freebsd netbsd openbsd darwin dragonfly package collector diff --git a/collector/filesystem_netbsd.go b/collector/filesystem_netbsd.go new file mode 100644 index 0000000000..3d67d3473f --- /dev/null +++ b/collector/filesystem_netbsd.go @@ -0,0 +1,132 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nofilesystem +// +build !nofilesystem + +package collector + +import ( + "fmt" + "github.com/go-kit/log/level" + "golang.org/x/sys/unix" + "syscall" + "unsafe" +) + +const ( + defMountPointsExcluded = "^/(dev)($|/)" + defFSTypesExcluded = "^(kernfs|procfs|ptyfs|fdesc)$" + _VFS_NAMELEN = 32 + _VFS_MNAMELEN = 1024 +) + +/* + * Go uses the NetBSD 9 ABI and thus syscall.SYS_GETVFSSTAT is compat_90_getvfsstat. + * We have to declare struct statvfs90 because it is not included in the unix package. + * See NetBSD/src/sys/compat/sys/statvfs.h. + */ +type statvfs90 struct { + F_flag uint + F_bsize uint + F_frsize uint + F_iosize uint + + F_blocks uint64 + F_bfree uint64 + F_bavail uint64 + F_bresvd uint64 + + F_files uint64 + F_ffree uint64 + F_favail uint64 + F_fresvd uint64 + + F_syncreads uint64 + F_syncwrites uint64 + + F_asyncreads uint64 + F_asyncwrites uint64 + + F_fsidx [2]uint32 + F_fsid uint32 + F_namemax uint + F_owner uint32 + F_spare [4]uint32 + + F_fstypename [_VFS_NAMELEN]byte + F_mntonname [_VFS_MNAMELEN]byte + F_mntfromname [_VFS_MNAMELEN]byte + + cgo_pad [4]byte +} + +func (c *filesystemCollector) GetStats() (stats []filesystemStats, err error) { + var mnt []statvfs90 + if syscall.SYS_GETVFSSTAT != 356 /* compat_90_getvfsstat */ { + /* + * Catch if golang ever updates to newer ABI and bail. + */ + return nil, fmt.Errorf("getvfsstat: ABI mismatch") + } + for { + r1, _, errno := syscall.Syscall(syscall.SYS_GETVFSSTAT, uintptr(0), 0, unix.ST_NOWAIT) + if errno != 0 { + return nil, fmt.Errorf("getvfsstat: %s", string(errno)) + } + mnt = make([]statvfs90, r1, r1) + r2, _, errno := syscall.Syscall(syscall.SYS_GETVFSSTAT, uintptr(unsafe.Pointer(&mnt[0])), unsafe.Sizeof(mnt[0])*r1, unix.ST_NOWAIT /* ST_NOWAIT */) + if errno != 0 { + return nil, fmt.Errorf("getvfsstat: %s", string(errno)) + } + if r1 == r2 { + break + } + } + + stats = []filesystemStats{} + for _, v := range mnt { + mountpoint := unix.ByteSliceToString(v.F_mntonname[:]) + if c.excludedMountPointsPattern.MatchString(mountpoint) { + level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) + continue + } + + device := unix.ByteSliceToString(v.F_mntfromname[:]) + fstype := unix.ByteSliceToString(v.F_fstypename[:]) + if c.excludedFSTypesPattern.MatchString(fstype) { + level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) + continue + } + + var ro float64 + if (v.F_flag & unix.MNT_RDONLY) != 0 { + ro = 1 + } + + stats = append(stats, filesystemStats{ + labels: filesystemLabels{ + device: device, + mountPoint: mountpoint, + fsType: fstype, + }, + size: float64(v.F_blocks) * float64(v.F_bsize), + free: float64(v.F_bfree) * float64(v.F_bsize), + avail: float64(v.F_bavail) * float64(v.F_bsize), + files: float64(v.F_files), + filesFree: float64(v.F_ffree), + ro: ro, + }) + } + return stats, nil +} From f407a0a0fcb18b1a155285c4fd04c31b9c9fd8dc Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Mon, 23 Sep 2024 05:02:59 +0530 Subject: [PATCH 126/151] fix: address `master` issues (#3131) Log using the machinery introduced in #3097. Signed-off-by: Pranshu Srivastava Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_netbsd.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/collector/filesystem_netbsd.go b/collector/filesystem_netbsd.go index 3d67d3473f..ba6a9f55a5 100644 --- a/collector/filesystem_netbsd.go +++ b/collector/filesystem_netbsd.go @@ -18,10 +18,10 @@ package collector import ( "fmt" - "github.com/go-kit/log/level" - "golang.org/x/sys/unix" "syscall" "unsafe" + + "golang.org/x/sys/unix" ) const ( @@ -98,14 +98,14 @@ func (c *filesystemCollector) GetStats() (stats []filesystemStats, err error) { for _, v := range mnt { mountpoint := unix.ByteSliceToString(v.F_mntonname[:]) if c.excludedMountPointsPattern.MatchString(mountpoint) { - level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) + c.logger.Debug("msg", "Ignoring mount point", "mountpoint", mountpoint) continue } device := unix.ByteSliceToString(v.F_mntfromname[:]) fstype := unix.ByteSliceToString(v.F_fstypename[:]) if c.excludedFSTypesPattern.MatchString(fstype) { - level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) + c.logger.Debug("msg", "Ignoring fs type", "type", fstype) continue } From 30d00d917761ad0452a88d4a1bd7b58c9d4411d8 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Mon, 23 Sep 2024 01:33:13 +0200 Subject: [PATCH 127/151] Update common Prometheus files (#3130) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 8 ++++---- Makefile.common | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 83ae3906cc..a15cfc97f0 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -26,14 +26,14 @@ jobs: - name: Checkout repository uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Install Go - uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 + uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 with: - go-version: 1.22.x + go-version: 1.23.x - name: Install snmp_exporter/generator dependencies run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' - name: Lint - uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1 + uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0 with: args: --verbose - version: v1.59.1 + version: v1.60.2 diff --git a/Makefile.common b/Makefile.common index e3da72ab47..cbb5d86382 100644 --- a/Makefile.common +++ b/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.59.1 +GOLANGCI_LINT_VERSION ?= v1.60.2 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) @@ -275,3 +275,9 @@ $(1)_precheck: exit 1; \ fi endef + +govulncheck: install-govulncheck + govulncheck ./... + +install-govulncheck: + command -v govulncheck > /dev/null || go install golang.org/x/vuln/cmd/govulncheck@latest From c3b0fdd6f5dea2372720c899115886297a0d1115 Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Tue, 24 Sep 2024 02:25:48 +0000 Subject: [PATCH 128/151] build fix on FreeBSD (#3132) Signed-off-by: Steve Wills Signed-off-by: Vitaly Zhuravlev --- collector/netdev_bsd.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collector/netdev_bsd.go b/collector/netdev_bsd.go index 2c3e7f4cd0..e1a947e7c2 100644 --- a/collector/netdev_bsd.go +++ b/collector/netdev_bsd.go @@ -70,3 +70,7 @@ func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, err return netDev, nil } + +func getNetDevLabels() (map[string]map[string]string, error) { + return nil, nil +} From 114e98d3675bab2249f1e399820c571edac64052 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 07:56:47 -0500 Subject: [PATCH 129/151] Add AIX CPU collector Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/cpu_aix.go | 76 ++++++++++++++++++++++++++++++++++++++++++++ go.mod | 1 + 2 files changed, 77 insertions(+) create mode 100644 collector/cpu_aix.go diff --git a/collector/cpu_aix.go b/collector/cpu_aix.go new file mode 100644 index 0000000000..9d896e2ded --- /dev/null +++ b/collector/cpu_aix.go @@ -0,0 +1,76 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nocpu +// +build !nocpu + +package collector + +/* +#include // Include the standard Unix header +#include // For errno +*/ +import "C" +import ( + "fmt" + "log/slog" + "strconv" + + "github.com/power-devops/perfstat" + "github.com/prometheus/client_golang/prometheus" +) + +type cpuCollector struct { + cpu typedDesc + logger *slog.Logger + tickPerSecond int64 +} + +func init() { + registerCollector("cpu", defaultEnabled, NewCpuCollector) +} + +func tickPerSecond() (int64, error) { + ticks, err := C.sysconf(C._SC_CLK_TCK) + if ticks == -1 || err != nil { + return 0, fmt.Errorf("failed to get clock ticks per second: %v", err) + } + return int64(ticks), nil +} + +func NewCpuCollector(logger *slog.Logger) (Collector, error) { + ticks, err := tickPerSecond() + if err != nil { + return nil, err + } + return &cpuCollector{ + cpu: typedDesc{nodeCPUSecondsDesc, prometheus.CounterValue}, + logger: logger, + tickPerSecond: ticks, + }, nil +} + +func (c *cpuCollector) Update(ch chan<- prometheus.Metric) error { + stats, err := perfstat.CpuStat() + if err != nil { + return err + } + + for n, stat := range stats { + ch <- c.cpu.mustNewConstMetric(float64(stat.User/c.tickPerSecond), strconv.Itoa(n), "user") + ch <- c.cpu.mustNewConstMetric(float64(stat.Sys/c.tickPerSecond), strconv.Itoa(n), "system") + ch <- c.cpu.mustNewConstMetric(float64(stat.Idle/c.tickPerSecond), strconv.Itoa(n), "idle") + ch <- c.cpu.mustNewConstMetric(float64(stat.Wait/c.tickPerSecond), strconv.Itoa(n), "wait") + } + return nil +} diff --git a/go.mod b/go.mod index f6180440eb..080f0697cf 100644 --- a/go.mod +++ b/go.mod @@ -20,6 +20,7 @@ require ( github.com/mdlayher/netlink v1.7.2 github.com/mdlayher/wifi v0.2.0 github.com/opencontainers/selinux v1.11.0 + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 github.com/prometheus-community/go-runit v0.1.0 github.com/prometheus/client_golang v1.20.3 github.com/prometheus/client_model v0.6.1 From a45ea2b63e9e02bdf6121bf0fab75caffbf44d06 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 15:52:12 +0200 Subject: [PATCH 130/151] Add AIX meminfo Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/meminfo.go | 4 ++-- collector/meminfo_aix.go | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 collector/meminfo_aix.go diff --git a/collector/meminfo.go b/collector/meminfo.go index 55e1360460..4eab27b155 100644 --- a/collector/meminfo.go +++ b/collector/meminfo.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build (darwin || linux || openbsd || netbsd) && !nomeminfo -// +build darwin linux openbsd netbsd +//go:build (darwin || linux || openbsd || netbsd || aix) && !nomeminfo +// +build darwin linux openbsd netbsd aix // +build !nomeminfo package collector diff --git a/collector/meminfo_aix.go b/collector/meminfo_aix.go new file mode 100644 index 0000000000..ff59105b04 --- /dev/null +++ b/collector/meminfo_aix.go @@ -0,0 +1,47 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nomeminfo +// +build !nomeminfo + +package collector + +import ( + "log/slog" + + "github.com/power-devops/perfstat" +) + +type meminfoCollector struct { + logger *slog.Logger +} + +// NewMeminfoCollector returns a new Collector exposing memory stats. +func NewMeminfoCollector(logger *slog.Logger) (Collector, error) { + return &meminfoCollector{ + logger: logger, + }, nil +} + +func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { + stats, err := perfstat.MemoryTotalStat() + if err != nil { + return nil, err + } + + return map[string]float64{ + "total_bytes": float64(stats.RealTotal * 4096), + "free_bytes": float64(stats.RealFree * 4096), + "available_bytes": float64(stats.RealAvailable * 4096), + }, nil +} From d615d2c7e5210edbe3c856f8d948103b825ebc22 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 15:55:41 +0200 Subject: [PATCH 131/151] Add AIX loadavg collector Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/loadavg.go | 4 ++-- collector/loadavg_aix.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 collector/loadavg_aix.go diff --git a/collector/loadavg.go b/collector/loadavg.go index 09280ebfd6..09b1df3a4b 100644 --- a/collector/loadavg.go +++ b/collector/loadavg.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris) && !noloadavg -// +build darwin dragonfly freebsd linux netbsd openbsd solaris +//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || aix) && !noloadavg +// +build darwin dragonfly freebsd linux netbsd openbsd solaris aix // +build !noloadavg package collector diff --git a/collector/loadavg_aix.go b/collector/loadavg_aix.go new file mode 100644 index 0000000000..0f3db0d94f --- /dev/null +++ b/collector/loadavg_aix.go @@ -0,0 +1,30 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !noloadavg +// +build !noloadavg + +package collector + +import ( + "github.com/power-devops/perfstat" +) + +func getLoad() ([]float64, error) { + stat, err := perfstat.CpuTotalStat() + if err != nil { + return nil, err + } + + return []float64{float64(stat.LoadAvg1), float64(stat.LoadAvg5), float64(stat.LoadAvg15)}, nil +} From 0c522e1e027e84ee38dc8fd1aad02f26b4e06dcf Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 16:10:08 +0200 Subject: [PATCH 132/151] Add AIX diskstats Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/diskstats_aix.go | 82 +++++++++++++++++++++++++++++++++++ collector/diskstats_common.go | 4 +- 2 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 collector/diskstats_aix.go diff --git a/collector/diskstats_aix.go b/collector/diskstats_aix.go new file mode 100644 index 0000000000..c6619fd9bd --- /dev/null +++ b/collector/diskstats_aix.go @@ -0,0 +1,82 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nodiskstats +// +build !nodiskstats + +package collector + +import ( + "fmt" + "log/slog" + + "github.com/power-devops/perfstat" + "github.com/prometheus/client_golang/prometheus" +) + +const diskstatsDefaultIgnoredDevices = "" + +type diskstatsCollector struct { + rbytes typedDesc + wbytes typedDesc + time typedDesc + + deviceFilter deviceFilter + logger *slog.Logger + + tickPerSecond int64 +} + +func init() { + registerCollector("diskstats", defaultEnabled, NewDiskstatsCollector) +} + +// NewDiskstatsCollector returns a new Collector exposing disk device stats. +func NewDiskstatsCollector(logger *slog.Logger) (Collector, error) { + ticks, err := tickPerSecond() + if err != nil { + return nil, err + } + deviceFilter, err := newDiskstatsDeviceFilter(logger) + if err != nil { + return nil, fmt.Errorf("failed to parse device filter flags: %w", err) + } + + return &diskstatsCollector{ + rbytes: typedDesc{readBytesDesc, prometheus.CounterValue}, + wbytes: typedDesc{writtenBytesDesc, prometheus.CounterValue}, + time: typedDesc{ioTimeSecondsDesc, prometheus.CounterValue}, + + deviceFilter: deviceFilter, + logger: logger, + + tickPerSecond: ticks, + }, nil +} + +func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { + stats, err := perfstat.DiskStat() + if err != nil { + return err + } + + for _, stat := range stats { + if c.deviceFilter.ignored(stat.Name) { + continue + } + ch <- c.rbytes.mustNewConstMetric(float64(stat.Rblks*512), stat.Name) + ch <- c.wbytes.mustNewConstMetric(float64(stat.Wblks*512), stat.Name) + ch <- c.time.mustNewConstMetric(float64(stat.Time/c.tickPerSecond), stat.Name) + } + return nil +} diff --git a/collector/diskstats_common.go b/collector/diskstats_common.go index dc1df4d792..593d055847 100644 --- a/collector/diskstats_common.go +++ b/collector/diskstats_common.go @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nodiskstats && (openbsd || linux || darwin) +//go:build !nodiskstats && (openbsd || linux || darwin || aix) // +build !nodiskstats -// +build openbsd linux darwin +// +build openbsd linux darwin aix package collector From 6812dd6a6f3242f679160168b0400a78fcb7c7f3 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 09:34:59 -0500 Subject: [PATCH 133/151] Add AIX filesystem collector Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/filesystem_aix.go | 65 ++++++++++++++++++++++++++++++++++ collector/filesystem_common.go | 4 +-- go.sum | 3 ++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 collector/filesystem_aix.go diff --git a/collector/filesystem_aix.go b/collector/filesystem_aix.go new file mode 100644 index 0000000000..863a26a000 --- /dev/null +++ b/collector/filesystem_aix.go @@ -0,0 +1,65 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nofilesystem +// +build !nofilesystem + +package collector + +import ( + "github.com/power-devops/perfstat" +) + +const ( + defMountPointsExcluded = "^/(dev|aha)($|/)" + defFSTypesExcluded = "^procfs$" +) + +// Expose filesystem fullness. +func (c *filesystemCollector) GetStats() (stats []filesystemStats, err error) { + fsStat, err := perfstat.FileSystemStat() + if err != nil { + return nil, err + } + for _, stat := range fsStat { + if c.excludedMountPointsPattern.MatchString(stat.MountPoint) { + c.logger.Debug("Ignoring mount point", "mountpoint", stat.MountPoint) + continue + } + fstype := stat.TypeString() + if c.excludedFSTypesPattern.MatchString(fstype) { + c.logger.Debug("Ignoring fs type", "type", fstype) + continue + } + + ro := 0.0 + if stat.Flags&perfstat.VFS_READONLY != 0 { + ro = 1.0 + } + + stats = append(stats, filesystemStats{ + labels: filesystemLabels{ + device: stat.Device, + mountPoint: stat.MountPoint, + fsType: fstype, + }, + size: float64(stat.TotalBlocks / 512.0), + free: float64(stat.FreeBlocks / 512.0), + avail: float64(stat.FreeBlocks / 512.0), // AIX doesn't distinguish between free and available blocks. + files: float64(stat.TotalInodes), + filesFree: float64(stat.FreeInodes), + ro: ro, + }) + } + return stats, nil +} diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index b3b991d3a4..0ec55e8af6 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nofilesystem && (linux || freebsd || netbsd || openbsd || darwin || dragonfly) +//go:build !nofilesystem && (linux || freebsd || netbsd || openbsd || darwin || dragonfly || aix) // +build !nofilesystem -// +build linux freebsd netbsd openbsd darwin dragonfly +// +build linux freebsd netbsd openbsd darwin dragonfly aix package collector diff --git a/go.sum b/go.sum index 29f642ccf3..4890766ee5 100644 --- a/go.sum +++ b/go.sum @@ -71,6 +71,8 @@ github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaL github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4= @@ -110,6 +112,7 @@ golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= From 6642f65bf0c0a2a4365719a3edcb89512ba70a5b Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Tue, 30 Jul 2024 17:18:30 +0200 Subject: [PATCH 134/151] Add AIX netdev collector Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/netdev_aix.go | 54 ++++++++++++++++++++++++++++++++++++++ collector/netdev_common.go | 4 +-- 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 collector/netdev_aix.go diff --git a/collector/netdev_aix.go b/collector/netdev_aix.go new file mode 100644 index 0000000000..ae316443cf --- /dev/null +++ b/collector/netdev_aix.go @@ -0,0 +1,54 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !nonetdev +// +build !nonetdev + +package collector + +import ( + "log/slog" + + "github.com/power-devops/perfstat" +) + +func getNetDevStats(filter *deviceFilter, logger *slog.Logger) (netDevStats, error) { + netDev := netDevStats{} + + stats, err := perfstat.NetAdapterStat() + if err != nil { + return nil, err + } + + for _, stat := range stats { + netDev[stat.Name] = map[string]uint64{ + "receive_packets": uint64(stat.RxPackets), + "transmit_packets": uint64(stat.TxPackets), + "receive_bytes": uint64(stat.RxBytes), + "transmit_bytes": uint64(stat.TxBytes), + "receive_errors": uint64(stat.RxErrors), + "transmit_errors": uint64(stat.TxErrors), + "receive_dropped": uint64(stat.RxPacketsDropped), + "transmit_dropped": uint64(stat.TxPacketsDropped), + "receive_multicast": uint64(stat.RxMulticastPackets), + "transmit_multicast": uint64(stat.TxMulticastPackets), + } + } + + return netDev, nil +} + +func getNetDevLabels() (map[string]map[string]string, error) { + // to be implemented if needed + return nil, nil +} diff --git a/collector/netdev_common.go b/collector/netdev_common.go index 893f6afa89..c19e5df578 100644 --- a/collector/netdev_common.go +++ b/collector/netdev_common.go @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nonetdev && (linux || freebsd || openbsd || dragonfly || darwin) +//go:build !nonetdev && (linux || freebsd || openbsd || dragonfly || darwin || aix) // +build !nonetdev -// +build linux freebsd openbsd dragonfly darwin +// +build linux freebsd openbsd dragonfly darwin aix package collector From a703690707f3f649b3f5a5b7399f5a74e62d43a6 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Mon, 12 Aug 2024 12:35:08 +0200 Subject: [PATCH 135/151] Enable uname collector on AIX Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/uname.go | 4 ++-- collector/uname_bsd.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/collector/uname.go b/collector/uname.go index a333fd487d..6b4f06e543 100644 --- a/collector/uname.go +++ b/collector/uname.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build (darwin || freebsd || openbsd || netbsd || linux) && !nouname -// +build darwin freebsd openbsd netbsd linux +//go:build (darwin || freebsd || openbsd || netbsd || linux || aix) && !nouname +// +build darwin freebsd openbsd netbsd linux aix // +build !nouname package collector diff --git a/collector/uname_bsd.go b/collector/uname_bsd.go index 69bf38e910..fa565a1ccf 100644 --- a/collector/uname_bsd.go +++ b/collector/uname_bsd.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build (darwin || freebsd || openbsd || netbsd) && !nouname -// +build darwin freebsd openbsd netbsd +//go:build (darwin || freebsd || openbsd || netbsd || aix) && !nouname +// +build darwin freebsd openbsd netbsd aix // +build !nouname package collector From 72456dcaf22c0e1e2d3cc5d59b4bc2d0fe0f3186 Mon Sep 17 00:00:00 2001 From: Johannes Ziemke Date: Sat, 28 Sep 2024 11:59:33 +0200 Subject: [PATCH 136/151] Disable osrelease collector on aix Signed-off-by: Johannes Ziemke Signed-off-by: Vitaly Zhuravlev --- collector/os_release.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/collector/os_release.go b/collector/os_release.go index 06bba6ab7c..e589c4ff9e 100644 --- a/collector/os_release.go +++ b/collector/os_release.go @@ -11,6 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build !noosrelease && !aix +// +build !noosrelease,!aix + package collector import ( From ce920a40d7e1a0318fe6bd358ac32bd740870d92 Mon Sep 17 00:00:00 2001 From: eduarrrd Date: Mon, 30 Sep 2024 09:40:03 +0200 Subject: [PATCH 137/151] textfile: Allow specifiying multiple directory globs. (#3135) We already support reading from multiple directories though only using globs. Now we can specify them outright. Example use case is exporting both static info on a RO FS generated during image building and traditional uses of textfiles (e.g. for R/W service metrics files) without scripting a file copy. * keep flag name for compatibility * clarify flag help text * add test case (replicating the glob one) Signed-off-by: eduarrrd Signed-off-by: Vitaly Zhuravlev --- collector/textfile.go | 22 ++++++----- collector/textfile_test.go | 75 +++++++++++++++++++++----------------- 2 files changed, 54 insertions(+), 43 deletions(-) diff --git a/collector/textfile.go b/collector/textfile.go index 6c831489b0..134083afbe 100644 --- a/collector/textfile.go +++ b/collector/textfile.go @@ -32,8 +32,8 @@ import ( ) var ( - textFileDirectory = kingpin.Flag("collector.textfile.directory", "Directory to read text files with metrics from.").Default("").String() - mtimeDesc = prometheus.NewDesc( + textFileDirectories = kingpin.Flag("collector.textfile.directory", "Directory to read text files with metrics from, supports glob matching. (repeatable)").Default("").Strings() + mtimeDesc = prometheus.NewDesc( "node_textfile_mtime_seconds", "Unixtime mtime of textfiles successfully read.", []string{"file"}, @@ -42,7 +42,7 @@ var ( ) type textFileCollector struct { - path string + paths []string // Only set for testing to get predictable output. mtime *float64 logger *slog.Logger @@ -56,7 +56,7 @@ func init() { // in the given textfile directory. func NewTextFileCollector(logger *slog.Logger) (Collector, error) { c := &textFileCollector{ - path: *textFileDirectory, + paths: *textFileDirectories, logger: logger, } return c, nil @@ -194,11 +194,15 @@ func (c *textFileCollector) Update(ch chan<- prometheus.Metric) error { metricsNamesToFiles := map[string][]string{} metricsNamesToHelpTexts := map[string][2]string{} - paths, err := filepath.Glob(c.path) - if err != nil || len(paths) == 0 { - // not glob or not accessible path either way assume single - // directory and let os.ReadDir handle it - paths = []string{c.path} + paths := []string{} + for _, glob := range c.paths { + ps, err := filepath.Glob(glob) + if err != nil || len(ps) == 0 { + // not glob or not accessible path either way assume single + // directory and let os.ReadDir handle it + ps = []string{glob} + } + paths = append(paths, ps...) } mtimes := make(map[string]time.Time) diff --git a/collector/textfile_test.go b/collector/textfile_test.go index cd08c64fe9..ece70b3a12 100644 --- a/collector/textfile_test.go +++ b/collector/textfile_test.go @@ -52,75 +52,82 @@ func (a collectorAdapter) Collect(ch chan<- prometheus.Metric) { func TestTextfileCollector(t *testing.T) { tests := []struct { - path string - out string + paths []string + out string }{ { - path: "fixtures/textfile/no_metric_files", - out: "fixtures/textfile/no_metric_files.out", + paths: []string{"fixtures/textfile/no_metric_files"}, + out: "fixtures/textfile/no_metric_files.out", }, { - path: "fixtures/textfile/two_metric_files", - out: "fixtures/textfile/two_metric_files.out", + paths: []string{"fixtures/textfile/two_metric_files"}, + out: "fixtures/textfile/two_metric_files.out", }, { - path: "fixtures/textfile/nonexistent_path", - out: "fixtures/textfile/nonexistent_path.out", + paths: []string{"fixtures/textfile/nonexistent_path"}, + out: "fixtures/textfile/nonexistent_path.out", }, { - path: "fixtures/textfile/client_side_timestamp", - out: "fixtures/textfile/client_side_timestamp.out", + paths: []string{"fixtures/textfile/client_side_timestamp"}, + out: "fixtures/textfile/client_side_timestamp.out", }, { - path: "fixtures/textfile/different_metric_types", - out: "fixtures/textfile/different_metric_types.out", + paths: []string{"fixtures/textfile/different_metric_types"}, + out: "fixtures/textfile/different_metric_types.out", }, { - path: "fixtures/textfile/inconsistent_metrics", - out: "fixtures/textfile/inconsistent_metrics.out", + paths: []string{"fixtures/textfile/inconsistent_metrics"}, + out: "fixtures/textfile/inconsistent_metrics.out", }, { - path: "fixtures/textfile/histogram", - out: "fixtures/textfile/histogram.out", + paths: []string{"fixtures/textfile/histogram"}, + out: "fixtures/textfile/histogram.out", }, { - path: "fixtures/textfile/histogram_extra_dimension", - out: "fixtures/textfile/histogram_extra_dimension.out", + paths: []string{"fixtures/textfile/histogram_extra_dimension"}, + out: "fixtures/textfile/histogram_extra_dimension.out", }, { - path: "fixtures/textfile/summary", - out: "fixtures/textfile/summary.out", + paths: []string{"fixtures/textfile/summary"}, + out: "fixtures/textfile/summary.out", }, { - path: "fixtures/textfile/summary_extra_dimension", - out: "fixtures/textfile/summary_extra_dimension.out", + paths: []string{"fixtures/textfile/summary_extra_dimension"}, + out: "fixtures/textfile/summary_extra_dimension.out", }, { - path: "fixtures/textfile/*_extra_dimension", - out: "fixtures/textfile/glob_extra_dimension.out", + paths: []string{ + "fixtures/textfile/histogram_extra_dimension", + "fixtures/textfile/summary_extra_dimension", + }, + out: "fixtures/textfile/glob_extra_dimension.out", }, { - path: "fixtures/textfile/metrics_merge_empty_help", - out: "fixtures/textfile/metrics_merge_empty_help.out", + paths: []string{"fixtures/textfile/*_extra_dimension"}, + out: "fixtures/textfile/glob_extra_dimension.out", }, { - path: "fixtures/textfile/metrics_merge_no_help", - out: "fixtures/textfile/metrics_merge_no_help.out", + paths: []string{"fixtures/textfile/metrics_merge_empty_help"}, + out: "fixtures/textfile/metrics_merge_empty_help.out", }, { - path: "fixtures/textfile/metrics_merge_same_help", - out: "fixtures/textfile/metrics_merge_same_help.out", + paths: []string{"fixtures/textfile/metrics_merge_no_help"}, + out: "fixtures/textfile/metrics_merge_no_help.out", }, { - path: "fixtures/textfile/metrics_merge_different_help", - out: "fixtures/textfile/metrics_merge_different_help.out", + paths: []string{"fixtures/textfile/metrics_merge_same_help"}, + out: "fixtures/textfile/metrics_merge_same_help.out", + }, + { + paths: []string{"fixtures/textfile/metrics_merge_different_help"}, + out: "fixtures/textfile/metrics_merge_different_help.out", }, } for i, test := range tests { mtime := 1.0 c := &textFileCollector{ - path: test.path, + paths: test.paths, mtime: &mtime, logger: slog.New(slog.NewTextHandler(io.Discard, nil)), } @@ -146,7 +153,7 @@ func TestTextfileCollector(t *testing.T) { } if string(want) != got { - t.Fatalf("%d.%q want:\n\n%s\n\ngot:\n\n%s", i, test.path, string(want), got) + t.Fatalf("%d.%q want:\n\n%s\n\ngot:\n\n%s", i, test.paths, string(want), got) } } } From 26e2ccd60fc25daf23565a383e11cc90e0246b28 Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Sun, 12 May 2024 18:12:21 +0200 Subject: [PATCH 138/151] zfs: move Linux-specific code out of zfs.go Avoid Linux-specific code scattered in two places by moving it to the already-existing zfs_linux.go. Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/zfs.go | 145 +---------------------------------------- collector/zfs_linux.go | 138 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 139 insertions(+), 144 deletions(-) diff --git a/collector/zfs.go b/collector/zfs.go index 8581e0a24b..67e7ca616e 100644 --- a/collector/zfs.go +++ b/collector/zfs.go @@ -11,148 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build linux && !nozfs -// +build linux,!nozfs +//go:build !nozfs +// +build !nozfs package collector - -import ( - "errors" - "log/slog" - "strings" - - "github.com/prometheus/client_golang/prometheus" -) - -var errZFSNotAvailable = errors.New("ZFS / ZFS statistics are not available") - -type zfsSysctl string - -func init() { - registerCollector("zfs", defaultEnabled, NewZFSCollector) -} - -type zfsCollector struct { - linuxProcpathBase string - linuxZpoolIoPath string - linuxZpoolObjsetPath string - linuxZpoolStatePath string - linuxPathMap map[string]string - logger *slog.Logger -} - -// NewZFSCollector returns a new Collector exposing ZFS statistics. -func NewZFSCollector(logger *slog.Logger) (Collector, error) { - return &zfsCollector{ - linuxProcpathBase: "spl/kstat/zfs", - linuxZpoolIoPath: "/*/io", - linuxZpoolObjsetPath: "/*/objset-*", - linuxZpoolStatePath: "/*/state", - linuxPathMap: map[string]string{ - "zfs_abd": "abdstats", - "zfs_arc": "arcstats", - "zfs_dbuf": "dbufstats", - "zfs_dmu_tx": "dmu_tx", - "zfs_dnode": "dnodestats", - "zfs_fm": "fm", - "zfs_vdev_cache": "vdev_cache_stats", // vdev_cache is deprecated - "zfs_vdev_mirror": "vdev_mirror_stats", - "zfs_xuio": "xuio_stats", // no known consumers of the XUIO interface on Linux exist - "zfs_zfetch": "zfetchstats", - "zfs_zil": "zil", - }, - logger: logger, - }, nil -} - -func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { - - if _, err := c.openProcFile(c.linuxProcpathBase); err != nil { - if err == errZFSNotAvailable { - c.logger.Debug(err.Error()) - return ErrNoData - } - } - - for subsystem := range c.linuxPathMap { - if err := c.updateZfsStats(subsystem, ch); err != nil { - if err == errZFSNotAvailable { - c.logger.Debug(err.Error()) - // ZFS /proc files are added as new features to ZFS arrive, it is ok to continue - continue - } - return err - } - } - - // Pool stats - return c.updatePoolStats(ch) -} - -func (s zfsSysctl) metricName() string { - parts := strings.Split(string(s), ".") - return strings.Replace(parts[len(parts)-1], "-", "_", -1) -} - -func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, value float64) prometheus.Metric { - metricName := sysctl.metricName() - - return prometheus.MustNewConstMetric( - prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, metricName), - string(sysctl), - nil, - nil, - ), - prometheus.UntypedValue, - value, - ) -} - -func (c *zfsCollector) constPoolMetric(poolName string, sysctl zfsSysctl, value uint64) prometheus.Metric { - metricName := sysctl.metricName() - - return prometheus.MustNewConstMetric( - prometheus.NewDesc( - prometheus.BuildFQName(namespace, "zfs_zpool", metricName), - string(sysctl), - []string{"zpool"}, - nil, - ), - prometheus.UntypedValue, - float64(value), - poolName, - ) -} - -func (c *zfsCollector) constPoolObjsetMetric(poolName string, datasetName string, sysctl zfsSysctl, value uint64) prometheus.Metric { - metricName := sysctl.metricName() - - return prometheus.MustNewConstMetric( - prometheus.NewDesc( - prometheus.BuildFQName(namespace, "zfs_zpool_dataset", metricName), - string(sysctl), - []string{"zpool", "dataset"}, - nil, - ), - prometheus.UntypedValue, - float64(value), - poolName, - datasetName, - ) -} - -func (c *zfsCollector) constPoolStateMetric(poolName string, stateName string, isActive uint64) prometheus.Metric { - return prometheus.MustNewConstMetric( - prometheus.NewDesc( - prometheus.BuildFQName(namespace, "zfs_zpool", "state"), - "kstat.zfs.misc.state", - []string{"zpool", "state"}, - nil, - ), - prometheus.GaugeValue, - float64(isActive), - poolName, - stateName, - ) -} diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index 31e610d52d..e4bbe7c329 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -18,8 +18,10 @@ package collector import ( "bufio" + "errors" "fmt" "io" + "log/slog" "os" "path/filepath" "strconv" @@ -41,7 +43,71 @@ const ( // kstatDataString = "7" ) -var zfsPoolStatesName = []string{"online", "degraded", "faulted", "offline", "removed", "unavail", "suspended"} +var ( + errZFSNotAvailable = errors.New("ZFS / ZFS statistics are not available") + + zfsPoolStatesName = []string{"online", "degraded", "faulted", "offline", "removed", "unavail", "suspended"} +) + +type zfsCollector struct { + linuxProcpathBase string + linuxZpoolIoPath string + linuxZpoolObjsetPath string + linuxZpoolStatePath string + linuxPathMap map[string]string + logger *slog.Logger +} + +func init() { + registerCollector("zfs", defaultEnabled, NewZFSCollector) +} + +// NewZFSCollector returns a new Collector exposing ZFS statistics. +func NewZFSCollector(logger *slog.Logger) (Collector, error) { + return &zfsCollector{ + linuxProcpathBase: "spl/kstat/zfs", + linuxZpoolIoPath: "/*/io", + linuxZpoolObjsetPath: "/*/objset-*", + linuxZpoolStatePath: "/*/state", + linuxPathMap: map[string]string{ + "zfs_abd": "abdstats", + "zfs_arc": "arcstats", + "zfs_dbuf": "dbufstats", + "zfs_dmu_tx": "dmu_tx", + "zfs_dnode": "dnodestats", + "zfs_fm": "fm", + "zfs_vdev_cache": "vdev_cache_stats", // vdev_cache is deprecated + "zfs_vdev_mirror": "vdev_mirror_stats", + "zfs_xuio": "xuio_stats", // no known consumers of the XUIO interface on Linux exist + "zfs_zfetch": "zfetchstats", + "zfs_zil": "zil", + }, + logger: logger, + }, nil +} + +func (c *zfsCollector) Update(ch chan<- prometheus.Metric) error { + if _, err := c.openProcFile(c.linuxProcpathBase); err != nil { + if err == errZFSNotAvailable { + c.logger.Debug(err.Error()) + return ErrNoData + } + } + + for subsystem := range c.linuxPathMap { + if err := c.updateZfsStats(subsystem, ch); err != nil { + if err == errZFSNotAvailable { + c.logger.Debug(err.Error()) + // ZFS /proc files are added as new features to ZFS arrive, it is ok to continue + continue + } + return err + } + } + + // Pool stats + return c.updatePoolStats(ch) +} func (c *zfsCollector) openProcFile(path string) (*os.File, error) { file, err := os.Open(procFilePath(path)) @@ -304,3 +370,73 @@ func (c *zfsCollector) parsePoolStateFile(reader io.Reader, zpoolPath string, ha return nil } + +func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, value float64) prometheus.Metric { + metricName := sysctl.metricName() + + return prometheus.MustNewConstMetric( + prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, metricName), + string(sysctl), + nil, + nil, + ), + prometheus.UntypedValue, + value, + ) +} + +func (c *zfsCollector) constPoolMetric(poolName string, sysctl zfsSysctl, value uint64) prometheus.Metric { + metricName := sysctl.metricName() + + return prometheus.MustNewConstMetric( + prometheus.NewDesc( + prometheus.BuildFQName(namespace, "zfs_zpool", metricName), + string(sysctl), + []string{"zpool"}, + nil, + ), + prometheus.UntypedValue, + float64(value), + poolName, + ) +} + +func (c *zfsCollector) constPoolObjsetMetric(poolName string, datasetName string, sysctl zfsSysctl, value uint64) prometheus.Metric { + metricName := sysctl.metricName() + + return prometheus.MustNewConstMetric( + prometheus.NewDesc( + prometheus.BuildFQName(namespace, "zfs_zpool_dataset", metricName), + string(sysctl), + []string{"zpool", "dataset"}, + nil, + ), + prometheus.UntypedValue, + float64(value), + poolName, + datasetName, + ) +} + +func (c *zfsCollector) constPoolStateMetric(poolName string, stateName string, isActive uint64) prometheus.Metric { + return prometheus.MustNewConstMetric( + prometheus.NewDesc( + prometheus.BuildFQName(namespace, "zfs_zpool", "state"), + "kstat.zfs.misc.state", + []string{"zpool", "state"}, + nil, + ), + prometheus.GaugeValue, + float64(isActive), + poolName, + stateName, + ) +} + +type zfsSysctl string + +func (s zfsSysctl) metricName() string { + parts := strings.Split(string(s), ".") + return strings.Replace(parts[len(parts)-1], "-", "_", -1) +} From c267b1428916f28a4e09620b3c1eff627f44bb16 Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Sun, 12 May 2024 18:25:06 +0200 Subject: [PATCH 139/151] zfs: move common init function out of arch-specific files Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/zfs.go | 4 ++++ collector/zfs_freebsd.go | 4 ---- collector/zfs_linux.go | 4 ---- collector/zfs_solaris.go | 4 ---- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/collector/zfs.go b/collector/zfs.go index 67e7ca616e..11b46fae1e 100644 --- a/collector/zfs.go +++ b/collector/zfs.go @@ -15,3 +15,7 @@ // +build !nozfs package collector + +func init() { + registerCollector("zfs", defaultEnabled, NewZFSCollector) +} diff --git a/collector/zfs_freebsd.go b/collector/zfs_freebsd.go index 654957811c..764047662c 100644 --- a/collector/zfs_freebsd.go +++ b/collector/zfs_freebsd.go @@ -30,10 +30,6 @@ const ( zfsCollectorSubsystem = "zfs" ) -func init() { - registerCollector("zfs", defaultEnabled, NewZfsCollector) -} - func NewZfsCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ sysctls: []bsdSysctl{ diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index e4bbe7c329..c1ce284b2d 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -58,10 +58,6 @@ type zfsCollector struct { logger *slog.Logger } -func init() { - registerCollector("zfs", defaultEnabled, NewZFSCollector) -} - // NewZFSCollector returns a new Collector exposing ZFS statistics. func NewZFSCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ diff --git a/collector/zfs_solaris.go b/collector/zfs_solaris.go index 4ff8ceb242..7229526c74 100644 --- a/collector/zfs_solaris.go +++ b/collector/zfs_solaris.go @@ -61,10 +61,6 @@ const ( zfsCollectorSubsystem = "zfs" ) -func init() { - registerCollector("zfs", defaultEnabled, NewZfsCollector) -} - func NewZfsCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ abdstatsLinearCount: prometheus.NewDesc( From 756558c42a7ec865f09be5ff856b22c1c2a54bdc Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Sun, 12 May 2024 18:27:58 +0200 Subject: [PATCH 140/151] zfs: make zfsPoolStatesName an array Code does not modify zfsPoolStatesName slice, so make it an array. Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/zfs_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/zfs_linux.go b/collector/zfs_linux.go index c1ce284b2d..e0d9c3f65b 100644 --- a/collector/zfs_linux.go +++ b/collector/zfs_linux.go @@ -46,7 +46,7 @@ const ( var ( errZFSNotAvailable = errors.New("ZFS / ZFS statistics are not available") - zfsPoolStatesName = []string{"online", "degraded", "faulted", "offline", "removed", "unavail", "suspended"} + zfsPoolStatesName = [...]string{"online", "degraded", "faulted", "offline", "removed", "unavail", "suspended"} ) type zfsCollector struct { From 173c38d205e20c4f25681df1618f6bf427d69606 Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Sun, 12 May 2024 18:35:42 +0200 Subject: [PATCH 141/151] zfs: standardize case spelling of NewZFSCollector Ensure identical factory function name across arch-specific files so that the common init() function in zfs.go works. Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/zfs_freebsd.go | 2 +- collector/zfs_solaris.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/collector/zfs_freebsd.go b/collector/zfs_freebsd.go index 764047662c..d888c3a724 100644 --- a/collector/zfs_freebsd.go +++ b/collector/zfs_freebsd.go @@ -30,7 +30,7 @@ const ( zfsCollectorSubsystem = "zfs" ) -func NewZfsCollector(logger *slog.Logger) (Collector, error) { +func NewZFSCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ sysctls: []bsdSysctl{ { diff --git a/collector/zfs_solaris.go b/collector/zfs_solaris.go index 7229526c74..1f10ee0199 100644 --- a/collector/zfs_solaris.go +++ b/collector/zfs_solaris.go @@ -61,7 +61,7 @@ const ( zfsCollectorSubsystem = "zfs" ) -func NewZfsCollector(logger *slog.Logger) (Collector, error) { +func NewZFSCollector(logger *slog.Logger) (Collector, error) { return &zfsCollector{ abdstatsLinearCount: prometheus.NewDesc( prometheus.BuildFQName(namespace, zfsCollectorSubsystem, "abdstats_linear_count_total"), From bdfd93f7d60b9c5d85c93c1cfac284725bd096a6 Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Sun, 12 May 2024 18:53:12 +0200 Subject: [PATCH 142/151] zfs: rename zfs.go to zfs_common.go Also add build-tags to ensure it is ignored on non-relevant archs. Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/{zfs.go => zfs_common.go} | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename collector/{zfs.go => zfs_common.go} (89%) diff --git a/collector/zfs.go b/collector/zfs_common.go similarity index 89% rename from collector/zfs.go rename to collector/zfs_common.go index 11b46fae1e..7934ec5ad9 100644 --- a/collector/zfs.go +++ b/collector/zfs_common.go @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !nozfs +//go:build !nozfs && (freebsd || linux || solaris) // +build !nozfs +// +build freebsd linux solaris package collector From 967a3436d02c1b5d6ff7904ae08ac99b2c61e9f5 Mon Sep 17 00:00:00 2001 From: Daniel Swarbrick Date: Fri, 23 Aug 2024 15:35:06 +0200 Subject: [PATCH 143/151] zfs: drop superfluous typecasting of test values Drop superfluous and overly pedantic typecasting for values that fit within 32 bits or where type comparison is already hinted. Signed-off-by: Daniel Swarbrick Signed-off-by: Vitaly Zhuravlev --- collector/zfs_linux_test.go | 40 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/collector/zfs_linux_test.go b/collector/zfs_linux_test.go index 3b653f4c9e..c96d91b5b7 100644 --- a/collector/zfs_linux_test.go +++ b/collector/zfs_linux_test.go @@ -38,11 +38,11 @@ func TestArcstatsParsing(t *testing.T) { err = c.parseProcfsFile(arcstatsFile, "arcstats", func(s zfsSysctl, v interface{}) { if s == zfsSysctl("kstat.zfs.misc.arcstats.hits") { - if v.(uint64) != uint64(8772612) { + if v.(uint64) != 8772612 { t.Fatalf("Incorrect value parsed from procfs data") } } else if s == zfsSysctl("kstat.zfs.misc.arcstats.memory_available_bytes") { - if v.(int64) != int64(-922337203685477580) { + if v.(int64) != -922337203685477580 { t.Fatalf("Incorrect value parsed from procfs data") } } else { @@ -80,7 +80,7 @@ func TestZfetchstatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(7067992) { + if v.(uint64) != 7067992 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -116,7 +116,7 @@ func TestZilParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(10) { + if v.(uint64) != 10 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -152,7 +152,7 @@ func TestVdevCacheStatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(40) { + if v.(uint64) != 40 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -188,7 +188,7 @@ func TestXuioStatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(32) { + if v.(uint64) != 32 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -224,7 +224,7 @@ func TestFmParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(18) { + if v.(uint64) != 18 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -260,7 +260,7 @@ func TestDmuTxParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(3532844) { + if v.(uint64) != 3532844 { t.Fatalf("Incorrect value parsed from procfs data") } @@ -300,7 +300,7 @@ func TestZpoolParsing(t *testing.T) { handlerCalled = true - if v != uint64(1884160) && v != uint64(2826240) { + if v != 1884160 && v != 2826240 { t.Fatalf("Incorrect value parsed from procfs data %v", v) } @@ -340,7 +340,7 @@ func TestZpoolObjsetParsing(t *testing.T) { handlerCalled = true - if v != uint64(0) && v != uint64(4) && v != uint64(10) { + if v != 0 && v != 4 && v != 10 { t.Fatalf("Incorrect value parsed from procfs data %v", v) } @@ -376,7 +376,7 @@ func TestAbdstatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(223232) { + if v.(uint64) != 223232 { t.Fatalf("Incorrect value parsed from procfs abdstats data") } @@ -412,7 +412,7 @@ func TestDbufstatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(108807) { + if v.(uint64) != 108807 { t.Fatalf("Incorrect value parsed from procfs dbufstats data") } @@ -448,7 +448,7 @@ func TestDnodestatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(37617) { + if v.(uint64) != 37617 { t.Fatalf("Incorrect value parsed from procfs dnodestats data") } @@ -484,7 +484,7 @@ func TestVdevMirrorstatsParsing(t *testing.T) { handlerCalled = true - if v.(uint64) != uint64(94) { + if v.(uint64) != 94 { t.Fatalf("Incorrect value parsed from procfs vdev_mirror_stats data") } @@ -521,26 +521,26 @@ func TestPoolStateParsing(t *testing.T) { handlerCalled = true if poolName == "pool1" { - if isActive != uint64(1) && stateName == "online" { + if isActive != 1 && stateName == "online" { t.Fatalf("Incorrect parsed value for online state") } - if isActive != uint64(0) && stateName != "online" { + if isActive != 0 && stateName != "online" { t.Fatalf("Incorrect parsed value for online state") } } if poolName == "poolz1" { - if isActive != uint64(1) && stateName == "degraded" { + if isActive != 1 && stateName == "degraded" { t.Fatalf("Incorrect parsed value for degraded state") } - if isActive != uint64(0) && stateName != "degraded" { + if isActive != 0 && stateName != "degraded" { t.Fatalf("Incorrect parsed value for degraded state") } } if poolName == "pool2" { - if isActive != uint64(1) && stateName == "suspended" { + if isActive != 1 && stateName == "suspended" { t.Fatalf("Incorrect parsed value for suspended state") } - if isActive != uint64(0) && stateName != "suspended" { + if isActive != 0 && stateName != "suspended" { t.Fatalf("Incorrect parsed value for suspended state") } } From 3ec02666629e6d37e0af28c055d1180fade079d0 Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Thu, 26 Sep 2024 00:00:04 +0200 Subject: [PATCH 144/151] Fix: Add safety check to hwmon read Avoid panic for accessing slice out of range in hwmon. Fixes: https://github.com/prometheus/node_exporter/issues/3108 Signed-off-by: Ben Kochie Signed-off-by: Vitaly Zhuravlev --- collector/hwmon_linux.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collector/hwmon_linux.go b/collector/hwmon_linux.go index 3d53995c8d..9c0e065c3f 100644 --- a/collector/hwmon_linux.go +++ b/collector/hwmon_linux.go @@ -18,6 +18,7 @@ package collector import ( "errors" + "fmt" "log/slog" "os" "path/filepath" @@ -107,6 +108,9 @@ func sysReadFile(file string) ([]byte, error) { if err != nil { return nil, err } + if n < 0 { + return nil, fmt.Errorf("failed to read file: %q, read returned negative bytes value: %d", file, n) + } return b[:n], nil } From f4909194b1c6e070dd2a2808345203c3683b178c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 16:23:33 +0000 Subject: [PATCH 145/151] build(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.59.1 to 0.60.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.59.1...v0.60.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Vitaly Zhuravlev --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 080f0697cf..69acdc229b 100644 --- a/go.mod +++ b/go.mod @@ -22,9 +22,9 @@ require ( github.com/opencontainers/selinux v1.11.0 github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 github.com/prometheus-community/go-runit v0.1.0 - github.com/prometheus/client_golang v1.20.3 + github.com/prometheus/client_golang v1.20.4 github.com/prometheus/client_model v0.6.1 - github.com/prometheus/common v0.59.1 + github.com/prometheus/common v0.60.0 github.com/prometheus/exporter-toolkit v0.13.0 github.com/prometheus/procfs v0.15.1 github.com/safchain/ethtool v0.4.1 @@ -51,11 +51,11 @@ require ( github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/crypto v0.27.0 // indirect + golang.org/x/net v0.29.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/text v0.18.0 // indirect google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 4890766ee5..40bc21103e 100644 --- a/go.sum +++ b/go.sum @@ -75,12 +75,12 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus-community/go-runit v0.1.0 h1:uTWEj/Fn2RoLdfg/etSqwzgYNOYPrARx1BHUN052tGA= github.com/prometheus-community/go-runit v0.1.0/go.mod h1:AvJ9Jo3gAFu2lbM4+qfjdpq30FfiLDJZKbQ015u08IQ= -github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4= -github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0= -github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/exporter-toolkit v0.13.0 h1:lmA0Q+8IaXgmFRKw09RldZmZdnvu9wwcDLIXGmTPw1c= github.com/prometheus/exporter-toolkit v0.13.0/go.mod h1:2uop99EZl80KdXhv/MxVI2181fMcwlsumFOqBecGkG0= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= @@ -102,14 +102,14 @@ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -117,8 +117,8 @@ golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 9340a96fa53b8c326e50db9cc1f47b6c44e1e7bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 14:39:19 +0200 Subject: [PATCH 146/151] build(deps): bump github.com/mdlayher/wifi from 0.2.0 to 0.3.0 (#3140) Bumps [github.com/mdlayher/wifi](https://github.com/mdlayher/wifi) from 0.2.0 to 0.3.0. - [Release notes](https://github.com/mdlayher/wifi/releases) - [Commits](https://github.com/mdlayher/wifi/compare/v0.2.0...v0.3.0) --- updated-dependencies: - dependency-name: github.com/mdlayher/wifi dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Vitaly Zhuravlev --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 69acdc229b..25dfa21ac0 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/mattn/go-xmlrpc v0.0.3 github.com/mdlayher/ethtool v0.2.0 github.com/mdlayher/netlink v1.7.2 - github.com/mdlayher/wifi v0.2.0 + github.com/mdlayher/wifi v0.3.0 github.com/opencontainers/selinux v1.11.0 github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 github.com/prometheus-community/go-runit v0.1.0 diff --git a/go.sum b/go.sum index 40bc21103e..4d9d0ed1cf 100644 --- a/go.sum +++ b/go.sum @@ -61,8 +61,8 @@ github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= github.com/mdlayher/vsock v1.2.1 h1:pC1mTJTvjo1r9n9fbm7S1j04rCgCzhCOS5DY0zqHlnQ= github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= -github.com/mdlayher/wifi v0.2.0 h1:vwbVyu5MWTiFNvOmWdvIx9veBlMVnEasZ90PhUi1DYU= -github.com/mdlayher/wifi v0.2.0/go.mod h1:yOfWhVZ4FFJxeHzAxDzt87Om9EkqqcCiY9Gi5gfSXwI= +github.com/mdlayher/wifi v0.3.0 h1:ZfS81w/7xTWBJfhM77K0k6m3sJckwoNOoZUwOW34omo= +github.com/mdlayher/wifi v0.3.0/go.mod h1:/bdkqKYl+lD4recmQM6bTHxMrEUW70reibTyr93CAd0= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= From e6e5a3f3960522f0022fb2daeaf1543855be8d74 Mon Sep 17 00:00:00 2001 From: PrometheusBot Date: Tue, 8 Oct 2024 14:39:30 +0200 Subject: [PATCH 147/151] Update common Prometheus files (#3144) Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index a15cfc97f0..1c099932ba 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Install Go uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 with: From 16bdcdf327670fd8c9adcae689f21044bc56ab03 Mon Sep 17 00:00:00 2001 From: prombot Date: Tue, 8 Oct 2024 17:47:42 +0000 Subject: [PATCH 148/151] Update common Prometheus files Signed-off-by: prombot Signed-off-by: Vitaly Zhuravlev --- .github/workflows/container_description.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container_description.yml b/.github/workflows/container_description.yml index 8ddbc34aeb..144859486d 100644 --- a/.github/workflows/container_description.yml +++ b/.github/workflows/container_description.yml @@ -18,7 +18,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Set docker hub repo name run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV - name: Push README to Dockerhub @@ -40,7 +40,7 @@ jobs: if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks. steps: - name: git checkout - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Set quay.io org name run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV - name: Set quay.io repo name From 6f48c3c0c554f77117f5d3c312c9bc79e90706f6 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 15:09:57 +0000 Subject: [PATCH 149/151] Sync upstream latest PRs Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/lib/aix/README.md | 42 ++++++++++++ docs/node-mixin/lib/aix/alerts.libsonnet | 23 +++++++ docs/node-mixin/lib/aix/config.libsonnet | 27 ++++++++ docs/node-mixin/lib/aix/main.libsonnet | 65 +++++++++++++++++++ docs/node-mixin/lib/aix/panels.libsonnet | 24 +++++++ docs/node-mixin/lib/aix/targets.libsonnet | 61 +++++++++++++++++ .../lib/linux/alerts/alerts.libsonnet | 2 +- docs/node-mixin/lib/linux/config.libsonnet | 3 +- .../node-mixin/lib/linux/dashboards.libsonnet | 12 ++-- docs/node-mixin/lib/linux/links.libsonnet | 2 +- .../node-mixin/lib/linux/panels/cpu.libsonnet | 2 +- .../lib/linux/panels/disk.libsonnet | 4 +- .../lib/linux/panels/fleet.libsonnet | 2 +- .../lib/linux/panels/memory.libsonnet | 2 +- docs/node-mixin/lib/macos/config.libsonnet | 5 +- docs/node-mixin/lib/macos/main.libsonnet | 8 ++- docs/node-mixin/mixin-aix.libsonnet | 10 +++ 17 files changed, 276 insertions(+), 18 deletions(-) create mode 100644 docs/node-mixin/lib/aix/README.md create mode 100644 docs/node-mixin/lib/aix/alerts.libsonnet create mode 100644 docs/node-mixin/lib/aix/config.libsonnet create mode 100644 docs/node-mixin/lib/aix/main.libsonnet create mode 100644 docs/node-mixin/lib/aix/panels.libsonnet create mode 100644 docs/node-mixin/lib/aix/targets.libsonnet create mode 100644 docs/node-mixin/mixin-aix.libsonnet diff --git a/docs/node-mixin/lib/aix/README.md b/docs/node-mixin/lib/aix/README.md new file mode 100644 index 0000000000..b638f71b3e --- /dev/null +++ b/docs/node-mixin/lib/aix/README.md @@ -0,0 +1,42 @@ +# AIX exporter observability lib + +This jsonnet observability lib can be used to generate observability package for node exporter(AIX). + +## Import + +```sh +jb init +jb install https://github.com/prometheus/node_exporter/docs/node-mixin/lib/aix +``` + +## Examples + +### Example 1: Basic example + +You can use observ-lib to fill in monitoring-mixin structure: + +```jsonnet +// mixin.libsonnet file +local aixlib = import 'aix/main.libsonnet'; + +local aix = + aixlib.new() + + aixlib.withConfigMixin({ + filteringSelector: 'job=~".*aix.*"', + groupLabels: ['job'], + instanceLabels: ['instance'], + dashboardNamePrefix: 'AIX / ', + dashboardTags: ['aix-mixin'], + uid: 'aix', + // enable loki logs + enableLokiLogs: true, + }); + +{ + grafanaDashboards+:: aix.grafana.dashboards, + prometheusAlerts+:: aix.prometheus.alerts, + prometheusRules+:: aix.prometheus.recordingRules, +} + +``` +For more examples see [node-mixin/lib/linux](../linux). diff --git a/docs/node-mixin/lib/aix/alerts.libsonnet b/docs/node-mixin/lib/aix/alerts.libsonnet new file mode 100644 index 0000000000..46f66bd5a3 --- /dev/null +++ b/docs/node-mixin/lib/aix/alerts.libsonnet @@ -0,0 +1,23 @@ +{ + new(this, parentPrometheus): + { + groups: + //keep only alerts listed in alertsKeep + std.filter( + function(group) std.length(group.rules) > 0, + [ + { + name: group.name, + rules: [ + rule + for rule in group.rules + if std.length(std.find(rule.alert, this.config.alertsKeep)) > 0 + ], + } + for group in parentPrometheus.alerts.groups + ], + + ), + + }, +} diff --git a/docs/node-mixin/lib/aix/config.libsonnet b/docs/node-mixin/lib/aix/config.libsonnet new file mode 100644 index 0000000000..70b22afb44 --- /dev/null +++ b/docs/node-mixin/lib/aix/config.libsonnet @@ -0,0 +1,27 @@ +{ + // Rest of the config is imported from linux + filteringSelector: 'job="aix"', + dashboardNamePrefix: 'MacOS / ', + //uid prefix + uid: 'aix', + + dashboardTags: ['aix-mixin'], + + + // Alerts to keep from node-observ-lib: + alertsKeep: [ + 'NodeFilesystemAlmostOutOfSpace', + 'NodeNetworkReceiveErrs', + 'NodeNetworkTransmitErrs', + 'NodeTextFileCollectorScrapeError', + 'NodeFilesystemFilesFillingUp', + 'NodeFilesystemAlmostOutOfFiles', + 'NodeCPUHighUsage', + 'NodeSystemSaturation', + 'NodeMemoryHighUtilization', + 'NodeDiskIOSaturation', + ], + // logs lib related + enableLokiLogs: false, + +} diff --git a/docs/node-mixin/lib/aix/main.libsonnet b/docs/node-mixin/lib/aix/main.libsonnet new file mode 100644 index 0000000000..8380bd5bfa --- /dev/null +++ b/docs/node-mixin/lib/aix/main.libsonnet @@ -0,0 +1,65 @@ +local g = import '../g.libsonnet'; +local nodelib = import '../linux/main.libsonnet'; +local alerts = import './alerts.libsonnet'; +local config = import './config.libsonnet'; +local panels = import './panels.libsonnet'; +local targets = import './targets.libsonnet'; + + +// inherit nodelib +nodelib +{ + + new(): + super.new() + + nodelib.withConfigMixin(config) + + + { + local this = self, + local parentGrafana = super.grafana, + local parentPrometheus = super.prometheus, + + grafana+: { + // drop backToFleet link + links+: { + local link = g.dashboard.link, + backToFleet:: {}, + backToOverview: + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['nodes-darwin.json'].uid) + + link.link.options.withKeepTime(true), + }, + annotations: { + // keep only reboot annotation + reboot: parentGrafana.annotations.reboot, + }, + // override targets (memory) + targets+: targets.new(this), + // override panels (update description and targets in panels) + panels+: panels.new(this), + + // keep only overview and logs(optionally) dashes + dashboards: + { + 'nodes-aix.json': + parentGrafana.dashboards['nodes.json'] + + g.dashboard.withUid( + (if this.config.uid == 'aix' then std.md5('nodes-aix.json') else this.config.uid + '-overview') + ), + } + + + ( + if this.config.enableLokiLogs + then + { + 'logs-aix.json': parentGrafana.dashboards['logs.json'], + } + else {} + ), + }, + prometheus+: { + recordingRules: {}, + alerts: alerts.new(this, parentPrometheus), + }, + }, + +} diff --git a/docs/node-mixin/lib/aix/panels.libsonnet b/docs/node-mixin/lib/aix/panels.libsonnet new file mode 100644 index 0000000000..8a75182177 --- /dev/null +++ b/docs/node-mixin/lib/aix/panels.libsonnet @@ -0,0 +1,24 @@ +local g = import '../g.libsonnet'; +local commonlib = import 'common-lib/common/main.libsonnet'; + +{ + new(this): + { + local t = this.grafana.targets, + local table = g.panel.table, + local fieldOverride = g.panel.table.fieldOverride, + local instanceLabel = this.config.instanceLabels[0], + + // override description and targets + memory+: { + memoryUsageTsBytes+: + g.panel.timeSeries.queryOptions.withTargets([ + t.memory.memoryUsedBytes, + t.memory.memoryTotalBytes, + t.memory.memorySwapUsedBytes, + ]) + + commonlib.panels.generic.timeSeries.threshold.stylizeByRegexp('Physical memory'), + }, + + }, +} diff --git a/docs/node-mixin/lib/aix/targets.libsonnet b/docs/node-mixin/lib/aix/targets.libsonnet new file mode 100644 index 0000000000..a0704a0405 --- /dev/null +++ b/docs/node-mixin/lib/aix/targets.libsonnet @@ -0,0 +1,61 @@ +local g = import '../g.libsonnet'; +local prometheusQuery = g.query.prometheus; +local lokiQuery = g.query.loki; + +{ + new(this): { + local variables = this.grafana.variables.main, + local config = this.config, + local prometheusDatasource = '${' + variables.datasources.prometheus.name + '}', + local lokiDatasource = '${' + variables.datasources.loki.name + '}', + + // override memory targets (other metrics in macos) + memory+: { + memoryTotalBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_total_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Physical memory'), + + memoryUsedBytes: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + node_memory_total_bytes{%(queriesSelector)s} - + node_memory_available_bytes{%(queriesSelector)s} + ) + ||| % variables + ) + + prometheusQuery.withLegendFormat('Memory used'), + + memoryUsagePercent: + prometheusQuery.new( + prometheusDatasource, + ||| + ( + ( + node_memory_total_bytes{%(queriesSelector)s} - + node_memory_available_bytes{%(queriesSelector)s} + ) + /avg(node_memory_total_bytes{%(queriesSelector)s}) + ) * 100 + ||| + % variables, + ), + memorySwapTotal: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_total_bytes{%(queriesSelector)s}' % variables + ), + + memorySwapUsedBytes: + prometheusQuery.new( + prometheusDatasource, + 'node_memory_swap_used_bytes{%(queriesSelector)s}' % variables + ) + + prometheusQuery.withLegendFormat('Swap used'), + }, + }, +} diff --git a/docs/node-mixin/lib/linux/alerts/alerts.libsonnet b/docs/node-mixin/lib/linux/alerts/alerts.libsonnet index 8a307dff9f..ca1b9fedea 100644 --- a/docs/node-mixin/lib/linux/alerts/alerts.libsonnet +++ b/docs/node-mixin/lib/linux/alerts/alerts.libsonnet @@ -395,7 +395,7 @@ annotations: { summary: 'Disk IO queue is high.', description: ||| - Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 15 minutes, is currently at {{ printf "%%.2f" $value }}. + Disk IO queue (aqu-sq) is high on {{ $labels.device }} at {{ $labels.instance }}, has been above %(diskIOSaturationThreshold)d for the last 30 minutes, is currently at {{ printf "%%.2f" $value }}. This symptom might indicate disk saturation. ||| % this.config, }, diff --git a/docs/node-mixin/lib/linux/config.libsonnet b/docs/node-mixin/lib/linux/config.libsonnet index 5ce5548269..4a10c69ba0 100644 --- a/docs/node-mixin/lib/linux/config.libsonnet +++ b/docs/node-mixin/lib/linux/config.libsonnet @@ -10,6 +10,7 @@ groupLabels: ['job'], instanceLabels: ['instance'], dashboardNamePrefix: 'Node exporter / ', + //uid prefix uid: 'node', dashboardTags: ['node-exporter-mixin'], @@ -76,7 +77,7 @@ fsSpaceAvailableWarningThreshold: 5, fsSpaceAvailableCriticalThreshold: 3, - // Memory utilzation (%) level on which to trigger the + // Memory utilization (%) level on which to trigger the // 'NodeMemoryHighUtilization' alert. memoryHighUtilizationThreshold: 90, diff --git a/docs/node-mixin/lib/linux/dashboards.libsonnet b/docs/node-mixin/lib/linux/dashboards.libsonnet index 18f4810ad7..b07adc5ef2 100644 --- a/docs/node-mixin/lib/linux/dashboards.libsonnet +++ b/docs/node-mixin/lib/linux/dashboards.libsonnet @@ -24,7 +24,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) // hide link to self + root.applyCommon(vars.multiInstance, uid + '-fleet', tags, links { backToFleet+:: {}, backToOverview+:: {} }, annotations, timezone, refresh, period), - 'overview.json': + 'nodes.json': g.dashboard.new(prefix + 'overview') + g.dashboard.withPanels( g.util.panel.resolveCollapsedFlagOnRows( @@ -46,7 +46,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) // defaults to uid=nodes for backward compatibility with old node-mixins - + root.applyCommon(vars.singleInstance, (if uid == 'node' then 'nodes' else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), + + root.applyCommon(vars.singleInstance, (if uid == 'node' then std.md5('nodes.json') else uid + '-overview'), tags, links { backToOverview+:: {} }, annotations, timezone, refresh, period), 'network.json': g.dashboard.new(prefix + 'network') + g.dashboard.withPanels( @@ -120,7 +120,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) ) - + root.applyCommon(this.grafana.variables.use.singleInstance, uid + '-rsrc-use', tags, links, annotations, timezone, refresh, period), + + root.applyCommon(this.grafana.variables.use.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), 'node-cluster-rsrc-use.json': g.dashboard.new(prefix + 'USE method / cluster') @@ -137,7 +137,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) ) - + root.applyCommon(this.grafana.variables.useCluster.singleInstance, uid + '-cluster-rsrc-use', tags, links, annotations, timezone, refresh, period), + + root.applyCommon(this.grafana.variables.useCluster.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), } + ( @@ -145,7 +145,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso then { 'node-multicluster-rsrc-use.json': - g.dashboard.new(prefix + 'USE method / cluster') + g.dashboard.new(prefix + 'USE method / Multi-cluster') + g.dashboard.withPanels( g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( @@ -159,7 +159,7 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) ) - + root.applyCommon(this.grafana.variables.useCluster.multiInstance, uid + '-multicluster-rsrc-use', tags, links, annotations, timezone, refresh, period), + + root.applyCommon(this.grafana.variables.useCluster.multiInstance, std.md5(uid + '-multicluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), } else {} ) diff --git a/docs/node-mixin/lib/linux/links.libsonnet b/docs/node-mixin/lib/linux/links.libsonnet index 8a72f9035e..83546520c3 100644 --- a/docs/node-mixin/lib/linux/links.libsonnet +++ b/docs/node-mixin/lib/linux/links.libsonnet @@ -8,7 +8,7 @@ local commonlib = import 'common-lib/common/main.libsonnet'; link.link.new('Back to ' + this.config.dashboardNamePrefix + 'fleet', '/d/' + this.grafana.dashboards['fleet.json'].uid) + link.link.options.withKeepTime(true), backToOverview: - link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['overview.json'].uid) + link.link.new('Back to ' + this.config.dashboardNamePrefix + 'overview', '/d/' + this.grafana.dashboards['nodes.json'].uid) + link.link.options.withKeepTime(true), otherDashboards: link.dashboards.new('All ' + this.config.dashboardNamePrefix + ' dashboards', this.config.dashboardTags) diff --git a/docs/node-mixin/lib/linux/panels/cpu.libsonnet b/docs/node-mixin/lib/linux/panels/cpu.libsonnet index 17f5cf750d..aec88fda6a 100644 --- a/docs/node-mixin/lib/linux/panels/cpu.libsonnet +++ b/docs/node-mixin/lib/linux/panels/cpu.libsonnet @@ -19,7 +19,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; target=t.cpu.cpuUsage, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, + drillDownDashboardUid=this.grafana.dashboards['nodes.json'].uid, ), cpuUsageStat: commonlib.panels.cpu.stat.usage.new(targets=[t.cpu.cpuUsage]), cpuUsageByMode: commonlib.panels.cpu.timeSeries.utilizationByMode.new( diff --git a/docs/node-mixin/lib/linux/panels/disk.libsonnet b/docs/node-mixin/lib/linux/panels/disk.libsonnet index 801bf54fc7..141ee98f8c 100644 --- a/docs/node-mixin/lib/linux/panels/disk.libsonnet +++ b/docs/node-mixin/lib/linux/panels/disk.libsonnet @@ -83,7 +83,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; target=t.disk.diskUsagePercent, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, + drillDownDashboardUid=this.grafana.dashboards['nodes.json'].uid, ), diskIOBytesPerSec: commonlib.panels.disk.timeSeries.ioBytesPerSec.new( targets=[t.disk.diskIOreadBytesPerSec, t.disk.diskIOwriteBytesPerSec, t.disk.diskIOutilization] @@ -94,7 +94,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; target=t.disk.diskIOutilization, topk=25, instanceLabels=this.config.instanceLabels + ['volume'], - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, + drillDownDashboardUid=this.grafana.dashboards['nodes.json'].uid, ), diskIOps: commonlib.panels.disk.timeSeries.iops.new( diff --git a/docs/node-mixin/lib/linux/panels/fleet.libsonnet b/docs/node-mixin/lib/linux/panels/fleet.libsonnet index 1ae7e6bb7e..729eea9624 100644 --- a/docs/node-mixin/lib/linux/panels/fleet.libsonnet +++ b/docs/node-mixin/lib/linux/panels/fleet.libsonnet @@ -83,7 +83,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; { targetBlank: false, title: 'Drill down to ${__field.name} ${__value.text}', - url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards['overview.json'].uid, instanceLabel, instanceLabel], + url: 'd/%s?var-%s=${__data.fields.%s}&${__url_time_range}&${datasource:queryparam}' % [this.grafana.dashboards['nodes.json'].uid, instanceLabel, instanceLabel], }, ]), fieldOverride.byRegexp.new(std.join('|', std.map(utils.toSentenceCase, this.config.groupLabels))) diff --git a/docs/node-mixin/lib/linux/panels/memory.libsonnet b/docs/node-mixin/lib/linux/panels/memory.libsonnet index d11267b8a7..8560a73500 100644 --- a/docs/node-mixin/lib/linux/panels/memory.libsonnet +++ b/docs/node-mixin/lib/linux/panels/memory.libsonnet @@ -30,7 +30,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; target=t.memory.memoryUsagePercent, topk=25, instanceLabels=this.config.instanceLabels, - drillDownDashboardUid=this.grafana.dashboards['overview.json'].uid, + drillDownDashboardUid=this.grafana.dashboards['nodes.json'].uid, ), memoryUsageTsBytes: commonlib.panels.memory.timeSeries.usageBytes.new( diff --git a/docs/node-mixin/lib/macos/config.libsonnet b/docs/node-mixin/lib/macos/config.libsonnet index e931a24f9d..370ab4d052 100644 --- a/docs/node-mixin/lib/macos/config.libsonnet +++ b/docs/node-mixin/lib/macos/config.libsonnet @@ -1,10 +1,11 @@ { // Rest of the config is imported from linux - filteringSelector: 'job="integrations/macos-node"', + filteringSelector: 'job=macos"', dashboardNamePrefix: 'MacOS / ', + //uid prefix uid: 'darwin', - dashboardTags: [self.uid], + dashboardTags: ['macos-mixin'], // Alerts to keep from node-observ-lib: diff --git a/docs/node-mixin/lib/macos/main.libsonnet b/docs/node-mixin/lib/macos/main.libsonnet index 18a418f221..6b15d25453 100644 --- a/docs/node-mixin/lib/macos/main.libsonnet +++ b/docs/node-mixin/lib/macos/main.libsonnet @@ -36,14 +36,18 @@ nodelib // keep only overview and logs(optionally) dashes dashboards: { - 'overview.json': parentGrafana.dashboards['overview.json'], + 'nodes-darwin.json': + parentGrafana.dashboards['nodes.json'] + + g.dashboard.withUid( + (if this.config.uid == 'darwin' then std.md5('nodes-darwin.json') else this.config.uid + '-overview') + ), } + ( if this.config.enableLokiLogs then { - 'logs.json': parentGrafana.dashboards['logs.json'], + 'logs-darwin.json': parentGrafana.dashboards['logs.json'], } else {} ), diff --git a/docs/node-mixin/mixin-aix.libsonnet b/docs/node-mixin/mixin-aix.libsonnet new file mode 100644 index 0000000000..dd86f36809 --- /dev/null +++ b/docs/node-mixin/mixin-aix.libsonnet @@ -0,0 +1,10 @@ +local aixlib = import './lib/aix/main.libsonnet'; +{ + _config:: {}, + _aixLib:: + aixlib.new() + + aixlib.withConfigMixin(self._config), + grafanaDashboards+:: self._aixLib.grafana.dashboards, + prometheusAlerts+:: self._aixLib.prometheus.alerts, + prometheusRules+:: self._aixLib.prometheus.recordingRules, +} From 028e679d28470d1acf088895d8ca47e6b2f220a6 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 16:03:23 +0000 Subject: [PATCH 150/151] Add enableUseDashboards flag Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/lib/linux/config.libsonnet | 2 + .../node-mixin/lib/linux/dashboards.libsonnet | 94 ++++++++++--------- 2 files changed, 53 insertions(+), 43 deletions(-) diff --git a/docs/node-mixin/lib/linux/config.libsonnet b/docs/node-mixin/lib/linux/config.libsonnet index 4a10c69ba0..e7857c3d17 100644 --- a/docs/node-mixin/lib/linux/config.libsonnet +++ b/docs/node-mixin/lib/linux/config.libsonnet @@ -100,6 +100,8 @@ dashboardTimezone: 'default', dashboardRefresh: '1m', + // Opt-in for USE method dashboards + enableUseDashboards: true, // Opt-in for multi-cluster support (USE method). showMultiCluster: true, //used in USE dashboards only. For others, add cluster label to groupLabels var. diff --git a/docs/node-mixin/lib/linux/dashboards.libsonnet b/docs/node-mixin/lib/linux/dashboards.libsonnet index b07adc5ef2..ee0f6ab76d 100644 --- a/docs/node-mixin/lib/linux/dashboards.libsonnet +++ b/docs/node-mixin/lib/linux/dashboards.libsonnet @@ -104,63 +104,71 @@ local logslib = import 'github.com/grafana/jsonnet-libs/logs-lib/logs/main.libso ) ) + root.applyCommon(vars.singleInstance, uid + '-disk', tags, links, annotations, timezone, refresh, period), - - 'node-rsrc-use.json': - g.dashboard.new(prefix + 'USE method / node') - + g.dashboard.withPanels( - g.util.panel.resolveCollapsedFlagOnRows( - g.util.grid.wrapPanels( - [ - rows.use.cpuUseMethod, - rows.use.memoryUseMethod, - rows.use.networkUseMethod, - rows.use.diskUseMethod, - rows.use.filesystemUseMethod, - ], 12, 7 - ) - ) - ) - + root.applyCommon(this.grafana.variables.use.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), - - 'node-cluster-rsrc-use.json': - g.dashboard.new(prefix + 'USE method / cluster') - + g.dashboard.withPanels( - g.util.panel.resolveCollapsedFlagOnRows( - g.util.grid.wrapPanels( - [ - rows.use.cpuUseClusterMethod, - rows.use.memoryUseClusterMethod, - rows.use.networkUseClusterMethod, - rows.use.diskUseClusterMethod, - rows.use.filesystemUseClusterMethod, - ], 12, 7 - ) - ) - ) - + root.applyCommon(this.grafana.variables.useCluster.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), } + ( - if this.config.showMultiCluster + if this.config.enableUseDashboards then + { - 'node-multicluster-rsrc-use.json': - g.dashboard.new(prefix + 'USE method / Multi-cluster') + 'node-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / node') + g.dashboard.withPanels( g.util.panel.resolveCollapsedFlagOnRows( g.util.grid.wrapPanels( [ - rows.use.cpuUseClusterMethodMulti, - rows.use.memoryUseClusterMethodMulti, - rows.use.networkUseClusterMethodMulti, - rows.use.diskUseClusterMethodMulti, - rows.use.filesystemUseClusterMethodMulti, + rows.use.cpuUseMethod, + rows.use.memoryUseMethod, + rows.use.networkUseMethod, + rows.use.diskUseMethod, + rows.use.filesystemUseMethod, ], 12, 7 ) ) ) - + root.applyCommon(this.grafana.variables.useCluster.multiInstance, std.md5(uid + '-multicluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), + + root.applyCommon(this.grafana.variables.use.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), + + 'node-cluster-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / cluster') + + g.dashboard.withPanels( + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.use.cpuUseClusterMethod, + rows.use.memoryUseClusterMethod, + rows.use.networkUseClusterMethod, + rows.use.diskUseClusterMethod, + rows.use.filesystemUseClusterMethod, + ], 12, 7 + ) + ) + ) + + root.applyCommon(this.grafana.variables.useCluster.singleInstance, std.md5(uid + '-cluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), } + + + ( + if this.config.showMultiCluster + then + { + 'node-multicluster-rsrc-use.json': + g.dashboard.new(prefix + 'USE method / multi-cluster') + + g.dashboard.withPanels( + g.util.panel.resolveCollapsedFlagOnRows( + g.util.grid.wrapPanels( + [ + rows.use.cpuUseClusterMethodMulti, + rows.use.memoryUseClusterMethodMulti, + rows.use.networkUseClusterMethodMulti, + rows.use.diskUseClusterMethodMulti, + rows.use.filesystemUseClusterMethodMulti, + ], 12, 7 + ) + ) + ) + + root.applyCommon(this.grafana.variables.useCluster.multiInstance, std.md5(uid + '-multicluster-rsrc-use.json'), tags, links, annotations, timezone, refresh, period), + } + else {} + ) else {} ) + From d071ca60829072a1a723b6ff5d662c868522b0a6 Mon Sep 17 00:00:00 2001 From: Vitaly Zhuravlev Date: Fri, 1 Nov 2024 16:08:39 +0000 Subject: [PATCH 151/151] Add customAllValue in config Signed-off-by: Vitaly Zhuravlev --- docs/node-mixin/lib/linux/config.libsonnet | 3 +++ docs/node-mixin/lib/linux/variables.libsonnet | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/node-mixin/lib/linux/config.libsonnet b/docs/node-mixin/lib/linux/config.libsonnet index e7857c3d17..bb56dbf4fc 100644 --- a/docs/node-mixin/lib/linux/config.libsonnet +++ b/docs/node-mixin/lib/linux/config.libsonnet @@ -107,6 +107,9 @@ //used in USE dashboards only. For others, add cluster label to groupLabels var. clusterLabel: 'cluster', + //custom allValue to use for dashboard variables + customAllValue: '.+', + // loki logs related related enableLokiLogs: false, extraLogLabels: ['transport', 'unit', 'level'], diff --git a/docs/node-mixin/lib/linux/variables.libsonnet b/docs/node-mixin/lib/linux/variables.libsonnet index a30cf74f8b..6f88bf3182 100644 --- a/docs/node-mixin/lib/linux/variables.libsonnet +++ b/docs/node-mixin/lib/linux/variables.libsonnet @@ -15,7 +15,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; groupLabels=this.config.groupLabels, instanceLabels=this.config.instanceLabels, varMetric='node_uname_info', - customAllValue='.+', + customAllValue=this.config.customAllValue, enableLokiLogs=this.config.enableLokiLogs, ), // used in USE cluster dashboard @@ -26,7 +26,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; groupLabels=std.uniq(this.config.groupLabels + [this.config.clusterLabel]), instanceLabels=this.config.instanceLabels, varMetric='instance:node_cpu_utilisation:rate5m', - customAllValue='.+', + customAllValue=this.config.customAllValue, enableLokiLogs=this.config.enableLokiLogs, ), useCluster: @@ -35,7 +35,7 @@ local xtd = import 'github.com/jsonnet-libs/xtd/main.libsonnet'; groupLabels=std.uniq(this.config.groupLabels + [this.config.clusterLabel]), instanceLabels=[], varMetric='instance:node_cpu_utilisation:rate5m', - customAllValue='.+', + customAllValue=this.config.customAllValue, enableLokiLogs=this.config.enableLokiLogs, ), },