@@ -78,15 +78,17 @@ def __init__(
7878 ] = []
7979
8080 def consume_measurement (self , measurement : Measurement ) -> None :
81+ should_sample_exemplar = (
82+ self ._sdk_config .exemplar_filter .should_sample (
83+ measurement .value ,
84+ measurement .time_unix_nano ,
85+ measurement .attributes ,
86+ measurement .context ,
87+ ),
88+ )
8189 for reader_storage in self ._reader_storages .values ():
8290 reader_storage .consume_measurement (
83- measurement ,
84- self ._sdk_config .exemplar_filter .should_sample (
85- measurement .value ,
86- measurement .time_unix_nano ,
87- measurement .attributes ,
88- measurement .context ,
89- ),
91+ measurement , should_sample_exemplar
9092 )
9193
9294 def register_asynchronous_instrument (
@@ -126,7 +128,15 @@ def collect(
126128 )
127129
128130 for measurement in measurements :
129- metric_reader_storage .consume_measurement (measurement )
131+ should_sample_exemplar = (
132+ self ._sdk_config .exemplar_filter .should_sample (
133+ measurement .value ,
134+ measurement .time_unix_nano ,
135+ measurement .attributes ,
136+ measurement .context ,
137+ ),
138+ )
139+ metric_reader_storage .consume_measurement (measurement , should_sample_exemplar )
130140
131141 result = self ._reader_storages [metric_reader ].collect ()
132142
0 commit comments