Skip to content

Commit 6ad72fb

Browse files
committed
Add a config struct, similar to otel2influx
1 parent db20054 commit 6ad72fb

5 files changed

Lines changed: 81 additions & 40 deletions

influx2otel/metrics.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,27 @@ import (
1515
"github.com/influxdata/influxdb-observability/common"
1616
)
1717

18+
type LineProtocolToOtelMetricsConfig struct {
19+
Logger common.Logger
20+
NameSeparator string
21+
}
22+
23+
func DefaultLineProtocolToOtelMetricsConfig() *LineProtocolToOtelMetricsConfig {
24+
return &LineProtocolToOtelMetricsConfig{
25+
Logger: new(common.NoopLogger),
26+
NameSeparator: "_",
27+
}
28+
}
29+
1830
type LineProtocolToOtelMetrics struct {
1931
logger common.Logger
2032
nameSeparator string
2133
}
2234

23-
func NewLineProtocolToOtelMetrics(logger common.Logger) (*LineProtocolToOtelMetrics, error) {
24-
return &LineProtocolToOtelMetrics{
25-
logger: logger,
26-
nameSeparator: "_",
27-
}, nil
28-
}
29-
30-
func NewLineProtocolToOtelMetricsWithSeparator(logger common.Logger, nameSeparator string) (*LineProtocolToOtelMetrics, error) {
35+
func NewLineProtocolToOtelMetrics(config *LineProtocolToOtelMetricsConfig) (*LineProtocolToOtelMetrics, error) {
3136
return &LineProtocolToOtelMetrics{
32-
logger: logger,
33-
nameSeparator: nameSeparator,
37+
logger: config.Logger,
38+
nameSeparator: config.NameSeparator,
3439
}, nil
3540
}
3641

influx2otel/metrics_statsd_schema_test.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import (
1414
)
1515

1616
func TestStatsdTimingSchema(t *testing.T) {
17-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
17+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
18+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
1819
require.NoError(t, err)
1920

2021
b := c.NewBatch()
@@ -106,7 +107,8 @@ func TestStatsdTimingSchema(t *testing.T) {
106107
}
107108

108109
func TestStatsCounter(t *testing.T) {
109-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
110+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
111+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
110112
require.NoError(t, err)
111113

112114
// statsd metric:
@@ -142,7 +144,8 @@ func TestStatsCounter(t *testing.T) {
142144
}
143145

144146
func TestStatsDeltaCounter(t *testing.T) {
145-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
147+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
148+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
146149
require.NoError(t, err)
147150

148151
// statsd metric:
@@ -179,7 +182,8 @@ func TestStatsDeltaCounter(t *testing.T) {
179182
}
180183

181184
func TestStatsGauge(t *testing.T) {
182-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
185+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
186+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
183187
require.NoError(t, err)
184188

185189
// statsd metric:
@@ -214,7 +218,8 @@ func TestStatsGauge(t *testing.T) {
214218
}
215219

216220
func TestStatsdSetsSchema(t *testing.T) {
217-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
221+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
222+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
218223
require.NoError(t, err)
219224

220225
// statsd metric:
@@ -249,7 +254,8 @@ func TestStatsdSetsSchema(t *testing.T) {
249254
}
250255

251256
func TestDeltaTemporalityStatsdCounter(t *testing.T) {
252-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
257+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
258+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
253259
require.NoError(t, err)
254260

255261
// statsd metric:

influx2otel/metrics_telegraf_prometheus_v1_test.go

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import (
1414
)
1515

1616
func TestAddPoint_v1_gauge(t *testing.T) {
17-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
17+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
18+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
1819
require.NoError(t, err)
1920

2021
b := c.NewBatch()
@@ -68,7 +69,8 @@ func TestAddPoint_v1_gauge(t *testing.T) {
6869
}
6970

7071
func TestAddPoint_v1_untypedGauge(t *testing.T) {
71-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
72+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
73+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
7274
require.NoError(t, err)
7375

7476
b := c.NewBatch()
@@ -122,7 +124,8 @@ func TestAddPoint_v1_untypedGauge(t *testing.T) {
122124
}
123125

124126
func TestAddPoint_v1_untyped(t *testing.T) {
125-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
127+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
128+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
126129
require.NoError(t, err)
127130

128131
b := c.NewBatch()
@@ -163,7 +166,8 @@ func TestAddPoint_v1_untyped(t *testing.T) {
163166
}
164167

165168
func TestAddPoint_v1_sum(t *testing.T) {
166-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
169+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
170+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
167171
require.NoError(t, err)
168172

169173
b := c.NewBatch()
@@ -223,7 +227,8 @@ func TestAddPoint_v1_sum(t *testing.T) {
223227
}
224228

225229
func TestAddPoint_v1_untypedSum(t *testing.T) {
226-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
230+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
231+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
227232
require.NoError(t, err)
228233

229234
b := c.NewBatch()
@@ -283,7 +288,8 @@ func TestAddPoint_v1_untypedSum(t *testing.T) {
283288
}
284289

285290
func TestAddPoint_v1_histogram(t *testing.T) {
286-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
291+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
292+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
287293
require.NoError(t, err)
288294

289295
b := c.NewBatch()
@@ -332,7 +338,8 @@ func TestAddPoint_v1_histogram(t *testing.T) {
332338
}
333339

334340
func TestAddPoint_v1_histogram_missingInfinityBucket(t *testing.T) {
335-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
341+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
342+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
336343
require.NoError(t, err)
337344

338345
b := c.NewBatch()
@@ -380,7 +387,8 @@ func TestAddPoint_v1_histogram_missingInfinityBucket(t *testing.T) {
380387
}
381388

382389
func TestAddPoint_v1_untypedHistogram(t *testing.T) {
383-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
390+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
391+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
384392
require.NoError(t, err)
385393

386394
b := c.NewBatch()
@@ -428,7 +436,8 @@ func TestAddPoint_v1_untypedHistogram(t *testing.T) {
428436
}
429437

430438
func TestAddPoint_v1_summary(t *testing.T) {
431-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
439+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
440+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
432441
require.NoError(t, err)
433442

434443
b := c.NewBatch()
@@ -488,7 +497,8 @@ func TestAddPoint_v1_summary(t *testing.T) {
488497
}
489498

490499
func TestAddPoint_v1_untypedSummary(t *testing.T) {
491-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
500+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
501+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
492502
require.NoError(t, err)
493503

494504
b := c.NewBatch()
@@ -536,8 +546,10 @@ func TestAddPoint_v1_untypedSummary(t *testing.T) {
536546
}
537547

538548
func TestAddPoint_v1_gauge_separator(t *testing.T) {
549+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
550+
config.NameSeparator = "."
539551
// Use a dot to separate name and fields
540-
c, err := influx2otel.NewLineProtocolToOtelMetricsWithSeparator(new(common.NoopLogger), ".")
552+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
541553
require.NoError(t, err)
542554

543555
b := c.NewBatch()
@@ -592,9 +604,12 @@ func TestAddPoint_v1_gauge_separator(t *testing.T) {
592604

593605
assertMetricsEqual(t, expect, b.GetMetrics())
594606
}
607+
595608
func TestAddPoint_v1_sum_separator(t *testing.T) {
609+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
610+
config.NameSeparator = "."
596611
// Use a dot to separate name and fields
597-
c, err := influx2otel.NewLineProtocolToOtelMetricsWithSeparator(new(common.NoopLogger), ".")
612+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
598613
require.NoError(t, err)
599614

600615
b := c.NewBatch()
@@ -657,9 +672,12 @@ func TestAddPoint_v1_sum_separator(t *testing.T) {
657672

658673
assertMetricsEqual(t, expect, b.GetMetrics())
659674
}
675+
660676
func TestAddPoint_v1_untyped_separator(t *testing.T) {
677+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
678+
config.NameSeparator = "."
661679
// Use a dot to separate name and fields
662-
c, err := influx2otel.NewLineProtocolToOtelMetricsWithSeparator(new(common.NoopLogger), ".")
680+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
663681
require.NoError(t, err)
664682

665683
b := c.NewBatch()

influx2otel/metrics_telegraf_prometheus_v2_test.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import (
1414
)
1515

1616
func TestAddPoint_v2_gauge(t *testing.T) {
17-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
17+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
18+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
1819
require.NoError(t, err)
1920

2021
b := c.NewBatch()
@@ -68,7 +69,8 @@ func TestAddPoint_v2_gauge(t *testing.T) {
6869
}
6970

7071
func TestAddPoint_v2_untypedGauge(t *testing.T) {
71-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
72+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
73+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
7274
require.NoError(t, err)
7375

7476
b := c.NewBatch()
@@ -122,7 +124,8 @@ func TestAddPoint_v2_untypedGauge(t *testing.T) {
122124
}
123125

124126
func TestAddPoint_v2_sum(t *testing.T) {
125-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
127+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
128+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
126129
require.NoError(t, err)
127130

128131
b := c.NewBatch()
@@ -182,7 +185,8 @@ func TestAddPoint_v2_sum(t *testing.T) {
182185
}
183186

184187
func TestAddPoint_v2_untypedSum(t *testing.T) {
185-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
188+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
189+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
186190
require.NoError(t, err)
187191

188192
b := c.NewBatch()
@@ -240,7 +244,8 @@ func TestAddPoint_v2_untypedSum(t *testing.T) {
240244
}
241245

242246
func TestAddPoint_v2_histogram(t *testing.T) {
243-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
247+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
248+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
244249
require.NoError(t, err)
245250

246251
b := c.NewBatch()
@@ -380,7 +385,8 @@ func TestAddPoint_v2_histogram(t *testing.T) {
380385
}
381386

382387
func TestAddPoint_v2_histogram_missingInfinityBucket(t *testing.T) {
383-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
388+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
389+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
384390
require.NoError(t, err)
385391

386392
b := c.NewBatch()
@@ -504,7 +510,8 @@ func TestAddPoint_v2_histogram_missingInfinityBucket(t *testing.T) {
504510
}
505511

506512
func TestAddPoint_v2_untypedHistogram(t *testing.T) {
507-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
513+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
514+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
508515
require.NoError(t, err)
509516

510517
b := c.NewBatch()
@@ -628,7 +635,8 @@ func TestAddPoint_v2_untypedHistogram(t *testing.T) {
628635
}
629636

630637
func TestAddPoint_v2_summary(t *testing.T) {
631-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
638+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
639+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
632640
require.NoError(t, err)
633641

634642
b := c.NewBatch()
@@ -764,7 +772,8 @@ func TestAddPoint_v2_summary(t *testing.T) {
764772
}
765773

766774
func TestAddPoint_v2_untypedSummary(t *testing.T) {
767-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
775+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
776+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
768777
require.NoError(t, err)
769778

770779
b := c.NewBatch()

influx2otel/metrics_unknown_schema_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import (
1414
)
1515

1616
func TestUnknownSchema(t *testing.T) {
17-
c, err := influx2otel.NewLineProtocolToOtelMetrics(new(common.NoopLogger))
17+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
18+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
1819
require.NoError(t, err)
1920

2021
b := c.NewBatch()
@@ -70,8 +71,10 @@ func TestUnknownSchema(t *testing.T) {
7071
}
7172

7273
func TestUnknownSchema_CustomSeparator(t *testing.T) {
74+
config := influx2otel.DefaultLineProtocolToOtelMetricsConfig()
75+
config.NameSeparator = "."
7376
// Use a dot to separate name and fields
74-
c, err := influx2otel.NewLineProtocolToOtelMetricsWithSeparator(new(common.NoopLogger), ".")
77+
c, err := influx2otel.NewLineProtocolToOtelMetrics(config)
7578
require.NoError(t, err)
7679

7780
b := c.NewBatch()

0 commit comments

Comments
 (0)