Commit Graph

758 Commits (f2d27047e227b55ad72fa47610b869ec12a029dd)

Author SHA1 Message Date
Andy Wilkinson 2b22b23aad Polish 6 years ago
Andy Wilkinson 1c4a26557c Polish 6 years ago
Andy Wilkinson c1bbcb6908 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 4bc32e6358 Use a HandlerInterceptor for timing long tasks
Closes gh-15204
6 years ago
Andy Wilkinson 5a246ce24d Merge branch '2.0.x' 6 years ago
Andy Wilkinson 8772f90e2f Polish 6 years ago
Andy Wilkinson 1797040e1a Merge branch '2.0.x' 6 years ago
Andy Wilkinson a54de61e61 Polish
Revert change inadvertently committed as part of gh-15017
6 years ago
Andy Wilkinson deeb961c6e Merge branch '2.0.x' 6 years ago
Andy Wilkinson 1f39b5dd7a Align MeterRegistryConfigurer's javadoc with its implementation
Closes gh-15017
6 years ago
Phillip Webb dbf09de203 Merge branch '2.0.x' 6 years ago
Phillip Webb e87664f295 Add JettyAccessLogCustomizer
Add a `JettyAccessLogCustomizer` to customize management access logs
when the management server is running on a different port.

Closes gh-15041
6 years ago
Phillip Webb c64a007e12 Format POM file 6 years ago
Brian Clozel 8e86bcafc1 Improve actuator endpoint mapping debug logging
Closes gh-14292
6 years ago
dreis2211 3b4b0641d9 Polish some Map operations
Closes gh-15153
6 years ago
Johnny Lim fd5aa3ebf1 Polish
See gh-15134
6 years ago
Stephane Nicoll 2c3b455b8b Merge branch '2.0.x' 6 years ago
Johnny Lim 8470d649bc Polish
See gh-15134
6 years ago
Stephane Nicoll f42a653604 Merge branch '2.0.x' 6 years ago
Stephane Nicoll f5ba9952db Make UndertowAccessLogCustomizer conditional on class
Closes gh-15065
6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
Andy Wilkinson 290e8886c9 Polish "Handle StepRegistry connect/read timeout deprecation"
Closes gh-14886
6 years ago
artsiom fe63342f52 Handle StepRegistry connect/read timeout deprecation
See gh-14886
6 years ago
Andy Wilkinson de674db454 Merge branch '2.0.x' 6 years ago
dreis2211 62ca9e47b8 Use MeterRegistry.isClosed() for tests
Closes gh-14975
6 years ago
dreis2211 fb03139c59 Fix MetricsAutoConfigurationTests
Closes gh-14972
6 years ago
Phillip Webb c393f6262e Merge branch '2.0.x' 6 years ago
Phillip Webb 33c7a74bee Update copyright year for changed files 6 years ago
Vedran Pavic 6e967fe860 Upgrade to Hazelcast 3.11
Closes gh-14949
6 years ago
dreis2211 4857b45ea5 Replace lambdas with method reference or call
Closes gh-14937
6 years ago
Andy Wilkinson 4d9714a0cb Start building against Micrometer snapshots for 1.1.0
See gh-14890
6 years ago
Andy Wilkinson cefc7842d6 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 9b8ead825c Polish 6 years ago
Andy Wilkinson 3177584588 Back off auto-config of Log4J2Metrics when context is backed by SLF4J
Closes gh-14883
6 years ago
Johnny Lim c8c3f59e93 Polish
Closes gh-14884
6 years ago
Stephane Nicoll 474da80b4d Revert "Restructure of security packages"
See gh-14412
6 years ago
Stephane Nicoll fd0e8815b1 Polish 6 years ago
Stephane Nicoll 5f2517f889 Auto-configure AppOptics metrics
Closes gh-14819
6 years ago
Stephane Nicoll 134682a7de Add error metadata for properties removed recently 6 years ago
Andy Wilkinson bd0a41d82d Merge branch '2.0.x' 6 years ago
Andy Wilkinson d4cad5e916 Polish "Servlet path not explicitly required for EndpointRequest"
Closes gh-14503
6 years ago
Madhura Bhave 0fd873f0f9 Servlet path not explicitly required for EndpointRequest 6 years ago
Andy Wilkinson 98d95268e1 Align with changes to CouchbaseReactiveHealthIndicator
Closes gh-14799
6 years ago
Johnny Lim 7f9671fd14 Polish
Closes gh-14843
6 years ago
Hanope c3f3240e2c Fix typos
closes gh-14844
6 years ago
Phillip Webb 29707bf75a Complete restructure of security packages
Complete the restructuring of the security auto-configuration
packages by removing the direct import of web configuration from
the main security auto-configuration.

