Skip to content

Commit 6dcee65

Browse files
marctcptodev
authored andcommitted
Add metrics and resource attribute config options from vcentereceiver in docs and tests (#5813)
Co-authored-by: Paulin Todev <[email protected]> (cherry picked from commit 6c028c0)
1 parent 55a2c85 commit 6dcee65

File tree

2 files changed

+265
-3
lines changed

2 files changed

+265
-3
lines changed

component/otelcol/receiver/vcenter/vcenter_test.go

+187-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,144 @@ func TestArguments_UnmarshalRiver(t *testing.T) {
1616
password = "pass"
1717
collection_interval = "2m"
1818
19+
resource_attributes {
20+
vcenter.cluster.name {
21+
enabled = true
22+
}
23+
vcenter.datastore.name {
24+
enabled = true
25+
}
26+
vcenter.host.name {
27+
enabled = true
28+
}
29+
vcenter.resource_pool.inventory_path {
30+
enabled = false
31+
}
32+
vcenter.resource_pool.name {
33+
enabled = true
34+
}
35+
vcenter.vm.name {
36+
enabled = true
37+
}
38+
}
39+
40+
metrics {
41+
vcenter.cluster.cpu.effective {
42+
enabled = false
43+
}
44+
vcenter.cluster.cpu.limit {
45+
enabled = true
46+
}
47+
vcenter.cluster.host.count {
48+
enabled = true
49+
}
50+
vcenter.cluster.memory.effective {
51+
enabled = true
52+
}
53+
vcenter.cluster.memory.limit {
54+
enabled = true
55+
}
56+
vcenter.cluster.memory.used {
57+
enabled = true
58+
}
59+
vcenter.cluster.vm.count {
60+
enabled = true
61+
}
62+
vcenter.datastore.disk.usage {
63+
enabled = true
64+
}
65+
vcenter.datastore.disk.utilization {
66+
enabled = true
67+
}
68+
vcenter.host.cpu.usage {
69+
enabled = true
70+
}
71+
vcenter.host.cpu.utilization {
72+
enabled = true
73+
}
74+
vcenter.host.disk.latency.avg {
75+
enabled = true
76+
}
77+
vcenter.host.disk.latency.max {
78+
enabled = true
79+
}
80+
vcenter.host.disk.throughput {
81+
enabled = true
82+
}
83+
vcenter.host.memory.usage {
84+
enabled = true
85+
}
86+
vcenter.host.memory.utilization {
87+
enabled = true
88+
}
89+
vcenter.host.network.packet.count {
90+
enabled = true
91+
}
92+
vcenter.host.network.packet.errors {
93+
enabled = true
94+
}
95+
vcenter.host.network.throughput {
96+
enabled = true
97+
}
98+
vcenter.host.network.usage {
99+
enabled = true
100+
}
101+
vcenter.resource_pool.cpu.shares {
102+
enabled = true
103+
}
104+
vcenter.resource_pool.cpu.usage {
105+
enabled = true
106+
}
107+
vcenter.resource_pool.memory.shares {
108+
enabled = true
109+
}
110+
vcenter.resource_pool.memory.usage {
111+
enabled = true
112+
}
113+
vcenter.vm.cpu.usage {
114+
enabled = true
115+
}
116+
vcenter.vm.cpu.utilization {
117+
enabled = true
118+
}
119+
vcenter.vm.disk.latency.avg {
120+
enabled = true
121+
}
122+
vcenter.vm.disk.latency.max {
123+
enabled = true
124+
}
125+
vcenter.vm.disk.throughput {
126+
enabled = true
127+
}
128+
vcenter.vm.disk.usage {
129+
enabled = true
130+
}
131+
vcenter.vm.disk.utilization {
132+
enabled = true
133+
}
134+
vcenter.vm.memory.ballooned {
135+
enabled = true
136+
}
137+
vcenter.vm.memory.swapped {
138+
enabled = true
139+
}
140+
vcenter.vm.memory.swapped_ssd {
141+
enabled = true
142+
}
143+
vcenter.vm.memory.usage {
144+
enabled = true
145+
}
146+
vcenter.vm.network.packet.count {
147+
enabled = true
148+
}
149+
vcenter.vm.network.throughput {
150+
enabled = true
151+
}
152+
vcenter.vm.network.usage {
153+
enabled = true
154+
}
155+
}
156+
19157
output { /* no-op */ }
20158
`
21159

@@ -36,7 +174,53 @@ func TestArguments_UnmarshalRiver(t *testing.T) {
36174
require.Equal(t, time.Second, otelArgs.ScraperControllerSettings.InitialDelay)
37175
require.Equal(t, 0*time.Second, otelArgs.ScraperControllerSettings.Timeout)
38176

39-
require.Equal(t, true, otelArgs.Metrics.VcenterClusterCPUEffective.Enabled)
40-
require.Equal(t, false, otelArgs.Metrics.VcenterVMMemoryUtilization.Enabled)
41-
require.Equal(t, true, otelArgs.ResourceAttributes.VcenterClusterName.Enabled)
177+
// Verify ResourceAttributesConfig fields
178+
require.True(t, otelArgs.ResourceAttributes.VcenterClusterName.Enabled)
179+
require.True(t, otelArgs.ResourceAttributes.VcenterDatastoreName.Enabled)
180+
require.True(t, otelArgs.ResourceAttributes.VcenterHostName.Enabled)
181+
require.False(t, otelArgs.ResourceAttributes.VcenterResourcePoolInventoryPath.Enabled)
182+
require.True(t, otelArgs.ResourceAttributes.VcenterResourcePoolName.Enabled)
183+
require.True(t, otelArgs.ResourceAttributes.VcenterVMName.Enabled)
184+
require.True(t, otelArgs.ResourceAttributes.VcenterVMID.Enabled)
185+
186+
// Verify MetricsConfig fields
187+
require.False(t, otelArgs.Metrics.VcenterClusterCPUEffective.Enabled)
188+
require.True(t, otelArgs.Metrics.VcenterClusterCPULimit.Enabled)
189+
require.True(t, otelArgs.Metrics.VcenterClusterHostCount.Enabled)
190+
require.True(t, otelArgs.Metrics.VcenterClusterMemoryEffective.Enabled)
191+
require.True(t, otelArgs.Metrics.VcenterClusterMemoryLimit.Enabled)
192+
require.True(t, otelArgs.Metrics.VcenterClusterMemoryUsed.Enabled)
193+
require.True(t, otelArgs.Metrics.VcenterClusterVMCount.Enabled)
194+
require.True(t, otelArgs.Metrics.VcenterDatastoreDiskUsage.Enabled)
195+
require.True(t, otelArgs.Metrics.VcenterDatastoreDiskUtilization.Enabled)
196+
require.True(t, otelArgs.Metrics.VcenterHostCPUUsage.Enabled)
197+
require.True(t, otelArgs.Metrics.VcenterHostCPUUtilization.Enabled)
198+
require.True(t, otelArgs.Metrics.VcenterHostDiskLatencyAvg.Enabled)
199+
require.True(t, otelArgs.Metrics.VcenterHostDiskLatencyMax.Enabled)
200+
require.True(t, otelArgs.Metrics.VcenterHostDiskThroughput.Enabled)
201+
require.True(t, otelArgs.Metrics.VcenterHostMemoryUsage.Enabled)
202+
require.True(t, otelArgs.Metrics.VcenterHostMemoryUtilization.Enabled)
203+
require.True(t, otelArgs.Metrics.VcenterHostNetworkPacketCount.Enabled)
204+
require.True(t, otelArgs.Metrics.VcenterHostNetworkPacketErrors.Enabled)
205+
require.True(t, otelArgs.Metrics.VcenterHostNetworkThroughput.Enabled)
206+
require.True(t, otelArgs.Metrics.VcenterHostNetworkUsage.Enabled)
207+
require.True(t, otelArgs.Metrics.VcenterResourcePoolCPUShares.Enabled)
208+
require.True(t, otelArgs.Metrics.VcenterResourcePoolCPUUsage.Enabled)
209+
require.True(t, otelArgs.Metrics.VcenterResourcePoolMemoryShares.Enabled)
210+
require.True(t, otelArgs.Metrics.VcenterResourcePoolMemoryUsage.Enabled)
211+
require.True(t, otelArgs.Metrics.VcenterVMCPUUsage.Enabled)
212+
require.True(t, otelArgs.Metrics.VcenterVMCPUUtilization.Enabled)
213+
require.True(t, otelArgs.Metrics.VcenterVMDiskLatencyAvg.Enabled)
214+
require.True(t, otelArgs.Metrics.VcenterVMDiskLatencyMax.Enabled)
215+
require.True(t, otelArgs.Metrics.VcenterVMDiskThroughput.Enabled)
216+
require.True(t, otelArgs.Metrics.VcenterVMDiskUsage.Enabled)
217+
require.True(t, otelArgs.Metrics.VcenterVMDiskUtilization.Enabled)
218+
require.True(t, otelArgs.Metrics.VcenterVMMemoryBallooned.Enabled)
219+
require.True(t, otelArgs.Metrics.VcenterVMMemorySwapped.Enabled)
220+
require.True(t, otelArgs.Metrics.VcenterVMMemorySwappedSsd.Enabled)
221+
require.True(t, otelArgs.Metrics.VcenterVMMemoryUsage.Enabled)
222+
require.False(t, otelArgs.Metrics.VcenterVMMemoryUtilization.Enabled)
223+
require.True(t, otelArgs.Metrics.VcenterVMNetworkPacketCount.Enabled)
224+
require.True(t, otelArgs.Metrics.VcenterVMNetworkThroughput.Enabled)
225+
require.True(t, otelArgs.Metrics.VcenterVMNetworkUsage.Enabled)
42226
}

docs/sources/flow/reference/components/otelcol.receiver.vcenter.md

+78
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,15 @@ The following blocks are supported inside the definition of
7878
Hierarchy | Block | Description | Required
7979
--------- | ----- | ----------- | --------
8080
tls | [tls][] | Configures TLS for the HTTP client. | no
81+
metrics | [metrics][] | Configures which metrics will be sent to downstream components. | no
82+
resource_attributes | [resource_attributes][] | Configures resource attributes for metrics sent to downstream components. | no
8183
debug_metrics | [debug_metrics][] | Configures the metrics that this component generates to monitor its state. | no
8284
output | [output][] | Configures where to send received telemetry data. | yes
8385

8486
[tls]: #tls-block
8587
[debug_metrics]: #debug_metrics-block
88+
[metrics]: #metrics-block
89+
[resource_attributes]: #resource_attributes-block
8690
[output]: #output-block
8791

8892
### tls block
@@ -92,6 +96,80 @@ isn't provided, TLS won't be used for connections to the server.
9296

9397
{{< docs/shared lookup="flow/reference/components/otelcol-tls-config-block.md" source="agent" version="<AGENT VERSION>" >}}
9498

99+
### metrics block
100+
101+
Name | Type | Description | Default | Required
102+
---- | ---- | ----------- | ------- | --------
103+
`vcenter.cluster.cpu.effective` | [metric][] | Enables the `vcenter.cluster.cpu.effective` metric. | `true` | no
104+
`vcenter.cluster.cpu.usage` | [metric][] | Enables the `vcenter.cluster.cpu.usage` metric. | `true` | no
105+
`vcenter.cluster.host.count` | [metric][] | Enables the `vcenter.cluster.host.count` metric. | `true` | no
106+
`vcenter.cluster.memory.effective` | [metric][] | Enables the `vcenter.cluster.memory.effective` metric. | `true` | no
107+
`vcenter.cluster.memory.limit` | [metric][] | Enables the `vcenter.cluster.memory.limit` metric. | `true` | no
108+
`vcenter.cluster.memory.used` | [metric][] | Enables the `vcenter.cluster.memory.used` metric. | `true` | no
109+
`vcenter.cluster.vm.count` | [metric][] | Enables the `vcenter.cluster.vm.count` metric. | `true` | no
110+
`vcenter.datastore.disk.usage` | [metric][] | Enables the `vcenter.datastore.disk.usage` metric. | `true` | no
111+
`vcenter.datastore.disk.utilization` | [metric][] | Enables the `vcenter.datastore.disk.utilization` metric. | `true` | no
112+
`vcenter.host.cpu.usage` | [metric][] | Enables the `vcenter.host.cpu.usage` metric. | `true` | no
113+
`vcenter.host.cpu.utilization` | [metric][] | Enables the `vcenter.host.cpu.utilization` metric. | `true` | no
114+
`vcenter.host.disk.latency.avg` | [metric][] | Enables the `vcenter.host.disk.latency.avg` metric. | `true` | no
115+
`vcenter.host.disk.latency.max` | [metric][] | Enables the `vcenter.host.disk.latency.max` metric. | `true` | no
116+
`vcenter.host.disk.throughput` | [metric][] | Enables the `vcenter.host.disk.throughput` metric. | `true` | no
117+
`vcenter.host.memory.usage` | [metric][] | Enables the `vcenter.host.memory.usage` metric. | `true` | no
118+
`vcenter.host.memory.utilization` | [metric][] | Enables the `vcenter.host.memory.utilization` metric. | `true` | no
119+
`vcenter.host.network.packet.count` | [metric][] | Enables the `vcenter.host.network.packet.count` metric. | `true` | no
120+
`vcenter.host.network.packet.errors` | [metric][] | Enables the `vcenter.host.network.packet.errors` metric. | `true` | no
121+
`vcenter.host.network.throughput` | [metric][] | Enables the `vcenter.host.network.throughput` metric. | `true` | no
122+
`vcenter.host.network.usage` | [metric][] | Enables the `vcenter.host.network.usage` metric. | `true` | no
123+
`vcenter.resource_pool.cpu.shares` | [metric][] | Enables the `vcenter.resource_pool.cpu.shares` metric. | `true` | no
124+
`vcenter.resource_pool.cpu.usage` | [metric][] | Enables the `vcenter.resource_pool.cpu.usage` metric. | `true` | no
125+
`vcenter.resource_pool.memory.shares` | [metric][] | Enables the `vcenter.resource_pool.memory.shares` metric. | `true` | no
126+
`vcenter.resource_pool.memory.usage` | [metric][] | Enables the `vcenter.resource_pool.memory.usage` metric. | `true` | no
127+
`vcenter.vm.cpu.usage` | [metric][] | Enables the `vcenter.vm.cpu.usage` metric. | `true` | no
128+
`vcenter.vm.cpu.utilization` | [metric][] | Enables the `vcenter.vm.cpu.utilization` metric. | `true` | no
129+
`vcenter.vm.disk.latency.avg` | [metric][] | Enables the `vcenter.vm.disk.latency.avg` metric. | `true` | no
130+
`vcenter.vm.disk.latency.max` | [metric][] | Enables the `vcenter.vm.disk.latency.max` metric. | `true` | no
131+
`vcenter.vm.disk.throughput` | [metric][] | Enables the `vcenter.vm.disk.throughput` metric. | `true` | no
132+
`vcenter.vm.disk.usage` | [metric][] | Enables the `vcenter.vm.disk.usage` metric. | `true` | no
133+
`vcenter.vm.disk.utilization` | [metric][] | Enables the `vcenter.vm.disk.utilization` metric. | `true` | no
134+
`vcenter.vm.memory.ballooned` | [metric][] | Enables the `vcenter.vm.memory.ballooned` metric. | `true` | no
135+
`vcenter.vm.memory.swapped` | [metric][] | Enables the `vcenter.vm.memory.swapped` metric. | `true` | no
136+
`vcenter.vm.memory.swapped_ssd` | [metric][] | Enables the `vcenter.vm.memory.swapped_ssd` metric. | `true` | no
137+
`vcenter.vm.memory.usage` | [metric][] | Enables the `vcenter.vm.memory.usage` metric. | `true` | no
138+
`vcenter.vm.memory.utilization` | [metric][] | Enables the `vcenter.vm.memory.utilization` metric. | `false` | no
139+
`vcenter.vm.network.packet.count` | [metric][] | Enables the `vcenter.vm.network.packet.count` metric. | `true` | no
140+
`vcenter.vm.network.throughput` | [metric][] | Enables the `vcenter.vm.network.throughput` metric. | `true` | no
141+
`vcenter.vm.network.usage` | [metric][] | Enables the `vcenter.vm.network.usage` metric. | `true` | no
142+
143+
[metric]: #metric-block
144+
145+
#### metric block
146+
147+
Name | Type | Description | Default | Required
148+
---- | ---- | ----------- | ------- | --------
149+
`enabled` | `boolean` | Whether to enable the metric. | `true` | no
150+
151+
152+
### resource_attributes block
153+
154+
Name | Type | Description | Default | Required
155+
---- | ---- | ----------- | ------- | --------
156+
`vcenter.cluster.name` | [resource_attribute][] | Enables the `vcenter.cluster.name` resource attribute. | `true` | no
157+
`vcenter.datastore.name` | [resource_attribute][] | Enables the `vcenter.cluster.resource_pool` resource attribute. | `true` | no
158+
`vcenter.host.name` | [resource_attribute][] | Enables the `vcenter.host.name` resource attribute. | `true` | no
159+
`vcenter.resource_pool.inventory_path` | [resource_attribute][] | Enables the `vcenter.resource_pool.inventory_path` resource attribute. | `true` | no
160+
`vcenter.resource_pool.name` | [resource_attribute][] | Enables the `vcenter.resource_pool.name` resource attribute. | `true` | no
161+
`vcenter.vm.id` | [resource_attribute][] | Enables the `vcenter.vm.id` resource attribute. | `true` | no
162+
`vcenter.vm.name` | [resource_attribute][] | Enables the `vcenter.vm.name` resource attribute. | `true` | no
163+
164+
[resource_attribute]: #resource_attribute-block
165+
166+
#### resource_attribute block
167+
168+
Name | Type | Description | Default | Required
169+
---- | ---- | ----------- | ------- | --------
170+
`enabled` | `boolean` | Whether to enable the resource attribute. | `true` | no
171+
172+
95173
### debug_metrics block
96174

97175
{{< docs/shared lookup="flow/reference/components/otelcol-debug-metrics-block.md" source="agent" version="<AGENT VERSION>" >}}

0 commit comments

Comments
 (0)