Skip to content

Commit bddf06f

Browse files
committed
implement full table support
Signed-off-by: Markus Blaschke <mblaschke82@gmail.com>
1 parent 7257726 commit bddf06f

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Global metrics
5757
Example
5858
-------
5959

60-
for examples of result processing can be found within [azure-resourcegraph-expoter](https://github.com/webdevops/azure-resourcegraph-exporter) (uses same processing library)
60+
more examples of result processing can be found within [azure-resourcegraph-expoter](https://github.com/webdevops/azure-resourcegraph-exporter) (uses same processing library)
6161

6262
Config file:
6363
```
@@ -76,5 +76,5 @@ Metrics:
7676
```
7777
# HELP azure_loganalytics_operationstatus_count azure_loganalytics_operationstatus_count
7878
# TYPE azure_loganalytics_operationstatus_count gauge
79-
azure_loganalytics_operationstatus_count{OperationStatus="Succeeded",workspaceId="xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"} 1
79+
azure_loganalytics_operationstatus_count{OperationStatus="Succeeded",workspaceId="xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",workspaceTable="PrimaryResult"} 1
8080
```

probe.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,22 +107,30 @@ func handleProbeRequest(w http.ResponseWriter, r *http.Request) {
107107
contextLogger.Debug("parsing result")
108108
resultTables := *results.Tables
109109

110-
if len(resultTables) == 1 {
111-
for _, v := range *resultTables[0].Rows {
112-
resultTotalRecords++
113-
resultRow := map[string]interface{}{}
114-
115-
for colNum, colName := range *resultTables[0].Columns {
116-
resultRow[to.String(colName.Name)] = v[colNum]
110+
if len(resultTables) >= 1 {
111+
for _, table := range resultTables {
112+
if table.Rows == nil || table.Columns == nil {
113+
// no results found, skip table
114+
continue
117115
}
118116

119-
for metricName, metric := range kusto.BuildPrometheusMetricList(queryConfig.Metric, queryConfig.MetricConfig, resultRow) {
120-
// inject workspaceId
121-
for num := range metric {
122-
metric[num].Labels["workspaceId"] = workspaceId
117+
for _, v := range *table.Rows {
118+
resultTotalRecords++
119+
resultRow := map[string]interface{}{}
120+
121+
for colNum, colName := range *resultTables[0].Columns {
122+
resultRow[to.String(colName.Name)] = v[colNum]
123123
}
124124

125-
metricList.Add(metricName, metric...)
125+
for metricName, metric := range kusto.BuildPrometheusMetricList(queryConfig.Metric, queryConfig.MetricConfig, resultRow) {
126+
// inject workspaceId
127+
for num := range metric {
128+
metric[num].Labels["workspaceTable"] = to.String(table.Name)
129+
metric[num].Labels["workspaceId"] = workspaceId
130+
}
131+
132+
metricList.Add(metricName, metric...)
133+
}
126134
}
127135
}
128136
}

0 commit comments

Comments
 (0)