Skip to content

Commit e5c50c0

Browse files
committed
Address Copilot review feedback: Add subtests for empty default attributes with Views
1 parent 8e67a60 commit e5c50c0

1 file changed

Lines changed: 87 additions & 22 deletions

File tree

sdk/metric/meter_test.go

Lines changed: 87 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3056,29 +3056,94 @@ func TestMeterDefaultAttributes_FilterAll(t *testing.T) {
30563056
k1 := attribute.Key("k1")
30573057
k2 := attribute.Key("k2")
30583058

3059-
rdr := NewManualReader()
3060-
m := NewMeterProvider(WithReader(rdr)).Meter("test")
3059+
t.Run("DefaultBehavior", func(t *testing.T) {
3060+
rdr := NewManualReader()
3061+
m := NewMeterProvider(WithReader(rdr)).Meter("test")
30613062

3062-
ctr, err := m.Int64Counter("sint", x.WithDefaultAttributes())
3063-
require.NoError(t, err)
3064-
ctr.Add(t.Context(), 3, metric.WithAttributes(k1.String("alice"), k2.String("bob")))
3063+
ctr, err := m.Int64Counter("sint", x.WithDefaultAttributes())
3064+
require.NoError(t, err)
3065+
ctr.Add(t.Context(), 3, metric.WithAttributes(k1.String("alice"), k2.String("bob")))
30653066

3066-
rm := metricdata.ResourceMetrics{}
3067-
err = rdr.Collect(t.Context(), &rm)
3068-
require.NoError(t, err)
3067+
rm := metricdata.ResourceMetrics{}
3068+
err = rdr.Collect(t.Context(), &rm)
3069+
require.NoError(t, err)
30693070

3070-
require.Len(t, rm.ScopeMetrics, 1)
3071-
sm := rm.ScopeMetrics[0]
3072-
require.Len(t, sm.Metrics, 1)
3073-
got := sm.Metrics[0]
3074-
3075-
want := metricdata.Metrics{
3076-
Name: "sint",
3077-
Data: metricdata.Sum[int64]{
3078-
Temporality: metricdata.CumulativeTemporality,
3079-
IsMonotonic: true,
3080-
DataPoints: []metricdata.DataPoint[int64]{{Attributes: attribute.NewSet(), Value: 3}},
3081-
},
3082-
}
3083-
metricdatatest.AssertEqual(t, want, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars())
3071+
require.Len(t, rm.ScopeMetrics, 1)
3072+
sm := rm.ScopeMetrics[0]
3073+
require.Len(t, sm.Metrics, 1)
3074+
got := sm.Metrics[0]
3075+
3076+
want := metricdata.Metrics{
3077+
Name: "sint",
3078+
Data: metricdata.Sum[int64]{
3079+
Temporality: metricdata.CumulativeTemporality,
3080+
IsMonotonic: true,
3081+
DataPoints: []metricdata.DataPoint[int64]{{Attributes: attribute.NewSet(), Value: 3}},
3082+
},
3083+
}
3084+
metricdatatest.AssertEqual(t, want, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars())
3085+
})
3086+
3087+
t.Run("ViewWithoutFilter", func(t *testing.T) {
3088+
rdr := NewManualReader()
3089+
view := NewView(Instrument{Name: "*"}, Stream{Description: "updated"})
3090+
m := NewMeterProvider(WithReader(rdr), WithView(view)).Meter("test")
3091+
3092+
ctr, err := m.Int64Counter("sint", x.WithDefaultAttributes())
3093+
require.NoError(t, err)
3094+
ctr.Add(t.Context(), 3, metric.WithAttributes(k1.String("alice"), k2.String("bob")))
3095+
3096+
rm := metricdata.ResourceMetrics{}
3097+
err = rdr.Collect(t.Context(), &rm)
3098+
require.NoError(t, err)
3099+
3100+
require.Len(t, rm.ScopeMetrics, 1)
3101+
sm := rm.ScopeMetrics[0]
3102+
require.Len(t, sm.Metrics, 1)
3103+
got := sm.Metrics[0]
3104+
3105+
want := metricdata.Metrics{
3106+
Name: "sint",
3107+
Description: "updated",
3108+
Data: metricdata.Sum[int64]{
3109+
Temporality: metricdata.CumulativeTemporality,
3110+
IsMonotonic: true,
3111+
DataPoints: []metricdata.DataPoint[int64]{{Attributes: attribute.NewSet(), Value: 3}},
3112+
},
3113+
}
3114+
metricdatatest.AssertEqual(t, want, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars())
3115+
})
3116+
3117+
t.Run("ViewWithFilterOverride", func(t *testing.T) {
3118+
rdr := NewManualReader()
3119+
view := NewView(Instrument{Name: "*"}, Stream{
3120+
AttributeFilter: attribute.NewAllowKeysFilter(k1),
3121+
})
3122+
m := NewMeterProvider(WithReader(rdr), WithView(view)).Meter("test")
3123+
3124+
ctr, err := m.Int64Counter("sint", x.WithDefaultAttributes())
3125+
require.NoError(t, err)
3126+
ctr.Add(t.Context(), 3, metric.WithAttributes(k1.String("alice"), k2.String("bob")))
3127+
3128+
rm := metricdata.ResourceMetrics{}
3129+
err = rdr.Collect(t.Context(), &rm)
3130+
require.NoError(t, err)
3131+
3132+
require.Len(t, rm.ScopeMetrics, 1)
3133+
sm := rm.ScopeMetrics[0]
3134+
require.Len(t, sm.Metrics, 1)
3135+
got := sm.Metrics[0]
3136+
3137+
want := metricdata.Metrics{
3138+
Name: "sint",
3139+
Data: metricdata.Sum[int64]{
3140+
Temporality: metricdata.CumulativeTemporality,
3141+
IsMonotonic: true,
3142+
DataPoints: []metricdata.DataPoint[int64]{
3143+
{Attributes: attribute.NewSet(k1.String("alice")), Value: 3},
3144+
},
3145+
},
3146+
}
3147+
metricdatatest.AssertEqual(t, want, got, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreExemplars())
3148+
})
30843149
}

0 commit comments

Comments
 (0)