@@ -154,6 +154,8 @@ struct MetricState {
154154 exposures : Vec < FeatureExposureExtraDef > ,
155155 #[ cfg( feature = "stateful" ) ]
156156 malformeds : Vec < MalformedFeatureConfigExtraDef > ,
157+ #[ cfg( not( feature = "stateful" ) ) ]
158+ nimbus_user_id : Option < String > ,
157159}
158160
159161/// A Rust implementation of the MetricsHandler trait
@@ -175,6 +177,11 @@ impl TestMetrics {
175177 pub fn get_enrollment_statuses ( & self ) -> Vec < EnrollmentStatusExtraDef > {
176178 self . state . lock ( ) . unwrap ( ) . enrollment_statuses . clone ( )
177179 }
180+
181+ #[ cfg( not( feature = "stateful" ) ) ]
182+ pub fn get_nimbus_user_id ( & self ) -> Option < String > {
183+ self . state . lock ( ) . unwrap ( ) . nimbus_user_id . clone ( )
184+ }
178185}
179186
180187#[ cfg( feature = "stateful" ) ]
@@ -196,11 +203,23 @@ impl TestMetrics {
196203}
197204
198205impl MetricsHandler for TestMetrics {
206+ #[ cfg( feature = "stateful" ) ]
199207 fn record_enrollment_statuses ( & self , enrollment_status_extras : Vec < EnrollmentStatusExtraDef > ) {
200208 let mut state = self . state . lock ( ) . unwrap ( ) ;
201209 state. enrollment_statuses . extend ( enrollment_status_extras) ;
202210 }
203211
212+ #[ cfg( not( feature = "stateful" ) ) ]
213+ fn record_enrollment_statuses_v2 (
214+ & self ,
215+ enrollment_status_extras : Vec < EnrollmentStatusExtraDef > ,
216+ nimbus_user_id : Option < String > ,
217+ ) {
218+ let mut state = self . state . lock ( ) . unwrap ( ) ;
219+ state. enrollment_statuses . extend ( enrollment_status_extras) ;
220+ state. nimbus_user_id = nimbus_user_id;
221+ }
222+
204223 #[ cfg( feature = "stateful" ) ]
205224 fn record_feature_activation ( & self , event : FeatureExposureExtraDef ) {
206225 let mut state = self . state . lock ( ) . unwrap ( ) ;
0 commit comments