Closes gh-14412
6 years ago
Madhura Bhave f835f82582 Preliminary restructure of security packages
Restructure the security auto-configuration packages to better reflect
the part of the system that the configuration applies to.

See gh-14412
6 years ago
Phillip Webb d558a1a762 Merge branch '2.0.x' 6 years ago
Phillip Webb 8ecb659a35 Deprecate SecurityPrerequisite
Deprecate `SecurityPrerequisite` interface since we don't support it
in Spring Boot 2.

Closes gh-14846
6 years ago
Phillip Webb 6b37d87497 Allow multiple endpoint PathMapper beans
Update `WebEndpointDiscoverer` and related classes to that multiple
`PathMapper` beans can be registered. Mappers are now tried in order
until one returns a non-null value.

Closes gh-14841
6 years ago
Phillip Webb f0f999a27d Merge branch '2.0.x' 6 years ago
Phillip Webb 5d219bcd19 Polish 6 years ago
Phillip Webb 734e9e4b74 Merge branch '2.0.x' 6 years ago
Phillip Webb b25e222136 Retain original case when mapping endpoint paths
Update `MappingWebEndpointPathMapper` to keep the original case rather
than using a lower-case version.

Closes gh-14773
6 years ago
Stephane Nicoll e901a0bd0e Merge branch '2.0.x' 6 years ago
Stephane Nicoll 935d621a42 Fix mapping of Wavefront base properties
Closes gh-14839
6 years ago
Stephane Nicoll 94b2092218 Add base test for StepRegistryPropertiesConfigAdapter 6 years ago
Andy Wilkinson 1e2d5a1382 Auto-configure Micrometer's HumioMeterRegistry
Closes gh-14804
6 years ago
Stephane Nicoll edf4045c3b Add missing tests for Kairos config adapter
Closes gh-14821
6 years ago
Andy Wilkinson e53e8bf79f Merge branch '2.0.x' 6 years ago
Andy Wilkinson 0fedf8d2af Keep Liquibase-specific DataSource open for use by LiquibaseEndpoint
Closes gh-13832
6 years ago
Andy Wilkinson a4eb636913 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 6d98851fb5 Use Couchbase's DiagnosticsReport to determine its health
Previously, Couchbase's health was determined by retrieving the bucket info
from the cluster info. This retrieval could take over one minute in some
cases even when Couchbase is health. This latency is too large for a health
check.

The Couchbase team have recommended the of a Cluster#diagnostics instead.
This provides a much lower latency view of the cluster's health. This
commit updates CouchbaseHealthIndicator to use Cluster#diagnostics while
retaining support, in a deprecated form, for the old info-based mechanism
should anyone want to opt back into that in 2.0.x.

Closes gh-14685
6 years ago
Stephane Nicoll 89349c6eb9 Auto-configure KairosDB metrics
Closes gh-14821
6 years ago
Stephane Nicoll 1a0d53dec0 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14696
6 years ago
Phillip Webb 18319ac276 Remove deprecated Endpoint ID methods
See gh-14773
6 years ago
Phillip Webb 1bf97e9b5e Merge branch '2.0.x' 6 years ago
Phillip Webb a00ee15e16 Use lowercase default endpoint paths
Update `MappingWebEndpointPathMapper` to use the lowercase version of
the endpoint ID when no explicit path mapping has been set. An endpoint
with the ID 'myEndpoint' will now be mapped to the path 'myendpoint'.

See gh-14773
6 years ago
Phillip Webb df5dfbf4be Support mixed case endpoint includes/excludes
Update `ExposeExcludePropertyEndpointFilter` so that mixed case
endpoint IDs are supported. Prior to this commit it was not easy for
an endpoint to be missed by the filter due to the formatting of the
property value.

