@@ -148,8 +148,8 @@ where
148
148
registry. encode (
149
149
& mut DescriptorEncoder :: new (
150
150
writer,
151
- & registry. name_validation_scheme ( ) ,
152
- & registry. escaping_scheme ( ) ,
151
+ registry. name_validation_scheme ( ) ,
152
+ registry. escaping_scheme ( ) ,
153
153
)
154
154
. into ( ) ,
155
155
)
@@ -196,8 +196,8 @@ pub(crate) struct DescriptorEncoder<'a> {
196
196
writer : & ' a mut dyn Write ,
197
197
prefix : Option < & ' a Prefix > ,
198
198
labels : & ' a [ ( Cow < ' static , str > , Cow < ' static , str > ) ] ,
199
- name_validation_scheme : & ' a ValidationScheme ,
200
- escaping_scheme : & ' a EscapingScheme ,
199
+ name_validation_scheme : ValidationScheme ,
200
+ escaping_scheme : EscapingScheme ,
201
201
}
202
202
203
203
impl std:: fmt:: Debug for DescriptorEncoder < ' _ > {
@@ -207,11 +207,11 @@ impl std::fmt::Debug for DescriptorEncoder<'_> {
207
207
}
208
208
209
209
impl DescriptorEncoder < ' _ > {
210
- pub ( crate ) fn new < ' a > (
211
- writer : & ' a mut dyn Write ,
212
- name_validation_scheme : & ' a ValidationScheme ,
213
- escaping_scheme : & ' a EscapingScheme ,
214
- ) -> DescriptorEncoder < ' a > {
210
+ pub ( crate ) fn new (
211
+ writer : & ' _ mut dyn Write ,
212
+ name_validation_scheme : ValidationScheme ,
213
+ escaping_scheme : EscapingScheme ,
214
+ ) -> DescriptorEncoder < ' _ > {
215
215
DescriptorEncoder {
216
216
writer,
217
217
prefix : Default :: default ( ) ,
@@ -230,8 +230,8 @@ impl DescriptorEncoder<'_> {
230
230
prefix,
231
231
labels,
232
232
writer : self . writer ,
233
- name_validation_scheme : & self . name_validation_scheme ,
234
- escaping_scheme : & self . escaping_scheme ,
233
+ name_validation_scheme : self . name_validation_scheme ,
234
+ escaping_scheme : self . escaping_scheme ,
235
235
}
236
236
}
237
237
@@ -246,14 +246,12 @@ impl DescriptorEncoder<'_> {
246
246
let mut escaped_prefix: Option < & Prefix > = None ;
247
247
let escaped_prefix_value: Prefix ;
248
248
if let Some ( prefix) = self . prefix {
249
- escaped_prefix_value = Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) ) ;
249
+ escaped_prefix_value =
250
+ Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) . into_owned ( ) ) ;
250
251
escaped_prefix = Some ( & escaped_prefix_value) ;
251
252
}
252
- let is_quoted_metric_name = is_quoted_metric_name (
253
- escaped_name. as_str ( ) ,
254
- escaped_prefix,
255
- self . name_validation_scheme ,
256
- ) ;
253
+ let is_quoted_metric_name =
254
+ is_quoted_metric_name ( & escaped_name, escaped_prefix, self . name_validation_scheme ) ;
257
255
self . writer . write_str ( "# HELP " ) ?;
258
256
if is_quoted_metric_name {
259
257
self . writer . write_str ( "\" " ) ?;
@@ -262,7 +260,7 @@ impl DescriptorEncoder<'_> {
262
260
self . writer . write_str ( prefix. as_str ( ) ) ?;
263
261
self . writer . write_str ( "_" ) ?;
264
262
}
265
- self . writer . write_str ( escaped_name. as_str ( ) ) ?;
263
+ self . writer . write_str ( & escaped_name) ?;
266
264
if let Some ( unit) = unit {
267
265
self . writer . write_str ( "_" ) ?;
268
266
self . writer . write_str ( unit. as_str ( ) ) ?;
@@ -282,7 +280,7 @@ impl DescriptorEncoder<'_> {
282
280
self . writer . write_str ( prefix. as_str ( ) ) ?;
283
281
self . writer . write_str ( "_" ) ?;
284
282
}
285
- self . writer . write_str ( escaped_name. as_str ( ) ) ?;
283
+ self . writer . write_str ( & escaped_name) ?;
286
284
if let Some ( unit) = unit {
287
285
self . writer . write_str ( "_" ) ?;
288
286
self . writer . write_str ( unit. as_str ( ) ) ?;
@@ -303,7 +301,7 @@ impl DescriptorEncoder<'_> {
303
301
self . writer . write_str ( prefix. as_str ( ) ) ?;
304
302
self . writer . write_str ( "_" ) ?;
305
303
}
306
- self . writer . write_str ( escaped_name. as_str ( ) ) ?;
304
+ self . writer . write_str ( & escaped_name) ?;
307
305
self . writer . write_str ( "_" ) ?;
308
306
self . writer . write_str ( unit. as_str ( ) ) ?;
309
307
if is_quoted_metric_name {
@@ -343,8 +341,8 @@ pub(crate) struct MetricEncoder<'a> {
343
341
unit : Option < & ' a Unit > ,
344
342
const_labels : & ' a [ ( Cow < ' static , str > , Cow < ' static , str > ) ] ,
345
343
family_labels : Option < & ' a dyn super :: EncodeLabelSet > ,
346
- name_validation_scheme : & ' a ValidationScheme ,
347
- escaping_scheme : & ' a EscapingScheme ,
344
+ name_validation_scheme : ValidationScheme ,
345
+ escaping_scheme : EscapingScheme ,
348
346
}
349
347
350
348
impl std:: fmt:: Debug for MetricEncoder < ' _ > {
@@ -534,14 +532,12 @@ impl MetricEncoder<'_> {
534
532
let mut escaped_prefix: Option < & Prefix > = None ;
535
533
let escaped_prefix_value: Prefix ;
536
534
if let Some ( prefix) = self . prefix {
537
- escaped_prefix_value = Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) ) ;
535
+ escaped_prefix_value =
536
+ Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) . into_owned ( ) ) ;
538
537
escaped_prefix = Some ( & escaped_prefix_value) ;
539
538
}
540
- let is_quoted_metric_name = is_quoted_metric_name (
541
- escaped_name. as_str ( ) ,
542
- escaped_prefix,
543
- self . name_validation_scheme ,
544
- ) ;
539
+ let is_quoted_metric_name =
540
+ is_quoted_metric_name ( & escaped_name, escaped_prefix, self . name_validation_scheme ) ;
545
541
if is_quoted_metric_name {
546
542
self . writer . write_str ( "{" ) ?;
547
543
self . writer . write_str ( "\" " ) ?;
@@ -550,7 +546,7 @@ impl MetricEncoder<'_> {
550
546
self . writer . write_str ( prefix. as_str ( ) ) ?;
551
547
self . writer . write_str ( "_" ) ?;
552
548
}
553
- self . writer . write_str ( escaped_name. as_str ( ) ) ?;
549
+ self . writer . write_str ( & escaped_name) ?;
554
550
if let Some ( unit) = self . unit {
555
551
self . writer . write_str ( "_" ) ?;
556
552
self . writer . write_str ( unit. as_str ( ) ) ?;
@@ -576,14 +572,12 @@ impl MetricEncoder<'_> {
576
572
let mut escaped_prefix: Option < & Prefix > = None ;
577
573
let escaped_prefix_value: Prefix ;
578
574
if let Some ( prefix) = self . prefix {
579
- escaped_prefix_value = Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) ) ;
575
+ escaped_prefix_value =
576
+ Prefix :: from ( escape_name ( prefix. as_str ( ) , self . escaping_scheme ) . into_owned ( ) ) ;
580
577
escaped_prefix = Some ( & escaped_prefix_value) ;
581
578
}
582
- let is_quoted_metric_name = is_quoted_metric_name (
583
- escaped_name. as_str ( ) ,
584
- escaped_prefix,
585
- self . name_validation_scheme ,
586
- ) ;
579
+ let is_quoted_metric_name =
580
+ is_quoted_metric_name ( & escaped_name, escaped_prefix, self . name_validation_scheme ) ;
587
581
if self . const_labels . is_empty ( )
588
582
&& additional_labels. is_none ( )
589
583
&& self . family_labels . is_none ( )
@@ -750,8 +744,8 @@ impl ExemplarValueEncoder<'_> {
750
744
pub ( crate ) struct LabelSetEncoder < ' a > {
751
745
writer : & ' a mut dyn Write ,
752
746
first : bool ,
753
- name_validation_scheme : & ' a ValidationScheme ,
754
- escaping_scheme : & ' a EscapingScheme ,
747
+ name_validation_scheme : ValidationScheme ,
748
+ escaping_scheme : EscapingScheme ,
755
749
}
756
750
757
751
impl std:: fmt:: Debug for LabelSetEncoder < ' _ > {
@@ -765,8 +759,8 @@ impl std::fmt::Debug for LabelSetEncoder<'_> {
765
759
impl < ' a > LabelSetEncoder < ' a > {
766
760
fn new (
767
761
writer : & ' a mut dyn Write ,
768
- name_validation_scheme : & ' a ValidationScheme ,
769
- escaping_scheme : & ' a EscapingScheme ,
762
+ name_validation_scheme : ValidationScheme ,
763
+ escaping_scheme : EscapingScheme ,
770
764
) -> Self {
771
765
Self {
772
766
writer,
@@ -791,8 +785,8 @@ impl<'a> LabelSetEncoder<'a> {
791
785
pub ( crate ) struct LabelEncoder < ' a > {
792
786
writer : & ' a mut dyn Write ,
793
787
first : bool ,
794
- name_validation_scheme : & ' a ValidationScheme ,
795
- escaping_scheme : & ' a EscapingScheme ,
788
+ name_validation_scheme : ValidationScheme ,
789
+ escaping_scheme : EscapingScheme ,
796
790
}
797
791
798
792
impl std:: fmt:: Debug for LabelEncoder < ' _ > {
@@ -818,8 +812,8 @@ impl LabelEncoder<'_> {
818
812
819
813
pub ( crate ) struct LabelKeyEncoder < ' a > {
820
814
writer : & ' a mut dyn Write ,
821
- name_validation_scheme : & ' a ValidationScheme ,
822
- escaping_scheme : & ' a EscapingScheme ,
815
+ name_validation_scheme : ValidationScheme ,
816
+ escaping_scheme : EscapingScheme ,
823
817
}
824
818
825
819
impl std:: fmt:: Debug for LabelKeyEncoder < ' _ > {
@@ -840,12 +834,11 @@ impl<'a> LabelKeyEncoder<'a> {
840
834
impl std:: fmt:: Write for LabelKeyEncoder < ' _ > {
841
835
fn write_str ( & mut self , s : & str ) -> std:: fmt:: Result {
842
836
let escaped_name = escape_name ( s, self . escaping_scheme ) ;
843
- let is_quoted_label_name =
844
- is_quoted_label_name ( escaped_name. as_str ( ) , self . name_validation_scheme ) ;
837
+ let is_quoted_label_name = is_quoted_label_name ( & escaped_name, self . name_validation_scheme ) ;
845
838
if is_quoted_label_name {
846
839
self . writer . write_str ( "\" " ) ?;
847
840
}
848
- self . writer . write_str ( escaped_name. as_str ( ) ) ?;
841
+ self . writer . write_str ( & escaped_name) ?;
849
842
if is_quoted_label_name {
850
843
self . writer . write_str ( "\" " ) ?;
851
844
}
@@ -1043,8 +1036,7 @@ mod tests {
1043
1036
1044
1037
encode ( & mut encoded, & registry) . unwrap ( ) ;
1045
1038
1046
- let expected = "# HELP \" my.gauge\" \" My\n gau\n ge\" .\n "
1047
- . to_owned ( )
1039
+ let expected = "# HELP \" my.gauge\" \" My\n gau\n ge\" .\n " . to_owned ( )
1048
1040
+ "# TYPE \" my.gauge\" \" gauge\n "
1049
1041
+ "{\" my.gauge\" \" } inf\n "
1050
1042
+ "# EOF\n " ;
@@ -1646,8 +1638,8 @@ mod tests {
1646
1638
unit : None ,
1647
1639
const_labels : & [ ] ,
1648
1640
family_labels : None ,
1649
- name_validation_scheme : & UTF8Validation ,
1650
- escaping_scheme : & NoEscaping ,
1641
+ name_validation_scheme : UTF8Validation ,
1642
+ escaping_scheme : NoEscaping ,
1651
1643
} ;
1652
1644
1653
1645
encoder. encode_labels :: < NoLabelSet > ( None ) . unwrap ( ) ;
@@ -1667,8 +1659,8 @@ mod tests {
1667
1659
unit : None ,
1668
1660
const_labels : & const_labels,
1669
1661
family_labels : Some ( & family_labels) ,
1670
- name_validation_scheme : & UTF8Validation ,
1671
- escaping_scheme : & NoEscaping ,
1662
+ name_validation_scheme : UTF8Validation ,
1663
+ escaping_scheme : NoEscaping ,
1672
1664
} ;
1673
1665
1674
1666
encoder. encode_labels ( Some ( & additional_labels) ) . unwrap ( ) ;
@@ -1688,12 +1680,15 @@ mod tests {
1688
1680
unit : None ,
1689
1681
const_labels : & const_labels,
1690
1682
family_labels : Some ( & family_labels) ,
1691
- name_validation_scheme : & UTF8Validation ,
1692
- escaping_scheme : & NoEscaping ,
1683
+ name_validation_scheme : UTF8Validation ,
1684
+ escaping_scheme : NoEscaping ,
1693
1685
} ;
1694
1686
1695
1687
encoder. encode_labels ( Some ( & additional_labels) ) . unwrap ( ) ;
1696
- assert_eq ! ( buffer, "{\" service.name\" =\" t1\" ,\" whatever\\ whatever\" =\" t2\" ,\" t*3\" =\" t3\" }" ) ;
1688
+ assert_eq ! (
1689
+ buffer,
1690
+ "{\" service.name\" =\" t1\" ,\" whatever\\ whatever\" =\" t2\" ,\" t*3\" =\" t3\" }"
1691
+ ) ;
1697
1692
}
1698
1693
1699
1694
fn parse_with_python_client ( input : String ) {
0 commit comments