Skip to content

Commit ea7fcbb

Browse files
committed
Hide OpenCensus reference from public APIs in obsreport package
1 parent fe57963 commit ea7fcbb

File tree

7 files changed

+45
-22
lines changed

7 files changed

+45
-22
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
## 🛑 Breaking changes 🛑
66

77
- Remove unused logstest package (#3222)
8+
- Remove the OpenCensus references for the following public APIs in `obsreport` package (#3253)
9+
- `obsreport.Config`
10+
- `obsreport.AllViews`
11+
- `obsreport.ProcessorMetricViews`
12+
813

914
## v0.27.0 Beta
1015

obsreport/obsreport.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ var (
3636
okStatus = trace.Status{Code: trace.StatusCodeOK}
3737
)
3838

39+
// ObsMetrics wraps OpenCensus View for Collector observability metrics
40+
type ObsMetrics struct {
41+
Views []*view.View
42+
}
43+
3944
// setParentLink tries to retrieve a span from parentCtx and if one exists
4045
// sets its SpanID, TraceID as a link to the given child Span.
4146
// It returns true only if it retrieved a parent span from the context.
@@ -62,15 +67,19 @@ func setParentLink(parentCtx context.Context, childSpan *trace.Span) bool {
6267

6368
// Configure is used to control the settings that will be used by the obsreport
6469
// package.
65-
func Configure(level configtelemetry.Level) (views []*view.View) {
70+
func Configure(level configtelemetry.Level) *ObsMetrics {
6671
gLevel = level
72+
var views []*view.View
6773

6874
if gLevel != configtelemetry.LevelNone {
6975
gProcessor.level = level
70-
views = append(views, AllViews()...)
76+
obsMetricViews := AllViews()
77+
views = append(views, obsMetricViews.Views...)
7178
}
7279

73-
return views
80+
return &ObsMetrics{
81+
Views: views,
82+
}
7483
}
7584

7685
func buildComponentPrefix(componentPrefix, configType string) string {
@@ -84,7 +93,8 @@ func buildComponentPrefix(componentPrefix, configType string) string {
8493
}
8594

8695
// AllViews return the list of all views that needs to be configured.
87-
func AllViews() (views []*view.View) {
96+
func AllViews() *ObsMetrics {
97+
var views []*view.View
8898
// Receiver views.
8999
measures := []*stats.Int64Measure{
90100
mReceiverAcceptedSpans,
@@ -134,7 +144,9 @@ func AllViews() (views []*view.View) {
134144
tagKeys = []tag.Key{tagKeyProcessor}
135145
views = append(views, genViews(measures, tagKeys, view.Sum())...)
136146

137-
return views
147+
return &ObsMetrics{
148+
Views: views,
149+
}
138150
}
139151

140152
func genViews(

obsreport/obsreport_processor.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@ func BuildProcessorCustomMetricName(configType, metric string) string {
9292
}
9393

9494
// ProcessorMetricViews builds the metric views for custom metrics of processors.
95-
func ProcessorMetricViews(configType string, legacyViews []*view.View) []*view.View {
95+
func ProcessorMetricViews(configType string, legacyViews *ObsMetrics) *ObsMetrics {
9696
var allViews []*view.View
9797
if gLevel != configtelemetry.LevelNone {
98-
for _, legacyView := range legacyViews {
98+
for _, legacyView := range legacyViews.Views {
9999
// Ignore any nil entry and views without measure or aggregation.
100100
// These can't be registered but some code registering legacy views may
101101
// ignore the errors.
@@ -112,7 +112,9 @@ func ProcessorMetricViews(configType string, legacyViews []*view.View) []*view.V
112112
}
113113
}
114114

115-
return allViews
115+
return &ObsMetrics{
116+
Views: allViews,
117+
}
116118
}
117119

118120
var gProcessor = &Processor{level: configtelemetry.LevelNone}

obsreport/obsreport_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,23 @@ func TestConfigure(t *testing.T) {
6868
{
6969
name: "basic",
7070
level: configtelemetry.LevelBasic,
71-
wantViews: obsreport.AllViews(),
71+
wantViews: obsreport.AllViews().Views,
7272
},
7373
{
7474
name: "normal",
7575
level: configtelemetry.LevelNormal,
76-
wantViews: obsreport.AllViews(),
76+
wantViews: obsreport.AllViews().Views,
7777
},
7878
{
7979
name: "detailed",
8080
level: configtelemetry.LevelDetailed,
81-
wantViews: obsreport.AllViews(),
81+
wantViews: obsreport.AllViews().Views,
8282
},
8383
}
8484
for _, tt := range tests {
8585
t.Run(tt.name, func(t *testing.T) {
8686
gotViews := obsreport.Configure(tt.level)
87-
assert.Equal(t, tt.wantViews, gotViews)
87+
assert.Equal(t, tt.wantViews, gotViews.Views)
8888
})
8989
}
9090
}
@@ -624,8 +624,8 @@ func TestProcessorMetricViews(t *testing.T) {
624624
for _, tt := range tests {
625625
t.Run(tt.name, func(t *testing.T) {
626626
obsreport.Configure(tt.level)
627-
got := obsreport.ProcessorMetricViews("test_type", legacyViews)
628-
assert.Equal(t, tt.want, got)
627+
got := obsreport.ProcessorMetricViews("test_type", &obsreport.ObsMetrics{Views: legacyViews})
628+
assert.Equal(t, tt.want, got.Views)
629629
})
630630
}
631631
}

obsreport/obsreporttest/obsreporttest.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ var (
4545
// SetupRecordedMetricsTest does setup the testing environment to check the metrics recorded by receivers, producers or exporters.
4646
// The returned function should be deferred.
4747
func SetupRecordedMetricsTest() (func(), error) {
48-
views := obsreport.Configure(configtelemetry.LevelNormal)
48+
obsMetrics := obsreport.Configure(configtelemetry.LevelNormal)
49+
views := obsMetrics.Views
4950
err := view.Register(views...)
5051
if err != nil {
5152
return nil, err

processor/batchprocessor/metrics.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,14 @@ func MetricViews() []*view.View {
6868
1000_000, 2000_000, 3000_000, 4000_000, 5000_000, 6000_000, 7000_000, 8000_000, 9000_000),
6969
}
7070

71-
legacyViews := []*view.View{
72-
countBatchSizeTriggerSendView,
73-
countTimeoutTriggerSendView,
74-
distributionBatchSendSizeView,
75-
distributionBatchSendSizeBytesView,
71+
legacyViews := &obsreport.ObsMetrics{
72+
Views: []*view.View{
73+
countBatchSizeTriggerSendView,
74+
countTimeoutTriggerSendView,
75+
distributionBatchSendSizeView,
76+
distributionBatchSendSizeBytesView,
77+
},
7678
}
7779

78-
return obsreport.ProcessorMetricViews(typeStr, legacyViews)
80+
return obsreport.ProcessorMetricViews(typeStr, legacyViews).Views
7981
}

service/telemetry.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ func (tel *appTelemetry) init(asyncErrorChannel chan<- error, ballastSizeBytes u
6161
}
6262

6363
var views []*view.View
64+
obsMetrics := obsreport.Configure(level)
6465
views = append(views, batchprocessor.MetricViews()...)
6566
views = append(views, jaegerexporter.MetricViews()...)
6667
views = append(views, kafkareceiver.MetricViews()...)
67-
views = append(views, obsreport.Configure(level)...)
68+
views = append(views, obsMetrics.Views...)
6869
views = append(views, processMetricsViews.Views()...)
6970

7071
tel.views = views

0 commit comments

Comments
 (0)