Skip to content

Commit 2863c42

Browse files
authored
Make metrics reusable by other remappers (#10)
1 parent 3234f90 commit 2863c42

File tree

7 files changed

+324
-309
lines changed

7 files changed

+324
-309
lines changed

remappers/hostmetrics/cpu.go

Lines changed: 122 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import (
2222

2323
"go.opentelemetry.io/collector/pdata/pcommon"
2424
"go.opentelemetry.io/collector/pdata/pmetric"
25+
26+
remappers "github.com/elastic/opentelemetry-lib/remappers/internal"
2527
)
2628

2729
func remapCPUMetrics(
@@ -86,60 +88,60 @@ func remapCPUMetrics(
8688
}
8789

8890
// Add all metrics that are independent of cpu logical count.
89-
addMetrics(out, dataset, emptyMutator,
90-
metric{
91-
dataType: pmetric.MetricTypeGauge,
92-
name: "system.cpu.total.pct",
93-
timestamp: timestamp,
94-
doubleValue: &totalPercent,
95-
},
96-
metric{
97-
dataType: pmetric.MetricTypeGauge,
98-
name: "system.cpu.idle.pct",
99-
timestamp: timestamp,
100-
doubleValue: &idlePercent,
101-
},
102-
metric{
103-
dataType: pmetric.MetricTypeGauge,
104-
name: "system.cpu.system.pct",
105-
timestamp: timestamp,
106-
doubleValue: &systemPercent,
107-
},
108-
metric{
109-
dataType: pmetric.MetricTypeGauge,
110-
name: "system.cpu.user.pct",
111-
timestamp: timestamp,
112-
doubleValue: &userPercent,
113-
},
114-
metric{
115-
dataType: pmetric.MetricTypeGauge,
116-
name: "system.cpu.steal.pct",
117-
timestamp: timestamp,
118-
doubleValue: &stealPercent,
119-
},
120-
metric{
121-
dataType: pmetric.MetricTypeGauge,
122-
name: "system.cpu.wait.pct",
123-
timestamp: timestamp,
124-
doubleValue: &iowaitPercent,
125-
},
126-
metric{
127-
dataType: pmetric.MetricTypeGauge,
128-
name: "system.cpu.nice.pct",
129-
timestamp: timestamp,
130-
doubleValue: &nicePercent,
131-
},
132-
metric{
133-
dataType: pmetric.MetricTypeGauge,
134-
name: "system.cpu.irq.pct",
135-
timestamp: timestamp,
136-
doubleValue: &irqPercent,
137-
},
138-
metric{
139-
dataType: pmetric.MetricTypeGauge,
140-
name: "system.cpu.softirq.pct",
141-
timestamp: timestamp,
142-
doubleValue: &softirqPercent,
91+
remappers.AddMetrics(out, dataset, remappers.EmptyMutator,
92+
remappers.Metric{
93+
DataType: pmetric.MetricTypeGauge,
94+
Name: "system.cpu.total.pct",
95+
Timestamp: timestamp,
96+
DoubleValue: &totalPercent,
97+
},
98+
remappers.Metric{
99+
DataType: pmetric.MetricTypeGauge,
100+
Name: "system.cpu.idle.pct",
101+
Timestamp: timestamp,
102+
DoubleValue: &idlePercent,
103+
},
104+
remappers.Metric{
105+
DataType: pmetric.MetricTypeGauge,
106+
Name: "system.cpu.system.pct",
107+
Timestamp: timestamp,
108+
DoubleValue: &systemPercent,
109+
},
110+
remappers.Metric{
111+
DataType: pmetric.MetricTypeGauge,
112+
Name: "system.cpu.user.pct",
113+
Timestamp: timestamp,
114+
DoubleValue: &userPercent,
115+
},
116+
remappers.Metric{
117+
DataType: pmetric.MetricTypeGauge,
118+
Name: "system.cpu.steal.pct",
119+
Timestamp: timestamp,
120+
DoubleValue: &stealPercent,
121+
},
122+
remappers.Metric{
123+
DataType: pmetric.MetricTypeGauge,
124+
Name: "system.cpu.wait.pct",
125+
Timestamp: timestamp,
126+
DoubleValue: &iowaitPercent,
127+
},
128+
remappers.Metric{
129+
DataType: pmetric.MetricTypeGauge,
130+
Name: "system.cpu.nice.pct",
131+
Timestamp: timestamp,
132+
DoubleValue: &nicePercent,
133+
},
134+
remappers.Metric{
135+
DataType: pmetric.MetricTypeGauge,
136+
Name: "system.cpu.irq.pct",
137+
Timestamp: timestamp,
138+
DoubleValue: &irqPercent,
139+
},
140+
remappers.Metric{
141+
DataType: pmetric.MetricTypeGauge,
142+
Name: "system.cpu.softirq.pct",
143+
Timestamp: timestamp,
144+
DoubleValue: &softirqPercent,
143145
},
144146
)
145147

@@ -157,72 +159,72 @@ func remapCPUMetrics(
157159
irqNorm := irqPercent / float64(numCores)
158160
softirqNorm := softirqPercent / float64(numCores)
159161

160-
addMetrics(out, dataset, emptyMutator,
161-
metric{
162-
dataType: pmetric.MetricTypeSum,
163-
name: "system.cpu.cores",
164-
timestamp: timestamp,
165-
intValue: &numCores,
166-
},
167-
metric{
168-
dataType: pmetric.MetricTypeSum,
169-
name: "system.load.cores",
170-
timestamp: timestamp,
171-
intValue: &numCores,
172-
},
173-
metric{
174-
dataType: pmetric.MetricTypeGauge,
175-
name: "system.cpu.total.norm.pct",
176-
timestamp: timestamp,
177-
doubleValue: &totalNorm,
178-
},
179-
metric{
180-
dataType: pmetric.MetricTypeGauge,
181-
name: "system.cpu.idle.norm.pct",
182-
timestamp: timestamp,
183-
doubleValue: &idleNorm,
184-
},
185-
metric{
186-
dataType: pmetric.MetricTypeGauge,
187-
name: "system.cpu.system.norm.pct",
188-
timestamp: timestamp,
189-
doubleValue: &systemNorm,
190-
},
191-
metric{
192-
dataType: pmetric.MetricTypeGauge,
193-
name: "system.cpu.user.norm.pct",
194-
timestamp: timestamp,
195-
doubleValue: &userNorm,
196-
},
197-
metric{
198-
dataType: pmetric.MetricTypeGauge,
199-
name: "system.cpu.steal.norm.pct",
200-
timestamp: timestamp,
201-
doubleValue: &stealNorm,
202-
},
203-
metric{
204-
dataType: pmetric.MetricTypeGauge,
205-
name: "system.cpu.wait.norm.pct",
206-
timestamp: timestamp,
207-
doubleValue: &iowaitNorm,
208-
},
209-
metric{
210-
dataType: pmetric.MetricTypeGauge,
211-
name: "system.cpu.nice.norm.pct",
212-
timestamp: timestamp,
213-
doubleValue: &niceNorm,
214-
},
215-
metric{
216-
dataType: pmetric.MetricTypeGauge,
217-
name: "system.cpu.irq.norm.pct",
218-
timestamp: timestamp,
219-
doubleValue: &irqNorm,
220-
},
221-
metric{
222-
dataType: pmetric.MetricTypeGauge,
223-
name: "system.cpu.softirq.norm.pct",
224-
timestamp: timestamp,
225-
doubleValue: &softirqNorm,
162+
remappers.AddMetrics(out, dataset, remappers.EmptyMutator,
163+
remappers.Metric{
164+
DataType: pmetric.MetricTypeSum,
165+
Name: "system.cpu.cores",
166+
Timestamp: timestamp,
167+
IntValue: &numCores,
168+
},
169+
remappers.Metric{
170+
DataType: pmetric.MetricTypeSum,
171+
Name: "system.load.cores",
172+
Timestamp: timestamp,
173+
IntValue: &numCores,
174+
},
175+
remappers.Metric{
176+
DataType: pmetric.MetricTypeGauge,
177+
Name: "system.cpu.total.norm.pct",
178+
Timestamp: timestamp,
179+
DoubleValue: &totalNorm,
180+
},
181+
remappers.Metric{
182+
DataType: pmetric.MetricTypeGauge,
183+
Name: "system.cpu.idle.norm.pct",
184+
Timestamp: timestamp,
185+
DoubleValue: &idleNorm,
186+
},
187+
remappers.Metric{
188+
DataType: pmetric.MetricTypeGauge,
189+
Name: "system.cpu.system.norm.pct",
190+
Timestamp: timestamp,
191+
DoubleValue: &systemNorm,
192+
},
193+
remappers.Metric{
194+
DataType: pmetric.MetricTypeGauge,
195+
Name: "system.cpu.user.norm.pct",
196+
Timestamp: timestamp,
197+
DoubleValue: &userNorm,
198+
},
199+
remappers.Metric{
200+
DataType: pmetric.MetricTypeGauge,
201+
Name: "system.cpu.steal.norm.pct",
202+
Timestamp: timestamp,
203+
DoubleValue: &stealNorm,
204+
},
205+
remappers.Metric{
206+
DataType: pmetric.MetricTypeGauge,
207+
Name: "system.cpu.wait.norm.pct",
208+
Timestamp: timestamp,
209+
DoubleValue: &iowaitNorm,
210+
},
211+
remappers.Metric{
212+
DataType: pmetric.MetricTypeGauge,
213+
Name: "system.cpu.nice.norm.pct",
214+
Timestamp: timestamp,
215+
DoubleValue: &niceNorm,
216+
},
217+
remappers.Metric{
218+
DataType: pmetric.MetricTypeGauge,
219+
Name: "system.cpu.irq.norm.pct",
220+
Timestamp: timestamp,
221+
DoubleValue: &irqNorm,
222+
},
223+
remappers.Metric{
224+
DataType: pmetric.MetricTypeGauge,
225+
Name: "system.cpu.softirq.norm.pct",
226+
Timestamp: timestamp,
227+
DoubleValue: &softirqNorm,
226228
},
227229
)
228230

remappers/hostmetrics/load.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ package hostmetrics
2020
import (
2121
"go.opentelemetry.io/collector/pdata/pcommon"
2222
"go.opentelemetry.io/collector/pdata/pmetric"
23+
24+
remappers "github.com/elastic/opentelemetry-lib/remappers/internal"
2325
)
2426

2527
// system.load.cores is calculated using the cpu remapper and if dataset
@@ -56,24 +58,24 @@ func remapLoadMetrics(
5658
}
5759
}
5860

59-
addMetrics(out, dataset, emptyMutator,
60-
metric{
61-
dataType: pmetric.MetricTypeGauge,
62-
name: "system.load.1",
63-
timestamp: timestamp,
64-
doubleValue: &l1,
61+
remappers.AddMetrics(out, dataset, remappers.EmptyMutator,
62+
remappers.Metric{
63+
DataType: pmetric.MetricTypeGauge,
64+
Name: "system.load.1",
65+
Timestamp: timestamp,
66+
DoubleValue: &l1,
6567
},
66-
metric{
67-
dataType: pmetric.MetricTypeGauge,
68-
name: "system.load.5",
69-
timestamp: timestamp,
70-
doubleValue: &l5,
68+
remappers.Metric{
69+
DataType: pmetric.MetricTypeGauge,
70+
Name: "system.load.5",
71+
Timestamp: timestamp,
72+
DoubleValue: &l5,
7173
},
72-
metric{
73-
dataType: pmetric.MetricTypeGauge,
74-
name: "system.load.15",
75-
timestamp: timestamp,
76-
doubleValue: &l15,
74+
remappers.Metric{
75+
DataType: pmetric.MetricTypeGauge,
76+
Name: "system.load.15",
77+
Timestamp: timestamp,
78+
DoubleValue: &l15,
7779
},
7880
)
7981

0 commit comments

Comments
 (0)