fix(go.d): create vnode internal data_collection_status charts in the main context (#20872)
Ilya Mashchenko committed
Aug 22, 2025 at 12:16 UTC
949198d8be3a4b31e28342607ad82aa1aa85c33c
1 file changed
+16
-11
src/go/plugin/go.d/agent/module/job.go
+16
-11
@@ -316,7 +316,8 @@ func (j *Job) Cleanup() {
316
j.sendVnodeHostInfo()
317
j.vnodeCreated = true
318
}
319
- j.api.HOST(j.vnode.GUID)
319
+
320
+ j.api.HOST("")
321
322
if j.collectStatusChart.created {
323
j.collectStatusChart.MarkRemove()
@@ -327,6 +328,8 @@ func (j *Job) Cleanup() {
328
j.createChart(j.collectDurationChart)
329
}
330
331
+ j.api.HOST(j.vnode.GUID)
332
+
333
if j.charts != nil {
334
for _, chart := range *j.charts {
335
if chart.created {
@@ -438,16 +441,6 @@ func (j *Job) processMetrics(metrics map[string]int64, startTime time.Time, sinc
441
442
j.api.HOST(j.vnode.GUID)
443
441
- if !j.collectStatusChart.created || createChart {
442
- j.collectStatusChart.ID = fmt.Sprintf("%s_%s_data_collection_status", cleanPluginName(j.pluginName), j.FullName())
443
- j.createChart(j.collectStatusChart)
444
- }
445
-
446
- if !j.collectDurationChart.created || createChart {
447
- j.collectDurationChart.ID = fmt.Sprintf("%s_%s_data_collection_duration", cleanPluginName(j.pluginName), j.FullName())
448
- j.createChart(j.collectDurationChart)
449
- }
450
-
444
elapsed := int64(durationTo(time.Since(startTime), time.Millisecond))
445
446
var i, updated int
@@ -475,6 +468,18 @@ func (j *Job) processMetrics(metrics map[string]int64, startTime time.Time, sinc
468
}
469
*j.charts = (*j.charts)[:i]
470
471
+ j.api.HOST("")
472
+
473
+ if !j.collectStatusChart.created || createChart {
474
+ j.collectStatusChart.ID = fmt.Sprintf("%s_%s_data_collection_status", cleanPluginName(j.pluginName), j.FullName())
475
+ j.createChart(j.collectStatusChart)
476
+ }
477
+
478
+ if !j.collectDurationChart.created || createChart {
479
+ j.collectDurationChart.ID = fmt.Sprintf("%s_%s_data_collection_duration", cleanPluginName(j.pluginName), j.FullName())
480
+ j.createChart(j.collectDurationChart)
481
+ }
482
+
483
j.updateChart(
484
j.collectStatusChart,
485
map[string]int64{"success": metrix.Bool(updated > 0), "failed": metrix.Bool(updated == 0)},