Skip to content

Commit fd23378

Browse files
committed
Address comments
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
1 parent 7cc7bb0 commit fd23378

4 files changed

Lines changed: 102 additions & 80 deletions

File tree

pkg/translator/prometheusremotewrite/helper_test.go

Lines changed: 86 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -250,118 +250,132 @@ func Test_createLabelSet(t *testing.T) {
250250
externalLabels map[string]string
251251
extras []string
252252
want []prompb.Label
253+
expectErr bool
253254
}{
254255
{
255-
"labels_clean",
256-
pcommon.NewResource(),
257-
lbs1,
258-
map[string]string{},
259-
[]string{label31, value31, label32, value32},
260-
getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32),
256+
name: "labels_clean",
257+
resource: pcommon.NewResource(),
258+
orig: lbs1,
259+
externalLabels: map[string]string{},
260+
extras: []string{label31, value31, label32, value32},
261+
want: getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32),
261262
},
262263
{
263-
"labels_with_resource",
264-
func() pcommon.Resource {
264+
name: "labels_with_resource",
265+
resource: func() pcommon.Resource {
265266
res := pcommon.NewResource()
266267
res.Attributes().PutStr("service.name", "prometheus")
267268
res.Attributes().PutStr("service.instance.id", "127.0.0.1:8080")
268269
return res
269270
}(),
270-
lbs1,
271-
map[string]string{},
272-
[]string{label31, value31, label32, value32},
273-
getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32, "job", "prometheus", "instance", "127.0.0.1:8080"),
271+
orig: lbs1,
272+
externalLabels: map[string]string{},
273+
extras: []string{label31, value31, label32, value32},
274+
want: getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32, "job", "prometheus", "instance", "127.0.0.1:8080"),
274275
},
275276
{
276-
"labels_with_nonstring_resource",
277-
func() pcommon.Resource {
277+
name: "labels_with_nonstring_resource",
278+
resource: func() pcommon.Resource {
278279
res := pcommon.NewResource()
279280
res.Attributes().PutInt("service.name", 12345)
280281
res.Attributes().PutBool("service.instance.id", true)
281282
return res
282283
}(),
283-
lbs1,
284-
map[string]string{},
285-
[]string{label31, value31, label32, value32},
286-
getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32, "job", "12345", "instance", "true"),
284+
orig: lbs1,
285+
externalLabels: map[string]string{},
286+
extras: []string{label31, value31, label32, value32},
287+
want: getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32, "job", "12345", "instance", "true"),
287288
},
288289
{
289-
"labels_duplicate_in_extras",
290-
pcommon.NewResource(),
291-
lbs1,
292-
map[string]string{},
293-
[]string{label11, value31},
294-
getPromLabels(label11, value31, label12, value12),
290+
name: "labels_duplicate_in_extras",
291+
resource: pcommon.NewResource(),
292+
orig: lbs1,
293+
externalLabels: map[string]string{},
294+
extras: []string{label11, value31},
295+
want: getPromLabels(label11, value31, label12, value12),
295296
},
296297
{
297-
"labels_dirty",
298-
pcommon.NewResource(),
299-
lbs1Dirty,
300-
map[string]string{},
301-
[]string{label31 + dirty1, value31, label32, value32},
302-
getPromLabels(label11+"_", value11, "key_"+label12, value12, label31+"_", value31, label32, value32),
298+
name: "labels_dirty",
299+
resource: pcommon.NewResource(),
300+
orig: lbs1Dirty,
301+
externalLabels: map[string]string{},
302+
extras: []string{label31 + dirty1, value31, label32, value32},
303+
want: getPromLabels(label11+"_", value11, "key_"+label12, value12, label31+"_", value31, label32, value32),
303304
},
304305
{
305-
"no_original_case",
306-
pcommon.NewResource(),
307-
pcommon.NewMap(),
308-
nil,
309-
[]string{label31, value31, label32, value32},
310-
getPromLabels(label31, value31, label32, value32),
306+
name: "no_original_case",
307+
resource: pcommon.NewResource(),
308+
orig: pcommon.NewMap(),
309+
externalLabels: map[string]string{},
310+
extras: []string{label31, value31, label32, value32},
311+
want: getPromLabels(label31, value31, label32, value32),
311312
},
312313
{
313-
"single_left_over_case",
314-
pcommon.NewResource(),
315-
lbs1,
316-
map[string]string{},
317-
[]string{label31, value31, label32},
318-
getPromLabels(label11, value11, label12, value12, label31, value31),
314+
name: "empty_extra_case",
315+
resource: pcommon.NewResource(),
316+
orig: lbs1,
317+
externalLabels: map[string]string{},
318+
extras: []string{"", ""},
319+
want: getPromLabels(label11, value11, label12, value12, "", ""),
320+
expectErr: true,
319321
},
320322
{
321-
"valid_external_labels",
322-
pcommon.NewResource(),
323-
lbs1,
324-
exlbs1,
325-
[]string{label31, value31, label32, value32},
326-
getPromLabels(label11, value11, label12, value12, label41, value41, label31, value31, label32, value32),
323+
name: "single_left_over_case",
324+
resource: pcommon.NewResource(),
325+
orig: lbs1,
326+
externalLabels: map[string]string{},
327+
extras: []string{label31, value31, label32},
328+
want: getPromLabels(label11, value11, label12, value12, label31, value31),
327329
},
328330
{
329-
"overwritten_external_labels",
330-
pcommon.NewResource(),
331-
lbs1,
332-
exlbs2,
333-
[]string{label31, value31, label32, value32},
334-
getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32),
331+
name: "valid_external_labels",
332+
resource: pcommon.NewResource(),
333+
orig: lbs1,
334+
externalLabels: exlbs1,
335+
extras: []string{label31, value31, label32, value32},
336+
want: getPromLabels(label11, value11, label12, value12, label41, value41, label31, value31, label32, value32),
335337
},
336338
{
337-
"colliding attributes",
338-
pcommon.NewResource(),
339-
lbsColliding,
340-
nil,
341-
[]string{label31, value31, label32, value32},
342-
getPromLabels(collidingSanitized, value11+";"+value12, label31, value31, label32, value32),
339+
name: "overwritten_external_labels",
340+
resource: pcommon.NewResource(),
341+
orig: lbs1,
342+
externalLabels: exlbs2,
343+
extras: []string{label31, value31, label32, value32},
344+
want: getPromLabels(label11, value11, label12, value12, label31, value31, label32, value32),
343345
},
344346
{
345-
"existing_attribute_value_is_the_same_as_the_new_label_value",
346-
pcommon.NewResource(),
347-
lbsCollidingSameValue,
348-
nil,
349-
[]string{label31, value31, label32, value32},
350-
getPromLabels(collidingSanitized, value11, label31, value31, label32, value32),
347+
name: "colliding attributes",
348+
resource: pcommon.NewResource(),
349+
orig: lbsColliding,
350+
externalLabels: nil,
351+
extras: []string{label31, value31, label32, value32},
352+
want: getPromLabels(collidingSanitized, value11+";"+value12, label31, value31, label32, value32),
351353
},
352354
{
353-
"sanitize_labels_starts_with_underscore",
354-
pcommon.NewResource(),
355-
lbs3,
356-
exlbs1,
357-
[]string{label31, value31, label32, value32},
358-
getPromLabels(label11, value11, label12, value12, "key"+label51, value51, label41, value41, label31, value31, label32, value32),
355+
name: "existing_attribute_value_is_the_same_as_the_new_label_value",
356+
resource: pcommon.NewResource(),
357+
orig: lbsCollidingSameValue,
358+
externalLabels: nil,
359+
extras: []string{label31, value31, label32, value32},
360+
want: getPromLabels(collidingSanitized, value11, label31, value31, label32, value32),
361+
},
362+
{
363+
name: "sanitize_labels_starts_with_underscore",
364+
resource: pcommon.NewResource(),
365+
orig: lbs3,
366+
externalLabels: exlbs1,
367+
extras: []string{label31, value31, label32, value32},
368+
want: getPromLabels(label11, value11, label12, value12, "key"+label51, value51, label41, value41, label31, value31, label32, value32),
359369
},
360370
}
361371
// run tests
362372
for _, tt := range tests {
363373
t.Run(tt.name, func(t *testing.T) {
364374
got, err := createAttributes(tt.resource, tt.orig, tt.externalLabels, nil, true, otlptranslator.LabelNamer{}, tt.extras...)
375+
if tt.expectErr {
376+
require.Error(t, err)
377+
return
378+
}
365379
require.NoError(t, err)
366380
assert.ElementsMatch(t, tt.want, got)
367381
})

pkg/translator/prometheusremotewrite/histograms_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,8 @@ func TestPrometheusConverter_addExponentialHistogramDataPoints(t *testing.T) {
740740

741741
converter := newPrometheusConverter(Settings{})
742742
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: true}
743-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(metric))
743+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(metric))
744+
require.NoError(t, err)
744745
require.NoError(t, converter.addExponentialHistogramDataPoints(
745746
metric.ExponentialHistogram().DataPoints(),
746747
pcommon.NewResource(),

pkg/translator/prometheusremotewrite/histograms_v2_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,8 @@ func TestPrometheusConverterV2_addExponentialHistogramDataPoints(t *testing.T) {
742742
}
743743
converter := newPrometheusConverterV2(Settings{})
744744
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: true}
745-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(metric))
745+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(metric))
746+
require.NoError(t, err)
746747
require.NoError(t, converter.addExponentialHistogramDataPoints(
747748
metric.ExponentialHistogram().DataPoints(),
748749
pcommon.NewResource(),

pkg/translator/prometheusremotewrite/otlp_to_openmetrics_metadata_test.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
168168
Type: prompb.MetricMetadata_GAUGE,
169169
MetricFamilyName: func() string {
170170
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
171-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
171+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
172172
testdata.TestGaugeDoubleMetricName,
173173
pcommon.NewMap(),
174174
1, ts,
175175
)))
176+
require.NoError(t, err)
176177
return metricName
177178
}(),
178179
Unit: "bytes_per_second",
@@ -182,11 +183,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
182183
Type: prompb.MetricMetadata_GAUGE,
183184
MetricFamilyName: func() string {
184185
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
185-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
186+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
186187
testdata.TestGaugeIntMetricName,
187188
pcommon.NewMap(),
188189
1, ts,
189190
)))
191+
require.NoError(t, err)
190192
return metricName
191193
}(),
192194
Unit: "per_second",
@@ -196,11 +198,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
196198
Type: prompb.MetricMetadata_COUNTER,
197199
MetricFamilyName: func() string {
198200
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
199-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
201+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
200202
testdata.TestSumDoubleMetricName,
201203
pcommon.NewMap(),
202204
1, ts,
203205
)))
206+
require.NoError(t, err)
204207
return metricName
205208
}(),
206209
Unit: "seconds",
@@ -210,11 +213,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
210213
Type: prompb.MetricMetadata_COUNTER,
211214
MetricFamilyName: func() string {
212215
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
213-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
216+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
214217
testdata.TestSumIntMetricName,
215218
pcommon.NewMap(),
216219
1, ts,
217220
)))
221+
require.NoError(t, err)
218222
return metricName
219223
}(),
220224
Unit: "connections",
@@ -224,11 +228,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
224228
Type: prompb.MetricMetadata_HISTOGRAM,
225229
MetricFamilyName: func() string {
226230
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
227-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
231+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
228232
testdata.TestDoubleHistogramMetricName,
229233
pcommon.NewMap(),
230234
1, ts,
231235
)))
236+
require.NoError(t, err)
232237
return metricName
233238
}(),
234239
Unit: "",
@@ -238,11 +243,12 @@ func TestOtelMetricsToMetadata(t *testing.T) {
238243
Type: prompb.MetricMetadata_SUMMARY,
239244
MetricFamilyName: func() string {
240245
metricNamer := otlptranslator.MetricNamer{WithMetricSuffixes: false, Namespace: ""}
241-
metricName, _ := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
246+
metricName, err := metricNamer.Build(prom.TranslatorMetricFromOtelMetric(getIntGaugeMetric(
242247
testdata.TestDoubleSummaryMetricName,
243248
pcommon.NewMap(),
244249
1, ts,
245250
)))
251+
require.NoError(t, err)
246252
return metricName
247253
}(),
248254
Unit: "",

0 commit comments

Comments
 (0)