improvement(go.d): add `_hostname` label for virtual nodes (#20030)
go.d virtual node send _hostname label
Ilya Mashchenko committed
Apr 2, 2025 at 11:05 UTC
fe87192141486113f1d885d224024ed28d3b63bf
1 file changed
+17
-10
src/go/plugin/go.d/agent/module/job.go
+17
-10
@@ -313,11 +313,7 @@ func (j *Job) Cleanup() {
313
}
314
315
if !j.vnodeCreated && j.vnode.GUID != "" {
316
- j.api.HOSTINFO(netdataapi.HostInfo{
317
- GUID: j.vnode.GUID,
318
- Hostname: j.vnode.Hostname,
319
- Labels: j.vnode.Labels,
320
- })
316
+ j.sendVnodeHostInfo()
317
j.vnodeCreated = true
318
}
319
j.api.HOST(j.vnode.GUID)
@@ -435,11 +431,7 @@ func (j *Job) processMetrics(metrics map[string]int64, startTime time.Time, sinc
431
}
432
}
433
if j.vnode.GUID != "" {
438
- j.api.HOSTINFO(netdataapi.HostInfo{
439
- GUID: j.vnode.GUID,
440
- Hostname: j.vnode.Hostname,
441
- Labels: j.vnode.Labels,
442
- })
434
+ j.sendVnodeHostInfo()
435
j.vnodeCreated = true
436
}
437
}
@@ -498,6 +490,21 @@ func (j *Job) processMetrics(metrics map[string]int64, startTime time.Time, sinc
490
return true
491
}
492
493
+func (j *Job) sendVnodeHostInfo() {
494
+ if j.vnode.Labels == nil {
495
+ j.vnode.Labels = make(map[string]string)
496
+ }
497
+ if _, ok := j.vnode.Labels["_hostname"]; !ok {
498
+ j.vnode.Labels["_hostname"] = j.vnode.Hostname
499
+ }
500
+
501
+ j.api.HOSTINFO(netdataapi.HostInfo{
502
+ GUID: j.vnode.GUID,
503
+ Hostname: j.vnode.Hostname,
504
+ Labels: j.vnode.Labels,
505
+ })
506
+}
507
+
508
func (j *Job) createChart(chart *Chart) {
509
defer func() { chart.created = true }()
510
if chart.ignore {