@@ -12,9 +12,7 @@ use super::{
12
12
data:: { ResourceMetrics , Temporality } ,
13
13
instrument:: InstrumentKind ,
14
14
pipeline:: Pipeline ,
15
- reader:: {
16
- DefaultTemporalitySelector , MetricProducer , MetricReader , SdkProducer , TemporalitySelector ,
17
- } ,
15
+ reader:: { DefaultTemporalitySelector , MetricReader , SdkProducer , TemporalitySelector } ,
18
16
} ;
19
17
20
18
/// A simple [MetricReader] that allows an application to read metrics on demand.
@@ -51,7 +49,6 @@ impl fmt::Debug for ManualReader {
51
49
struct ManualReaderInner {
52
50
sdk_producer : Option < Weak < dyn SdkProducer > > ,
53
51
is_shutdown : bool ,
54
- external_producers : Vec < Box < dyn MetricProducer > > ,
55
52
}
56
53
57
54
impl ManualReader {
@@ -61,15 +58,11 @@ impl ManualReader {
61
58
}
62
59
63
60
/// A [MetricReader] which is directly called to collect metrics.
64
- pub ( crate ) fn new (
65
- temporality_selector : Box < dyn TemporalitySelector > ,
66
- producers : Vec < Box < dyn MetricProducer > > ,
67
- ) -> Self {
61
+ pub ( crate ) fn new ( temporality_selector : Box < dyn TemporalitySelector > ) -> Self {
68
62
ManualReader {
69
63
inner : Box :: new ( Mutex :: new ( ManualReaderInner {
70
64
sdk_producer : None ,
71
65
is_shutdown : false ,
72
- external_producers : producers,
73
66
} ) ) ,
74
67
temporality_selector,
75
68
}
@@ -98,7 +91,7 @@ impl MetricReader for ManualReader {
98
91
} ) ;
99
92
}
100
93
101
- /// Gathers all metrics from the SDK and other [MetricProducer]s , calling any
94
+ /// Gathers all metrics from the SDK, calling any
102
95
/// callbacks necessary and returning the results.
103
96
///
104
97
/// Returns an error if called after shutdown.
@@ -113,19 +106,7 @@ impl MetricReader for ManualReader {
113
106
}
114
107
} ;
115
108
116
- let mut errs = vec ! [ ] ;
117
- for producer in & inner. external_producers {
118
- match producer. produce ( ) {
119
- Ok ( metrics) => rm. scope_metrics . push ( metrics) ,
120
- Err ( err) => errs. push ( err) ,
121
- }
122
- }
123
-
124
- if errs. is_empty ( ) {
125
- Ok ( ( ) )
126
- } else {
127
- Err ( MetricsError :: Other ( format ! ( "{:?}" , errs) ) )
128
- }
109
+ Ok ( ( ) )
129
110
}
130
111
131
112
/// ForceFlush is a no-op, it always returns nil.
@@ -140,7 +121,6 @@ impl MetricReader for ManualReader {
140
121
// Any future call to collect will now return an error.
141
122
inner. sdk_producer = None ;
142
123
inner. is_shutdown = true ;
143
- inner. external_producers = Vec :: new ( ) ;
144
124
145
125
Ok ( ( ) )
146
126
}
@@ -149,7 +129,6 @@ impl MetricReader for ManualReader {
149
129
/// Configuration for a [ManualReader]
150
130
pub struct ManualReaderBuilder {
151
131
temporality_selector : Box < dyn TemporalitySelector > ,
152
- producers : Vec < Box < dyn MetricProducer > > ,
153
132
}
154
133
155
134
impl fmt:: Debug for ManualReaderBuilder {
@@ -162,7 +141,6 @@ impl Default for ManualReaderBuilder {
162
141
fn default ( ) -> Self {
163
142
ManualReaderBuilder {
164
143
temporality_selector : Box :: new ( DefaultTemporalitySelector { _private : ( ) } ) ,
165
- producers : vec ! [ ] ,
166
144
}
167
145
}
168
146
}
@@ -184,17 +162,8 @@ impl ManualReaderBuilder {
184
162
self
185
163
}
186
164
187
- /// Registers a an external [MetricProducer] with this reader.
188
- ///
189
- /// The producer is used as a source of aggregated metric data which is
190
- /// incorporated into metrics collected from the SDK.
191
- pub fn with_producer ( mut self , producer : impl MetricProducer + ' static ) -> Self {
192
- self . producers . push ( Box :: new ( producer) ) ;
193
- self
194
- }
195
-
196
165
/// Create a new [ManualReader] from this configuration.
197
166
pub fn build ( self ) -> ManualReader {
198
- ManualReader :: new ( self . temporality_selector , self . producers )
167
+ ManualReader :: new ( self . temporality_selector )
199
168
}
200
169
}
0 commit comments