1- use opentelemetry :: KeyValue ;
1+ use std :: time :: Duration ;
22
3- use super :: { Resource , ResourceDetector } ;
3+ use opentelemetry:: { KeyValue , Value } ;
4+
5+ use super :: { Resource , ResourceDetector , SERVICE_NAME } ;
46
57/// Builder to allow easy composition of a Resource
68#[ derive( Debug , Default ) ]
@@ -30,7 +32,9 @@ impl ResourceBuilder {
3032
3133 /// Add multiple [ResourceDetector] to your resource.
3234 pub fn with_detectors ( mut self , detectors : Vec < Box < dyn ResourceDetector > > ) -> Self {
33- self . resource = self . resource . merge ( & Resource :: from_detectors ( detectors) ) ;
35+ self . resource = self
36+ . resource
37+ . merge ( & Resource :: from_detectors ( Duration :: from_secs ( 0 ) , detectors) ) ;
3438 self
3539 }
3640
@@ -39,6 +43,14 @@ impl ResourceBuilder {
3943 self . with_key_values ( vec ! [ kv] )
4044 }
4145
46+ /// Add an [Attribute] to your resource for "service.name"
47+ pub fn with_service_name < V > ( self , service_name : V ) -> Self
48+ where
49+ V : Into < Value > ,
50+ {
51+ self . with_key_value ( KeyValue :: new ( SERVICE_NAME , service_name) )
52+ }
53+
4254 /// Add multiple [KeyValue]s to the resource.
4355 pub fn with_key_values < T : IntoIterator < Item = KeyValue > > ( mut self , kvs : T ) -> Self {
4456 self . resource = self . resource . merge ( & Resource :: new ( kvs) ) ;
0 commit comments