See gh-14773
6 years ago
Phillip Webb 674a909bab Support mixed case endpoint IDs with enabled
Update `OnEnabledEndpointCondition` so that mixed case endpoint IDs
are supported. Prior to this commit an
`InvalidConfigurationPropertyNameException` would be thrown when trying
to enabled or disable an endpoint with a camel case ID.

See gh-14773
6 years ago
Phillip Webb 138d85477d Support mixed case endpoint IDs with time-to-live
Update the endpoint time-to-live binding logic so that mixed case
endpoint IDs are supported. Prior to this commit an
`InvalidConfigurationPropertyNameException` would be thrown when using
a camel case endpoint ID.

See gh-14773
6 years ago
Phillip Webb 3105a38884 Introduce EndpointID to enforce naming rules
Add an `EndpointID` class to enforce the naming rules that we support
for actuator endpoints. We now ensure that all endpoint names contain
only letters and numbers and must begin with a lower-case letter.

Existing public classes and interfaces have been changes so that String
based `endpointId` methods are deprecated and strongly typed versions
are preferred instead. A few public classes that we're not expecting
to be used directly have been changed without deprecated methods being
introduced.

See gh-14773
6 years ago
Phillip Webb c5786c218d Polish 6 years ago
Andy Wilkinson 7ad94299d6 Stop relying on server customizer ordering for Tomcat metrics binding
Closes gh-14784
6 years ago
Andy Wilkinson 2b11ee4389 Auto-configure binding of Micrometer's JettyServerThreadPoolMetrics
Closes gh-14591
6 years ago
Madhura Bhave 6df9555d6a Update micrometer tests following upstream changes 6 years ago
Stephane Nicoll 0ff1b25f52 Polish "Improve Micrometer histogram properties support"
Closes gh-14139
6 years ago
Alexander Abramov c1c79ab1c2 Improve Micrometer histogram properties support
This commit adds configuration properties for Micrometer histogram
settings: "minimumExpectedValue" and "maximumExpectedValue".

See gh-14139
6 years ago
Andy Wilkinson 19232ad87a Merge branch '2.0.x' 6 years ago
Andy Wilkinson 861587ec78 Allow @ConditionalOnEnabledEndpoint to be used on any component
Closes gh-14787
6 years ago
Andy Wilkinson 5e3b5ae14f Polish
See gh-14780 and gh-14467
6 years ago
Andy Wilkinson 5f0d7dd6c7 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 2a2908e74e Order MeterFilters and MeterRegistryCustomizers
Closes gh-14780
6 years ago
Phillip Webb 60719bd982 Upgrade to Dropwizard Metrics 4.0.3
Closes gh-14428
6 years ago
Andy Wilkinson 2216b78f1e Merge branch '2.0.x' 6 years ago
Andy Wilkinson d3b3c8c64e Honour management.metrics.web.server.auto-time-requests with WebFlux
Closes gh-13895
6 years ago
Stephane Nicoll 7da3396555 Merge branch '2.0.x' 6 years ago
dreis2211 55ec016bac Remove unused fields in tests
Closes gh-14707
6 years ago
Phillip Webb 20ecf73cd1 Polish "Add Prometheus push gateway support"
Rework Prometheus push gateway support so that the central class can
be used outside of auto-configuration. The shutdown flags have also
been replaced with a single "shutdown-operation" property since it's
unlikely that both "push" and "delete" will be required.

It's also possible now to supply a `TaskScheduler` to the manager.

See gh-14353
6 years ago
David J. M. Karlsen 4e71981f77 Add Prometheus push gateway support
Add support for Prometheus push gateway so that short lived processes
(for example batch jobs) can still submit metrics to Prometheus.

Closes gh-14353
6 years ago
Stephane Nicoll 35752a54d2 Adapt to latest change in Micrometer 1.1 6 years ago
Phillip Webb 01b8667dd7 Update copyright year for changed files 6 years ago
Andy Wilkinson 72e2313fe8 Polish "Auto-configure Micrometer's Jersey 2 server instrumentation"
Closes gh-12482
6 years ago
Michael Weirauch dd126faf5a Auto-configure Micrometer's Jersey 2 server instrumentation
See gh-12482

Co-authored-by: Michael J. Simons <michael@simons.ac>
6 years ago
Stephane Nicoll bdd8e53124 Improve filtering of actuator auto-configurations
This commit splits auto-configurations that require different
environments so that they can be filtered early.

