Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
95798265
Commit
95798265
authored
Apr 21, 2020
by
Jon Schneider
Committed by
Andy Wilkinson
Apr 21, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update validation of Micrometer configuration
See gh-21067
parent
e26f3e2a
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
24 deletions
+34
-24
ValidationFailureAnalyzer.java
...uate/autoconfigure/metrics/ValidationFailureAnalyzer.java
+14
-12
ElasticProperties.java
...toconfigure/metrics/export/elastic/ElasticProperties.java
+3
-3
GangliaProperties.java
...toconfigure/metrics/export/ganglia/GangliaProperties.java
+8
-2
spring.factories
...utoconfigure/src/main/resources/META-INF/spring.factories
+1
-1
ValidationFailureAnalyzerTests.java
...autoconfigure/metrics/ValidationFailureAnalyzerTests.java
+6
-4
WavefrontPropertiesTests.java
...re/metrics/export/wavefront/WavefrontPropertiesTests.java
+2
-2
No files found.
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/
MissingRequiredConfigur
ationFailureAnalyzer.java
→
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/
Valid
ationFailureAnalyzer.java
View file @
95798265
...
@@ -16,28 +16,30 @@
...
@@ -16,28 +16,30 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
;
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
;
import
io.micrometer.core.instrument.config.MissingRequiredConfigurationException
;
import
io.micrometer.core.instrument.config.validate.ValidationException
;
import
org.springframework.boot.diagnostics.AbstractFailureAnalyzer
;
import
org.springframework.boot.diagnostics.AbstractFailureAnalyzer
;
import
org.springframework.boot.diagnostics.FailureAnalysis
;
import
org.springframework.boot.diagnostics.FailureAnalysis
;
import
java.util.stream.Collectors
;
/**
/**
* An {@link AbstractFailureAnalyzer} that performs analysis of failures caused by a
* An {@link AbstractFailureAnalyzer} that performs analysis of failures caused by a
* {@link
MissingRequiredConfigur
ationException}.
* {@link
Valid
ationException}.
*
*
* @author Andy Wilkinson
* @author Andy Wilkinson
*/
*/
class
MissingRequiredConfigur
ationFailureAnalyzer
class
Valid
ationFailureAnalyzer
extends
AbstractFailureAnalyzer
<
MissingRequiredConfigur
ationException
>
{
extends
AbstractFailureAnalyzer
<
Valid
ationException
>
{
@Override
@Override
protected
FailureAnalysis
analyze
(
Throwable
rootFailure
,
MissingRequiredConfigurationException
cause
)
{
protected
FailureAnalysis
analyze
(
Throwable
rootFailure
,
ValidationException
cause
)
{
StringBuilder
description
=
new
StringBuilder
();
String
description
=
cause
.
getValidation
().
failures
().
stream
()
description
.
append
(
cause
.
getMessage
());
.
map
(
failure
->
"management.metrics.export."
+
failure
.
getProperty
()
+
" was '"
+
if
(!
cause
.
getMessage
().
endsWith
(
"."
))
{
(
failure
.
getValue
()
==
null
?
"null"
:
failure
.
getValue
().
toString
())
+
description
.
append
(
"."
);
"' but it "
+
failure
.
getMessage
()
+
"."
)
}
.
collect
(
Collectors
.
joining
(
"\n"
));
return
new
FailureAnalysis
(
description
.
toString
(),
return
new
FailureAnalysis
(
description
,
"Update your application to provide the missing configuration."
,
cause
);
"Update your application to provide the missing configuration."
,
cause
);
}
}
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticProperties.java
View file @
95798265
...
@@ -62,17 +62,17 @@ public class ElasticProperties extends StepRegistryProperties {
...
@@ -62,17 +62,17 @@ public class ElasticProperties extends StepRegistryProperties {
/**
/**
* Login user of the Elastic server.
* Login user of the Elastic server.
*/
*/
private
String
userName
=
""
;
private
String
userName
;
/**
/**
* Login password of the Elastic server.
* Login password of the Elastic server.
*/
*/
private
String
password
=
""
;
private
String
password
;
/**
/**
* Ingest pipeline name. By default, events are not pre-processed.
* Ingest pipeline name. By default, events are not pre-processed.
*/
*/
private
String
pipeline
=
""
;
private
String
pipeline
;
public
String
getHost
()
{
public
String
getHost
()
{
return
this
.
host
;
return
this
.
host
;
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java
View file @
95798265
...
@@ -46,8 +46,11 @@ public class GangliaProperties {
...
@@ -46,8 +46,11 @@ public class GangliaProperties {
/**
/**
* Base time unit used to report rates.
* Base time unit used to report rates.
*
* @deprecated No longer used by Micrometer.
*/
*/
private
TimeUnit
rateUnits
=
TimeUnit
.
SECONDS
;
@Deprecated
private
TimeUnit
rateUnits
;
/**
/**
* Base time unit used to report durations.
* Base time unit used to report durations.
...
@@ -56,8 +59,11 @@ public class GangliaProperties {
...
@@ -56,8 +59,11 @@ public class GangliaProperties {
/**
/**
* Ganglia protocol version. Must be either 3.1 or 3.0.
* Ganglia protocol version. Must be either 3.1 or 3.0.
*
* @deprecated No longer used by Micrometer.
*/
*/
private
String
protocolVersion
=
"3.1"
;
@Deprecated
private
String
protocolVersion
;
/**
/**
* UDP addressing mode, either unicast or multicast.
* UDP addressing mode, either unicast or multicast.
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories
View file @
95798265
...
@@ -105,4 +105,4 @@ org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChil
...
@@ -105,4 +105,4 @@ org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChil
org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration
org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration
org.springframework.boot.diagnostics.FailureAnalyzer=\
org.springframework.boot.diagnostics.FailureAnalyzer=\
org.springframework.boot.actuate.autoconfigure.metrics.
MissingRequiredConfigur
ationFailureAnalyzer
org.springframework.boot.actuate.autoconfigure.metrics.
Valid
ationFailureAnalyzer
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/
MissingRequiredConfigur
ationFailureAnalyzerTests.java
→
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/
Valid
ationFailureAnalyzerTests.java
View file @
95798265
...
@@ -30,18 +30,20 @@ import static org.assertj.core.api.Assertions.assertThat;
...
@@ -30,18 +30,20 @@ import static org.assertj.core.api.Assertions.assertThat;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
fail
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
fail
;
/**
/**
* Tests for {@link
MissingRequiredConfigur
ationFailureAnalyzer}.
* Tests for {@link
Valid
ationFailureAnalyzer}.
*
*
* @author Andy Wilkinson
* @author Andy Wilkinson
*/
*/
class
MissingRequiredConfigur
ationFailureAnalyzerTests
{
class
Valid
ationFailureAnalyzerTests
{
@Test
@Test
void
analyzesMissingRequiredConfiguration
()
{
void
analyzesMissingRequiredConfiguration
()
{
FailureAnalysis
analysis
=
new
MissingRequiredConfigur
ationFailureAnalyzer
()
FailureAnalysis
analysis
=
new
Valid
ationFailureAnalyzer
()
.
analyze
(
createFailure
(
MissingAccountIdConfiguration
.
class
));
.
analyze
(
createFailure
(
MissingAccountIdConfiguration
.
class
));
assertThat
(
analysis
).
isNotNull
();
assertThat
(
analysis
).
isNotNull
();
assertThat
(
analysis
.
getDescription
()).
isEqualTo
(
"accountId must be set to report metrics to New Relic."
);
assertThat
(
analysis
.
getDescription
()).
isEqualTo
(
"management.metrics.export.newrelic.apiKey was 'null' but it is required when publishing to Insights API.\n"
+
"management.metrics.export.newrelic.accountId was 'null' but it is required when publishing to Insights API."
);
assertThat
(
analysis
.
getAction
()).
isEqualTo
(
"Update your application to provide the missing configuration."
);
assertThat
(
analysis
.
getAction
()).
isEqualTo
(
"Update your application to provide the missing configuration."
);
}
}
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontPropertiesTests.java
View file @
95798265
...
@@ -16,12 +16,14 @@
...
@@ -16,12 +16,14 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
wavefront
;
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
wavefront
;
import
io.micrometer.core.instrument.config.validate.ValidationException
;
import
io.micrometer.wavefront.WavefrontConfig
;
import
io.micrometer.wavefront.WavefrontConfig
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.actuate.autoconfigure.metrics.export.properties.PushRegistryPropertiesTests
;
import
org.springframework.boot.actuate.autoconfigure.metrics.export.properties.PushRegistryPropertiesTests
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThatThrownBy
;
/**
/**
* Tests for {@link WavefrontProperties}.
* Tests for {@link WavefrontProperties}.
...
@@ -36,8 +38,6 @@ class WavefrontPropertiesTests extends PushRegistryPropertiesTests {
...
@@ -36,8 +38,6 @@ class WavefrontPropertiesTests extends PushRegistryPropertiesTests {
WavefrontConfig
config
=
WavefrontConfig
.
DEFAULT_DIRECT
;
WavefrontConfig
config
=
WavefrontConfig
.
DEFAULT_DIRECT
;
assertStepRegistryDefaultValues
(
properties
,
config
);
assertStepRegistryDefaultValues
(
properties
,
config
);
assertThat
(
properties
.
getUri
().
toString
()).
isEqualTo
(
config
.
uri
());
assertThat
(
properties
.
getUri
().
toString
()).
isEqualTo
(
config
.
uri
());
// source has no static default value
assertThat
(
properties
.
getApiToken
()).
isEqualTo
(
config
.
apiToken
());
assertThat
(
properties
.
getGlobalPrefix
()).
isEqualTo
(
config
.
globalPrefix
());
assertThat
(
properties
.
getGlobalPrefix
()).
isEqualTo
(
config
.
globalPrefix
());
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment