Interface InstrumentationConfig
ConfigPropertySource SPI implementations.
In case any get*() method variant gets called for the same property more than once
(e.g. each time an advice class executes) it is suggested to cache the result instead of
repeatedly calling InstrumentationConfig. Instrumentation configuration does not change
during the runtime so retrieving the property once and storing its result in a static final field
allows JIT to do its magic and remove some code branches.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Method Summary
Modifier and TypeMethodDescriptionbooleangetBoolean(String name, boolean defaultValue) Returns a boolean-valued configuration property ordefaultValueif a property with namenamehas not been configured.io.opentelemetry.api.incubator.config.ConfigProviderReturns theConfigProviderif declarative configuration is used.io.opentelemetry.api.incubator.config.DeclarativeConfigPropertiesgetDeclarativeConfig(String node) Returns aDeclarativeConfigPropertiesfor the given node name, which is usually an instrumentation namedoubleReturns a double-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.getDuration(String name, Duration defaultValue) Returns a duration-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.intReturns an integer-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.This is the same as callinggetList(String, List)with the defaultValue equal to the emptyList()/Returns a list-valued configuration property ordefaultValueif a property with namenamehas not been configured.longReturns a long-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.Returns a map-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.Returns a string-valued configuration property ornullif a property with namenamehas not been configured.Returns a string-valued configuration property ordefaultValueif a property with namenamehas not been configured.booleanReturnstrueif declarative configuration is used in this configuration.
-
Method Details
-
getString
Returns a string-valued configuration property ornullif a property with namenamehas not been configured. -
getString
Returns a string-valued configuration property ordefaultValueif a property with namenamehas not been configured. -
getBoolean
Returns a boolean-valued configuration property ordefaultValueif a property with namenamehas not been configured. -
getInt
Returns an integer-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed. -
getLong
Returns a long-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed. -
getDouble
Returns a double-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed. -
getDuration
Returns a duration-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed.Durations can be of the form "{number}{unit}", where unit is one of:
- ms
- s
- m
- h
- d
If no unit is specified, milliseconds is the assumed duration unit.
Examples: 10s, 20ms, 5000
-
getList
This is the same as callinggetList(String, List)with the defaultValue equal to the emptyList()/ -
getList
Returns a list-valued configuration property ordefaultValueif a property with namenamehas not been configured. The format of the original value must be comma-separated, e.g.one,two,three. The returned list is unmodifiable. -
getMap
Returns a map-valued configuration property ordefaultValueif a property with namenamehas not been configured or when parsing has failed. The format of the original value must be comma-separated for each key, with an '=' separating the key and value, e.g.key=value,anotherKey=anotherValue. The returned map is unmodifiable. -
isDeclarative
boolean isDeclarative()Returnstrueif declarative configuration is used in this configuration. -
getDeclarativeConfig
Returns aDeclarativeConfigPropertiesfor the given node name, which is usually an instrumentation nameCall
isDeclarative()first to check if declarative configuration is used.Declarative configuration is used to configure instrumentation properties in a declarative way, such as through YAML or JSON files.
- Parameters:
node- the name of the instrumentation (e.g. "log4j"), the vendor name (e.g. "google"), or "common" for common Java settings that don't apply to other languages.- Returns:
- the declarative configuration properties for the given node name
- Throws:
IllegalStateException- ifisDeclarative()returnsfalse
-
getConfigProvider
Returns theConfigProviderif declarative configuration is used.- Returns:
- the
ConfigProviderornullif no provider is available
-