Closes gh-12260
6 years ago
Stephane Nicoll 91b4dc2f69 Polish "Add reactive health indicator for Couchbase"
Closes gh-13926
6 years ago
Mikalai Lushchytski 20ff0d97e4 Add reactive health indicator for Couchbase
See gh-13926
6 years ago
Andy Wilkinson c9da881322 Polish "Drop support for "all" from management.metrics.distribution.sla"
Closes gh-14684
6 years ago
artsiom ccb964e886 Drop support for "all" from management.metrics.distribution.sla
See gh-14684
6 years ago
Andy Wilkinson ef7c2bc6ea Merge branch '2.0.x' 6 years ago
Andy Wilkinson e7f100d5d7 Improve test coverage of PropertiesMeterFilter
Closes gh-14689
6 years ago
Stephane Nicoll 5d0e812afe Merge branch '2.0.x' 6 years ago
Stephane Nicoll 1b10d3fcbf Fix missing metadata for nested POJO
This commit fixes missing descriptions and default values when
applicable for `management.server.ssl`, `server.compression`,
`server.http2`, `server.servlet.jsp`, `server.servlet.session` and
`server.ssl`.

Those nested namespace are managed by a POJO that is declared outside
of the module of the target @ConfigurationProperties type using it. As
a result, the annotation processor has no access to the source model and
can't extract the description and the default value, if any.

This commit migrates the misleading field-level Javadoc to manual meta
data for the time being.

Closes gh-14669
6 years ago
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
6 years ago
Johnny Lim 1e756db966 Use Commons Logging for OnlyOnceLoggingDenyMeterFilter
Closes gh-14637
6 years ago
Johnny Lim 698bbd6a9e Polish
Closes gh-14597
6 years ago
Hanope e5ed5ebf8b Fix "Query Parameters" section name
Closes gh-14600
6 years ago
Stephane Nicoll 5765ed00e8 Polish 6 years ago
Andy Wilkinson 6e00d13d68 Polish 6 years ago
Andy Wilkinson 4c3e2d10d1 Auto-configure Micrometer's Elastic registry
Closes gh-14523
6 years ago
Andy Wilkinson 95ecbc736b Update example for disk space health indicator to use DataSize
See gh-14549
6 years ago
Stephane Nicoll 47f9379305 Adapt to changes in latest Micrometer snapshot
See gh-14522
6 years ago
Andy Wilkinson 977f8b4479 Auto-configure Micrometer's Kafka consumer metrics
Closes gh-14525
6 years ago
Stephane Nicoll cbae22f0c9 Polish "Migrate size properties to DataSize"
Closes gh-14549
6 years ago
Andy Wilkinson 258c4838b1 Auto-configure Micrometer's Log4j2 metrics
Closes gh-14524
6 years ago
Andy Wilkinson fe75f966ff Auto-configure Micrometer's Dynatrace meter registry
Closes gh-14522
6 years ago
Andy Wilkinson 426ff3ada7 Store ObjectProvider rather than their Streams to allow reuse
Generally speaking, methods on configuration classes will only be called once
and, therefore, it should be safe to hold a reference to a Stream for later
one-time usage. However, there are some scenarios in Spring Fu where functional
registration results in an attempt being made to use a Stream more than use.

This commit protects against multiple use by storing the ObjectProvider and
getting a new ordered Stream each time it's needed.

Closes gh-14467
6 years ago
Andy Wilkinson cc6cf880cf Stop using ObjectProvider<List> and ObjectProvider<Collection>
Closes gh-14467
6 years ago
Phillip Webb bb19d5690c Fix spring-boot-actuator-autoconfigure test logs
Add log4j to `spring-boot-actuator-autoconfigure` test scope so that
we get valid log output.

See gh-14148
6 years ago
Madhura Bhave 6c1915e81f Merge branch '2.0.x' 6 years ago
Madhura Bhave 7af6665a0e Ignore management.server.port for war
Fixes gh-14148
6 years ago
Stephane Nicoll a170bfcc76 Deprecate micrometer meter's enabled flags
This commit deprecates the few 'enabled' flags that control whether
certain meter binders are registered in the context.

Metrics auto-configuration for the JVM, Logback and System-related
information have been moved to individual auto-configurations so that
they can be excluded rather than using the now deprecated flag.

