@cryptotaxi247 / netdata-1 / commits / 949198d8b

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)},