Skip to content

Commit e1e38ed

Browse files
committed
feat(encoding)!: Collector does not consume DescriptorEncoder
see #135. this adjusts the parameter of `encode()` so that it only mutably borrows the encoder. Signed-off-by: katelyn martin <[email protected]>
1 parent 9b7317d commit e1e38ed

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

src/collector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ use crate::encoding::DescriptorEncoder;
3737
/// ```
3838
pub trait Collector: std::fmt::Debug + Send + Sync + 'static {
3939
/// Once the [`Collector`] is registered, this method is called on each scrape.
40-
fn encode(&self, encoder: DescriptorEncoder) -> Result<(), std::fmt::Error>;
40+
fn encode(&self, encoder: &mut DescriptorEncoder) -> Result<(), std::fmt::Error>;
4141
}

src/encoding/text.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1077,7 +1077,7 @@ mod tests {
10771077
impl crate::collector::Collector for Collector {
10781078
fn encode(
10791079
&self,
1080-
mut encoder: crate::encoding::DescriptorEncoder,
1080+
encoder: &mut crate::encoding::DescriptorEncoder,
10811081
) -> Result<(), std::fmt::Error> {
10821082
let counter = crate::metrics::counter::ConstCounter::new(42u64);
10831083
let mut metric_encoder = encoder.encode_descriptor(

src/registry.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,9 @@ impl Registry {
300300
}
301301

302302
for collector in self.collectors.iter() {
303-
let descriptor_encoder =
303+
let mut descriptor_encoder =
304304
encoder.with_prefix_and_labels(self.prefix.as_ref(), &self.labels);
305-
collector.encode(descriptor_encoder)?;
305+
collector.encode(&mut descriptor_encoder)?;
306306
}
307307

308308
for registry in self.sub_registries.iter() {

0 commit comments

Comments
 (0)