This harmonizes our policy with regards to disabling behaviour,
especially since other similar auto-configurations do not have such
flag.

Closes gh-13408
6 years ago
Stephane Nicoll 45ef926a90 Merge branch '2.0.x' 6 years ago
Stephane Nicoll ff8b8c55c6 Remove reference to "management.metrics.binders.integration.enabled"
Closes gh-14319
6 years ago
Phillip Webb c3de4c84f2 Polish 6 years ago
Madhura Bhave f0d7533e0b Merge branch '2.0.x' 6 years ago
Madhura Bhave 9c82d5c382 Make ApplicationContextServerWebExchangeMatcher and subclasses thread-safe
Fixes gh-14161
6 years ago
Andy Wilkinson 8ee4775820 Polish 6 years ago
Stephane Nicoll 1ceb076035 Harmonize Metrics test
This commit harmonizes metrics test to rely on `MetricRun.simple()`
rather than configuring a simple `MeterRegistry` manually. Rather than
applying related auto-configurations automatically, `MetricsRun` only
enable the absolute minimum.

See gh-14255
6 years ago
Stephane Nicoll 3d732e86f4 Merge branch '2.0.x' 6 years ago
Johnny Lim ca57e58ee5 Polish
See gh-14293
6 years ago
Stephane Nicoll 4634811c7c Polish 6 years ago
Stephane Nicoll 7bee9dfc22 Harmonize HTTP client metrics
This commit harmonizes the auto-configurations for RestTemplate and
WebClient in a single `HttpClientMetricsAutoConfiguration`. Doing so
allows to give a better scope for the shared `MeterFilter`.

As a result`WebClientMetricsAutoConfiguration` has moved to the `client`
package.

Closes gh-14269
6 years ago
Stephane Nicoll 6c26315cd1 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 0625443d27 Polish "Limit metrics collection of incoming requests"
Closes gh-14173
6 years ago
Dmytro Nosan 81a6701914 Limit metrics collection of incoming requests
See gh-14173
6 years ago
dreis2211 422a436df1 Polish some Collectors
See gh-13727
6 years ago
Stephane Nicoll dd9209c7d9 Merge branch '2.0.x' 6 years ago
Stephane Nicoll 000cb94323 Polish "Fix String concatenation in a loop"
Closes gh-14153
6 years ago
Hiroaki Yoshida 43acc37587 Fix String concatenation in a loop
See gh-14153
6 years ago
Stephane Nicoll f5d922c712 Upgrade to Spring Integration 5.1.0.M2
Upgrade to M2 broke a test that was looking for a particular bean that
is configured by Spring Integration (`HeaderChannelRegistry`).

It looks like INT-4517 is related to the regression as it registers the
bean too late for the auto-configuration to see it.

This commit changes the condition to a more central bean that is created
very early on.

Closes gh-14142
6 years ago
Stephane Nicoll b60fbe5a1f Merge branch '2.0.x' 6 years ago
Stephane Nicoll b0d388830f Polish test 6 years ago
Vedran Pavic 644ab5f3e4 Align SessionsEndpoint with Spring Session API improvements
This commit aligns SessionsEndpoint with
FindByIndexNameSessionRepository API improvements that simplifies
retrieval of sessions by principal name.

Closes gh-14124
6 years ago
Madhura Bhave d724f154f4 Merge branch '2.0.x' 6 years ago
Madhura Bhave b93c2b9a9f Allow actuator endpoints to be used with mvcMatchers
This commit changes AbstractWebMvcEndpointHandlerMapping to
be a MatchableHandlerMapping. Additionally, EndpointRequest,
now delegates to MvcRequestMatcher for Spring MVC applications.

For all other applications, AntPathRequestMatcher is used as
a delegate.

Closes gh-13962
6 years ago
Johnny Lim 101cc59b7d Polish
Closes gh-14023
6 years ago
Stephane Nicoll a12ca0a0dc Merge branch '2.0.x' 6 years ago
Stephane Nicoll a023bd030a Add configurable timeout for Couchbase health indicator
This commit makes sure to use a configurable timeout to check if the
Couchbase cluster is up, rather than relying on the default that can be
quite long.

Closes gh-13879
6 years ago
Stephane Nicoll 14a9ec8711 Polish 6 years ago