Package io.jenkins.plugins.opentelemetry
Class JenkinsOpenTelemetryPluginConfiguration
- java.lang.Object
-
- hudson.model.Descriptor<GlobalConfiguration>
-
- jenkins.model.GlobalConfiguration
-
- io.jenkins.plugins.opentelemetry.JenkinsOpenTelemetryPluginConfiguration
-
- All Implemented Interfaces:
ExtensionPoint
,Describable<GlobalConfiguration>
,Saveable
,OnMaster
@Extension @Symbol("openTelemetry") public class JenkinsOpenTelemetryPluginConfiguration extends GlobalConfiguration
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JenkinsOpenTelemetryPluginConfiguration.StepPlugin
-
Nested classes/interfaces inherited from class hudson.model.Descriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
Fields Modifier and Type Field Description protected OpenTelemetryConfiguration
currentOpenTelemetryConfiguration
The previously used configuration.-
Fields inherited from class hudson.model.Descriptor
clazz
-
-
Constructor Summary
Constructors Constructor Description JenkinsOpenTelemetryPluginConfiguration()
-
Method Summary
-
Methods inherited from class jenkins.model.GlobalConfiguration
all, getDescriptor, getGlobalConfigPage
-
Methods inherited from class hudson.model.Descriptor
addHelpFileRedirect, bindJSON, calcAutoCompleteSettings, calcFillSettings, configure, doHelp, find, find, findByDescribableClassName, findById, getCategory, getCheckMethod, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getDisplayName, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getRequiredGlobalConfigPagePermission, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
-
-
-
-
Field Detail
-
currentOpenTelemetryConfiguration
protected transient OpenTelemetryConfiguration currentOpenTelemetryConfiguration
The previously used configuration. Kept in memory to prevent unneeded reconfigurations.
-
-
Method Detail
-
configure
public boolean configure(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject json) throws Descriptor.FormException
- Overrides:
configure
in classGlobalConfiguration
- Throws:
Descriptor.FormException
-
readResolve
protected Object readResolve()
-
toOpenTelemetryConfiguration
@NonNull public OpenTelemetryConfiguration toOpenTelemetryConfiguration()
-
initializeOpenTelemetry
@Initializer(after=SYSTEM_CONFIG_ADAPTED, before=JOB_LOADED) public void initializeOpenTelemetry()
Initialize the Otel SDK, must happen after the plugin has been configured by the standard config and by JCasC JCasC configuration happens during `SYSTEM_CONFIG_ADAPTED` (see `io.jenkins.plugins.casc.ConfigurationAsCode#init()`)
-
sanitizeOtlpEndpoint
@CheckForNull public String sanitizeOtlpEndpoint(@Nullable String grpcEndpoint)
- Returns:
null
or endpoint URI prefixed by a protocol scheme ("http://", "https://"...)
-
getEndpoint
@CheckForNull public String getEndpoint()
Never empty
-
setEndpoint
@DataBoundSetter public void setEndpoint(String endpoint)
-
getAuthentication
@NonNull public OtlpAuthentication getAuthentication()
-
setAuthentication
@DataBoundSetter public void setAuthentication(OtlpAuthentication authentication)
-
getTrustedCertificatesPem
@CheckForNull public String getTrustedCertificatesPem()
-
setTrustedCertificatesPem
@DataBoundSetter public void setTrustedCertificatesPem(String trustedCertificatesPem)
-
setObservabilityBackends
@DataBoundSetter public void setObservabilityBackends(List<ObservabilityBackend> observabilityBackends)
-
getObservabilityBackends
@NonNull public List<ObservabilityBackend> getObservabilityBackends()
-
setOpenTelemetrySdkProvider
@Inject public void setOpenTelemetrySdkProvider(OpenTelemetrySdkProvider openTelemetrySdkProvider)
-
getExporterTimeoutMillis
public Integer getExporterTimeoutMillis()
-
setExporterTimeoutMillis
@DataBoundSetter public void setExporterTimeoutMillis(Integer exporterTimeoutMillis)
-
getExporterIntervalMillis
public Integer getExporterIntervalMillis()
-
setExporterIntervalMillis
@DataBoundSetter public void setExporterIntervalMillis(Integer exporterIntervalMillis)
-
getIgnoredSteps
public String getIgnoredSteps()
-
setIgnoredSteps
@DataBoundSetter public void setIgnoredSteps(String ignoredSteps)
-
getDisabledResourceProviders
public String getDisabledResourceProviders()
-
setDisabledResourceProviders
@DataBoundSetter public void setDisabledResourceProviders(String disabledResourceProviders)
-
isExportOtelConfigurationAsEnvironmentVariables
public boolean isExportOtelConfigurationAsEnvironmentVariables()
-
setExportOtelConfigurationAsEnvironmentVariables
@DataBoundSetter public void setExportOtelConfigurationAsEnvironmentVariables(boolean exportOtelConfigurationAsEnvironmentVariables)
-
getConfigurationProperties
public String getConfigurationProperties()
-
setConfigurationProperties
@DataBoundSetter public void setConfigurationProperties(String configurationProperties)
-
getOtelConfigurationAsEnvironmentVariables
@NonNull public Map<String,String> getOtelConfigurationAsEnvironmentVariables()
-
setJenkinsLocationConfiguration
@Inject public void setJenkinsLocationConfiguration(@NonNull JenkinsLocationConfiguration jenkinsLocationConfiguration)
-
getVisualisationObservabilityBackendsString
@NonNull public String getVisualisationObservabilityBackendsString()
For visualisation in config.jelly
-
getLoadedStepsPlugins
@NonNull public ConcurrentMap<String,JenkinsOpenTelemetryPluginConfiguration.StepPlugin> getLoadedStepsPlugins()
-
addStepPlugin
public void addStepPlugin(String stepName, JenkinsOpenTelemetryPluginConfiguration.StepPlugin c)
-
findStepPluginOrDefault
@NonNull public JenkinsOpenTelemetryPluginConfiguration.StepPlugin findStepPluginOrDefault(@NonNull String buildStepName, @NonNull BuildStep buildStep)
-
findStepPluginOrDefault
@NonNull public JenkinsOpenTelemetryPluginConfiguration.StepPlugin findStepPluginOrDefault(@NonNull String stepName, @NonNull org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode node)
-
findStepPluginOrDefault
@NonNull public JenkinsOpenTelemetryPluginConfiguration.StepPlugin findStepPluginOrDefault(@NonNull String stepName, @NonNull org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode node)
-
findStepPluginOrDefault
@NonNull public JenkinsOpenTelemetryPluginConfiguration.StepPlugin findStepPluginOrDefault(@NonNull String stepName, @Nullable Descriptor<? extends Describable> descriptor)
-
findSymbolOrDefault
@NonNull public String findSymbolOrDefault(@NonNull String buildStepName, @NonNull BuildStep buildStep)
-
findSymbolOrDefault
@NonNull public String findSymbolOrDefault(@NonNull String buildStepName, @Nullable Descriptor<? extends Describable> descriptor)
-
getServiceName
public String getServiceName()
- See Also:
ResourceAttributes.SERVICE_NAME
-
setServiceName
@DataBoundSetter public void setServiceName(String serviceName)
-
getServiceNamespace
public String getServiceNamespace()
- See Also:
ResourceAttributes.SERVICE_NAMESPACE
-
setServiceNamespace
@DataBoundSetter public void setServiceNamespace(String serviceNamespace)
-
getResource
@NonNull public io.opentelemetry.sdk.resources.Resource getResource()
-
getResourceAsText
@NonNull public String getResourceAsText()
Used in io/jenkins/plugins/opentelemetry/JenkinsOpenTelemetryPluginConfiguration/config.jelly because cyrille doesn't know how to format the content with linebreaks in a html teaxtarea
-
getConfigProperties
@NonNull public io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties getConfigProperties()
-
getNoteworthyConfigPropertiesAsText
@NonNull public String getNoteworthyConfigPropertiesAsText()
Used in io/jenkins/plugins/opentelemetry/JenkinsOpenTelemetryPluginConfiguration/config.jelly because cyrille doesn't know how to format the content with linebreaks in a html teaxtarea
-
getLogStorageRetriever
@NonNull public LogStorageRetriever getLogStorageRetriever()
-
get
@NonNull public static JenkinsOpenTelemetryPluginConfiguration get()
https://github.com/spotbugs/spotbugs/issues/1175
-
doCheckEndpoint
public FormValidation doCheckEndpoint(@QueryParameter String endpoint)
See OpenTelemetry Specification / OpenTelemetry Protocol ExporterTarget URL to which the exporter is going to send spans or metrics. The endpoint MUST be a valid URL with scheme (http or https) and host, MAY contain a port, SHOULD contain a path and MUST NOT contain other parts (such as query string or fragment). A scheme of https indicates a secure connection.
- Parameters:
endpoint
-- Returns:
-
doCheckIgnoredSteps
public FormValidation doCheckIgnoredSteps(@QueryParameter String ignoredSteps)
Validates the period duration input.- Parameters:
ignoredSteps
- the comma-separated list of steps to ignore.- Returns:
- ok if the form input was valid
-
doCheckExportOtelConfigurationAsEnvironmentVariables
public FormValidation doCheckExportOtelConfigurationAsEnvironmentVariables(@QueryParameter String value)
A warning if it's selected.- Parameters:
value
- the exportOtelConfigurationAsEnvironmentVariables flag- Returns:
- ok if the form input was valid
-
-